C++面向对象程序设计:银行储蓄管理系统
题目描述:
设计一个银行储蓄管理系统,以菜单方式工作。
功能需求:
(1)设计一个账户类Account,包括户名、密码、电话、余额等信息。
(2)为新用户开户。
(3)为老用户销户、挂失。
(4)可以办理存取款操作。
(5)可以查询每笔历史交易记录。
程序设计:
#include<iostream>>
#include <string>
using namespace std;
class Bank;
void menu(Bank &);class Account {private:string name; //户名string ID; //账号string mima; //密码double yue; //余额bool isLost=false;//挂失功能public:string record="";Account(string i,string n,double y,string m) {ID =i;name =n;yue =y;mima =m;}string getID() {return ID;}string getMi() {return mima;} //挂失void setLost(bool state) {isLost=state;}bool getLost() {return isLost;}void showInfo() {cout << "储户账号:" << ID << endl;cout << "储户姓名:" << name << endl;cout << "储户余额" << yue << endl;cout<<"历史交易记录:"<<endl;cout<<record;}void saving(double a) {yue =yue +a;record=record+"save:\n";}bool qukuan(double a) {if(yue <a) {cout<<"余额不足"<<endl;return 0;} else {yue -= a;cout << "取款成功" << endl;record=record+"get:\n";return 1;}}};
class Bank {private:int accountNumber;Account *account[100]; //用户个数上限public:Bank() {accountNumber =0;}void createaccount() { //实现开户功能string ID,name,mima;double yue;char choice;
here:cout<<"请输入您的账号"<<endl;cin>>ID;cout<<endl;//检查账户是否已存在for(int i = 0; i<accountNumber; i++) {if(account[i]->getID()==ID) {cout<<"该账户已存在,请重新输入!"<<endl;goto here;}}cout<<"请输入您的用户名"<<endl;cin>>name;cout<<"请输入您的密码"<<endl;cin>>mima;cout<<"您是否要预存款?(Y/N)"<<endl;cin>>choice;if(choice=='Y'||choice=='y') {cout<<"- 存入金额 : ";cin>>yue;} elseyue=0;Account *a=new Account(ID,name,yue,mima); //传送用户数据account[accountNumber++]=a;cout <<"当前已有储户"<<accountNumber<< endl;cout<<"创建成功"<<endl;}void deleteaccount() { //实现销户功能int i;string id,m;cout<<"请输入您的账号\n";cin>>id;cout<<"请输入您的密码\n";cin>>m;cout<<"请问您是否确认销户?(Y/N)";char thisChoice;cin>> thisChoice;if(thisChoice!='Y' && thisChoice!='y')return;cout <<"您要注销的账户为:"<<id<< endl;for(i = 0; i<accountNumber; i++) {//删除用户if(account[i]->getID()==id&&account[i]->getMi()==m) {Account * temp= account[i];account[i]=account[accountNumber-1];account[accountNumber-1]=temp;delete account[--accountNumber];cout<<"删除成功"<<endl;return;}}cout<<"不存在该用户或密码错误!"<<endl;}void guashi() {//实现挂失功能int i;string id,m;cout<<"请输入您的账号\n";cin>>id;cout<<"请输入您的密码\n";cin>>m;cout<<"请问您是否确认挂失?(Y/N)";char thisChoice;cin>> thisChoice;if(thisChoice!='Y' && thisChoice!='y')return;cout <<"您要挂失的账户为:"<<id<< endl;for(i = 0; i<accountNumber; i++) {//删除用户if(account[i]->getID()==id&&account[i]->getMi()==m) {account[i]->setLost(true);cout<<"挂失成功"<<endl;return;}}cout<<"不存在该用户或密码错误!"<<endl;}void cunkuan() { //实现存款功能double money;double yue;string id,m;int i;cout<<"请输入您要存入的账户";cin>>id;cout<<"请输入您的密码\n";cin>>m;cout<<"请输入您要存入的金额";cin>>money;for(i =0; i<accountNumber; i++) {if(account[i]->getID()==id&&account[i]->getMi()==m) {//调用存款函数存款account[i]->saving(money);cout<<"存款成功";cout<<endl;account[i]->showInfo();return;}}cout << "存款失败" << endl;}void quqian() { //实现取款功能int i;string id,m;double money;cout<<"请输入您的账户"<<endl;cin>>id;cout<<"请输入您的密码"<<endl;cin>>m;cout<<"请输入取款金额"<<endl;cin>>money;for(i =0; i<accountNumber; i++) {//如果挂失了,是无法取款的if(account[i]->getID() ==id&&account[i]->getMi()==m&&!account[i]->getLost()) {bool rs=account[i]->qukuan(money);//如果取款成功if(rs) {account[i]->showInfo();return;} else {cout<<"账户余额不足"<<endl;return;}}}cout<<"失败"<<endl;}void check() { //查询 int i;string id,m;double money;cout<<"请输入您的账户"<<endl;cin>>id;cout<<"请输入您的密码"<<endl;cin>>m;for(i=0; i<accountNumber; i++) {if(account[i]->getID()==id&&account[i]->getMi()==m) {account[i]->showInfo();return;}}if(i ==accountNumber) {cout<<"没找到"<<endl;}}};
void menu() {int m;Bank b;while(1) {system("cls");cout<<"----------欢迎来到此银行-----------"<<endl;cout<<"----------请选择您的业务-------------"<<endl;cout<<"-----------1、开户-------------------"<<endl;cout<<"-----------2、销户-------------------"<<endl;cout<<"-----------3、存款-------------------"<<endl;cout<<"-----------4、取钱-------------------"<<endl;cout<<"-----------5、查询-------------------"<<endl;cout<<"-----------6、挂失-------------------"<<endl;cout<<"-----------7、退出-------------------"<<endl;cin>>m;switch(m) {case 1:b.createaccount();system("pause");break;case 2:b.deleteaccount();system("pause");break;case 3:b.cunkuan();system("pause");break;case 4:b.quqian();system("pause");break;case 5:b.check();system("pause");break;case 6:b.guashi(); return;case 7:return; default:cout << "输入有误,请重新输入" << endl;break;}}
}int main() {menu();return 0;
}
程序运行演示:
C++面向对象程序设计:银行储蓄管理系统相关推荐
- 银行储蓄管理系统 课程设计
一.问题描述 随着经济的加速发展,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行账户信息管理,提高银行的工作效率和业务竟争能 ...
- C#——Windows银行储蓄管理系统
在银行储蓄管理系统中,普通帐户(Account)和VIP账号(VipAccount)都包含账户(CreditNo),余额(Balance)等基本数据信息,都提供创建帐户,存款(Withdtaw),取款 ...
- QT银行储蓄管理系统
QT银行储蓄管理系统 银行储蓄管理系统 该系统需创建和管理以下信息: 1.储户信息:帐号.姓名.密码.地址.储种(定 期 1 年.3 年.5 年).利息(1 年到期利率 1.98%:3 年到期利率 2 ...
- 银行账户管理系统c语言链表,课程设计银行储蓄管理系统Word版
<课程设计银行储蓄管理系统Word版>由会员分享,可在线阅读,更多相关<课程设计银行储蓄管理系统Word版(22页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 ...
- 银行储蓄管理系统的设计与实现
摘要 随着金融业的发展,手工操作和旧的管理模式已经严重制约了质量和效率的问题,用计算机管理来代替手工管理是非常必要的.本文主要介绍了银行管理系统的方案论证.结构特性设计及行为特性设计的实现过程,详细论 ...
- 面向对象程序设计——银行ATM机系统
文章目录 针对于面向对象设计--做一个简单的银行ATM机系统 ATM机需求分析 用户类 ATM机类 银行类 注册操作的大概流程 登录操作的大概流程 用户类代码 ATM机类代码 bank类代码(主类) ...
- 基于java+springmvc+mysql的银行储蓄管理系统
系统介绍: 系统包括用户登录注册,存款,取款,查询,交易记录,个人信息,修改信息,注销,挂失,退出登录等功能 功能演示:
- 《数据结构课程设计》 活期储蓄管理系统 实验报告
<数据结构课程设计> 题目1:活期储蓄管理系统 学生姓名 胡泳行 所在专业 信息管理与信息系统专业 所在班级 信管1134班 任课老师 易学明 实习时间 2015年 1月 4 日 指导 ...
- 《面向对象程序设计》
<面向对象程序设计> 课程大作业 目 录 ( 2021 / 2022学年 第二学期). 1 第一章 绪论. 1 1.1面向对象程序特点与目标. 1 1.2面向对象程序知识架构. 1 第 ...
- 44 面向对象程序设计原则
问题: 面向对象程序设计原则有哪些? 答案: (1)单一职责原则(Single Responsibility Principle):如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责.而 ...
最新文章
- XMLHttpRequest Object
- 网站无法响应HTTP/1.1
- Windows内核实验004 API调用
- java时间戳动态,是否可以根据窗口元素的时间戳动态生成BigQuery表名?
- leetcode-581-Shortest Unsorted Continuous Subarray
- 大学计算机科学不会编码,华中科技大学人员编号编码管理办法
- HappyLeetcode64:Sqrt(x)
- (案例篇)日志易:IT运维分析及海量日志搜索的实践之路(下)
- 图(深度优先遍历、广度优先遍历)
- Excel表格怎么随机打乱顺序
- java 阴阳历,java阳历转换成阴历
- 负载均衡器之F5和Nginx
- DBCO-PALA-g-PEG DBCO-聚硫辛酸-聚乙二醇
- C#版 - Leetcode 306. 累加数 - 题解
- 【夜读】让自己更幸福的8件小事
- 源码学习 - 【FreeRTOS】PRIVILEGED_FUNCTION 含义理解
- Python核心编程(一)
- Windows更新网站被黑还是被ARP病毒捉弄了?Virus.Win32.AutoRun.am
- 技术评审中常见的一些问题
- RNN实践之唐诗创作
热门文章
- 厦门大学和福州大学计算机专业哪个好,福建最好的5所大学,除了厦门大学,你还知道哪所大学?...
- 深恶痛绝的No mapping found for HTTP request with URI
- Rivaple 江枫 MC服务器文档(创新生存部分)
- Python OS模块操作文件目录
- 月下夜想曲200.6(攻略3)
- PDF文件怎么加密?这两种加密方法很靠谱
- 09 conventional exercise
- LQ0264 鲁卡斯队列【精度计算】
- 21天刷题计划之2.1—禁忌雷炎(Java语言描述)
- DiyTomcat系列一、序言及项目架构