C++:模拟银行储蓄系统

编程入门 行业动态 更新时间:2024-10-25 12:27:30

C++:模拟<a href=https://www.elefans.com/category/jswz/34/1770221.html style=银行储蓄系统"/>

C++:模拟银行储蓄系统

1、设计并实现一个简单的银行储蓄系统,完成活期和定期用户的存款和取款业务。

2、实现描述银行的类,记录系统中现有哪些储户(提示:可用对象数组实现,但须注意判断数组越界的情况),该类中要求包含三个函数:(1)生成新储户的函数;(2)按照账户删除储户的函数;(3)按照账户查询储户的函数,要求显示查询结果。

3、定义储户类。其属性包含账号,存款人姓名、身份证号、地址、存款余额;其操作有存款、取款、显示储户信息。

4、编写main()函数,测试上述所要求的各项功能。

设计简单的菜单界面,以供功能选择。
#include <iostream>
#include <string>
#include<string.h>
using namespace std;
//定义储户类。其属性包含账号,存款人姓名、身份证号、地址、存款余额;其操作有存款、取款、显示储户信息。
class Account
{
private:string Account_name;//账号string pwd;string name;//存款人姓名double balance ;//余额char ID[19];string adress;
public:Account(string a,string p,string b,double bal,char id[18],string ad){Account_name = a;//用户账号pwd=p;//密码name = b;//姓名balance = bal;//余额ID[19]=id[19];//身份证号adress=ad;//地址}//存款virtual void saving(double a);//取款virtual void withdrow(double a);//显示账户信息virtual void showme();string getId(){return Account_name;}
};
void Account::saving(double a){balance = balance + a;cout<<"已存入"<<a<<"元"<<endl;
}
void Account::withdrow(double a){if(a > balance)cout<<"余额不足"<<endl;else{balance = balance - a;cout << "已取出" << a << "元" <<endl;}
}
void Account::showme(){cout << "用户账号为" << Account_name << endl;cout << "用户密码为" << pwd << endl;cout << "开户人姓名" << name <<endl;cout << "账户余额为" << balance <<"元"<<endl;
}
//定义活期储户类
class CurrentAccount:public Account
{
private:string Account_name;//账号string pwd;string name;//存款人姓名double balance ;//余额char ID[19];string adress;
public:CurrentAccount(string a,string p,string b,double bal,char id[18],string ad):Account(a,p,b,bal,id,ad){}
};
//定义定期储户类
class RegularAccount:public Account
{
private:string Account_name;//账号string pwd;string name;//存款人姓名double balance ;//余额char ID[19];string adress;string deposit_time;//存款时间string withdrawal_time;//取款时间
public:RegularAccount(string a,string p,string b,double bal,char id[18],string ad,string depo,string with):Account(a,p,b,bal,id,ad){Account_name = a;//用户账号pwd=p;name = b;//姓名balance = bal;//余额ID[19]=id[19];//身份证号adress=ad;//地址deposit_time=depo;withdrawal_time=with;}void showme(){cout << "用户账号为" << Account_name << endl;cout << "用户密码为" << pwd << endl;cout << "开户人姓名" << name <<endl;cout << "账户余额为" << balance <<"元"<<endl;cout<<"定期存储存款时间为:"<<deposit_time<<endl<<"定期存储取款时间为:"<<withdrawal_time<<endl;}
};
//实现描述银行的类,记录系统中现有哪些储户(提示:可用对象数组实现,但须注意判断数组越界的情况),
//该类中要求包含三个函数:(1)生成新储户的函数;(2)按照账户删除储户的函数;
//(3)按照账户查询储户的函数,要求显示查询结果。
class Bank
{
private:int accNum;//累加计数器double Balance;
public:Account *account[100];Bank(){for(int i = 0;i < 100 ; i++ ){account[i] = NULL;}accNum = 0;}void RegularAppend(){string str1,str2,str3,adre,deposit_time,withdrawal_time;double balan;char id[19];cout<<"---------定期存储储户录入---------"<<endl;cout << "请输入用户账号" << endl;cin>>str1;cout << "请输入开户人密码" << endl;cin>>str3;cout << "请输入开户人姓名" << endl;cin>>str2;cout << "请输入账户内余额" << endl;cin>>balan;cout << "请输入开户人身份证号" << endl;cin>>id;cout << "请输入开户人地址" << endl;cin>>adre;cout<<"请输入开户人存款时间"<<endl;cin>>deposit_time;cout<<"请输入开户人取款时间"<<endl;cin>>withdrawal_time;Account *acc = new RegularAccount(str1,str3,str2,balan,id,adre,deposit_time,withdrawal_time);cout<<"增加定期存储账户成功"<<endl;account[accNum] = acc;accNum++;}void CurrentAppend(){string str1,str2,str3,adre;double balan;char id[19];cout<<"---------活期存储储户录入---------"<<endl;cout << "请输入用户账号" << endl;cin>>str1;cout << "请输入开户人密码" << endl;cin>>str3;cout << "请输入开户人姓名" << endl;cin>>str2;cout << "请输入账户内余额" << endl;cin>>balan;cout << "请输入开户人身份证号" << endl;cin>>id;cout << "请输入开户人地址" << endl;cin>>adre;Account *acc = new CurrentAccount(str1,str3,str2,balan,id,adre);cout<<"增加活期存储账户成功"<<endl;account[accNum] = acc;accNum++;}void del(){string n;cout << "请输入要注销的用户账号" << endl;cin>>n;int i;for(i=0;i<100;i++){/*if(account[i]->getId()!= n){cout<<"没有这个账号"<<endl;break;}*/if(account[i]->getId() == n){delete account[i];accNum--;cout<<"注销成功!"<<endl;break;}}}void query(){string n;cout << "请输入您要查询的用户账号" << endl;cin>>n;int i;for(i=0;i<100;i++){/*if(account[i]->getId() != n){	cout<<"没有这个账号"<<endl;break;}*/if(account[i]->getId() == n){	account[i]->showme();break;}}}
};
int main()
{Bank bank;while(1){cout<<"------------模拟银行储蓄系统--------------"<<endl;cout << "--------------1.增加账户-------------------" << endl;cout << "--------------2.删除账户-------------------" <<endl;cout << "--------------3.查询账户-------------------" <<endl;cout << "--------------4.取款和存款-----------------" <<endl;cout << "--------------5.退出系统-------------------" <<endl;cout << "--------------请选择-----------------------" <<endl;int n;cin>>n;switch(n){case 1:{int k;cout << "1.增加活期存储账户" << endl;cout << "2.增加定期存储账户" << endl;cout << "请选择:" << endl;cin>>k;if(k == 1)bank.CurrentAppend();if(k == 2)bank.RegularAppend();break;}case 2:{bank.del();break;}case 3:{bank.query();break;}case 4:{string n;cout<<"请输入您要存取款的账号"<<endl;cin>>n;for(int i=0;i<100;i++){if(bank.account[i]->getId() != n)cout<<"账号输入错误"<<endl;if(bank.account[i]->getId() == n){int choice;cout<<"1.取款"<<endl;cout<<"2.存款"<<endl;cout<<"请选择:"<<endl;cin>>choice;if(choice == 1){double jine;//取款金额cout<<"请输入取款金额"<<endl;cin >> jine;bank.account[i]->withdrow(jine);bank.account[i]->showme();break;}if(choice == 2){double qkuan;//存款金额cout<<"请输入存款金额"<<endl;cin>>qkuan;bank.account[i]->saving(qkuan);bank.account[i]->showme();break;}}}break;}case 5:return 0;default:cout<<"菜单输入错误!"<<endl;}}system("pause");return 0;
}

更多推荐

C++:模拟银行储蓄系统

本文发布于:2024-03-08 01:08:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1719442.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:银行   系统

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!