C++课程设计报告银行账户管理系统.docx
- 文档编号:3434922
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:17
- 大小:631.19KB
C++课程设计报告银行账户管理系统.docx
《C++课程设计报告银行账户管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告银行账户管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
C++课程设计报告银行账户管理系统
C++语言课程设计
题目银行账户管理系统
一、题目介绍
问题描述:
设计开发一个银行账户管理系统,账户的信息有账号(唯一),姓名,余额,身份证号码,联系方式等,模拟银行卡的一系列基本功能,包括注册开户、销户退出、存款、取款、转账、查询余额、修改密码、个人信息、退出系统等,保存为文件。
要求人机界面设计友好,用户使用方便,在用户输入有误时能给出相关的出错提示,并能承受一定的错误信息。
要求具有一定的安全机制,如用户在一定的时间范围内对系统未予以响应,或者用户多次输入错误的登录信息时,系统会自动给用户发出提示性信息,以便用户处理解决问题。
用户界面要求:
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目)当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据;输出:
应用程序正常运行后,要在屏幕上显示一个文字菜单;要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容,格式及结束方式等。
题目设计要求和目的:
进一步巩固C++语言语法规则;熟练掌握程序设计的一般技巧和方法;培养解决综合性实际问题的能力。
二、系统分析
1、程序各功能实现的说明
1)定义一个账户类对象,实现对一个账户信息的说明功能。
2)、定义账户类成员函数注册开户函数,实现注册开户功能。
提供开户界面,由用户输入新账号的所有信息,并保存到文件中。
3)、定义账户类成员函数用户登录函数,实现用户登录功能。
输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若卡号存在和密码不匹配或该卡号没有注册,提示该卡号已存在且密码输入错误或该卡号没有注册。
4)、定义账户类成员函数存款函数,实现存款功能。
选择存款功能操作进入存款界面,并提供数据输入界面,等待用户的输入存款金额。
从后台数据中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据,同时将存钱的金额显示在页面上。
5)、定义账户类成员函数取款函数,实现取款功能。
选择取款功能操作进入取款界面,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写入文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。
6)、定义账户类成员函数余额查询函数,实现余额查询功能。
选择余额查询功能操作进入余额查询界面,把该卡上的余额显示到界面中。
8)、定义账户类成员函数修改密码函数,实现修改密码功能。
9)、定义账户类成员函数注销退出函数,实现销户退出功能。
注销该登录账号返回系统主页面。
10)、定义账户类成员函数首页函数,设计系统首页界面。
主要导航栏有:
欢迎使用储蓄卡管理(注册开户、用户登录、退出系统)。
11)、定义账户类成员函数菜单函数,设计系统菜单界面。
2、程序结构图
三、程序代码
/*银行账户管理系统,本程序只能实现对一个
账号的开户注册、存款、取款、余额查询、
个人信息查询、修改密码、注销退出操作。
*/
#include
#include
#include
#include
usingnamespacestd;
classzhanghu//定义账户类
{
private:
charname[20];//姓名
charID[24];//身份证号码
charzhanghao[24];//账号
intmima;//账号密码
charphone[14];//手机号码
public:
intYuE;//余额
voidkaihu();//声明账户类成员函数原型
voiddenglu();
voidcunkuan();
voidqukuan();
voidchaxun();
voidxinxi();
voidgaimi();
voidxiaohu();
voidshouye();
voidcaidan();
}person;
voidzhanghu:
:
kaihu()//定义账户类成员函数注册开户函数
{
intmima1;
intmima2;
cout<<"请输入用户姓名:
";
cin>>person.name;
cout<<"请输入身份证号码:
";
cin>>person.ID;
cout<<"请输入创建账号:
";
cin>>person.zhanghao;
cout<<"请创建账号密码(6位数字):
";
cin>>mima1;
cout<<"请再次输入账号密码(6位数字):
";
cin>>mima2;
for(inti=1;i<3;i++)
{
if(mima2!
=mima1)
{
cout<<"前后两次输入密码不一致,请重新设置密码!
"< cout<<"请创建账号密码(6位数字): "; cin>>mima1; cout<<"请再次输入账号密码(6位数字): "; cin>>mima2; } else person.mima=mima1; } if(i=3&&mima2! =mima1) { cout<<"\n\n三次前后输入密码不一致,退出系统! "< exit(0); } cout<<"请输入手机号: "; cin>>person.phone; ofstreamf1("cpp.txt");//保存开户信息 if(! f1)return; f1<<"\t开户信息如下: "< f1< f1<<"用户姓名: "< f1<<"身份证号码: "< f1<<"账号: "< f1<<"账号密码: "< f1<<"手机号码: "< "< f1<<"\n\n"< f1.close(); cout<<"\n"; cout<<"账号创建成功,请用户牢记以下开户信息: \n"< cout<<"用户姓名: "< cout<<"身份证号码: "< cout<<"账号: "< cout<<"账号密码: "< cout<<"手机号码: "< } voidzhanghu: : denglu()//定义账户类成员函数用户登录函数;账号登陆前,请先开户注册账号 { intmima1; charzhanghao[24]; cout<<"请输入账号: "; cin>>zhanghao; if(strcmp(person.zhanghao,zhanghao)! =0) { cout<<"账号错误,请重新输入账号! "< cout<<"请输入账号: "; cin>>zhanghao; if(strcmp(person.zhanghao,zhanghao)! =0) { cout<<"账号错误,请重新输入账号! "< cout<<"请输入账号: "; cin>>zhanghao; if(strcmp(person.zhanghao,zhanghao)! =0) { cout<<"您已经三次输入账号错误,退出系统! "< exit(0); } } } cout<<"请输入账号密码(6位数字): "; cin>>mima1; if(mima1! =person.mima) { cout<<"账号密码输入错误,请再次输入! \n"; cout<<"请输入账号密码(6位数字): "; cin>>mima1; if(mima1! =person.mima) { cout<<"账号密码输入错误,请再次输入! \n"; cout<<"请输入账号密码(6位数字): "; cin>>mima1; if(mima1! =person.mima) { cout<<"您本次已经三次输入密码错误,退出系统! "< exit(0); } } } } voidzhanghu: : cunkuan()//定义账户类成员函数存款函数 { intYuE1; cout<<"请输入要存款的金额: "; cin>>YuE1; person.YuE=person.YuE+YuE1; cout<<"您已成功存入"< ofstreamf1("cpp.txt",ios: : app);//保存存款后的用户账号信息 if(! f1)return; f1<<"\t存款后,用户账号信息如下: "< f1< f1<<"用户姓名: "< f1<<"身份证号码: "< f1<<"账号: "< f1<<"账号密码: "< f1<<"账号余额: "< "< f1<<"\n\n"< f1.close(); } voidzhanghu: : qukuan()//定义账户类成员函数取款函数 { intYuE2; cout<<"请输入要取款的金额: "; cin>>YuE2; if(YuE2>person.YuE) { cout<<"余额不足,请再次输入取款的金额! "< person.qukuan(); } else { cout<<"请及时取走你的钞票."< person.YuE=person.YuE-YuE2; } ofstreamf1("cpp.txt",ios: : app);//保存取款后的用户账号信息 if(! f1)return; f1<<"\t取款后,用户账号信息如下: "< f1< f1<<"用户姓名: "< f1<<"身份证号码: "< f1<<"账号: "< f1<<"账号密码: "< f1<<"账号余额: "< "< f1<<"\n\n"< f1.close(); } voidzhanghu: : chaxun()//定义账户类成员函数余额查询函数 { cout<<"您的账号余额为: "< ofstreamf1("cpp.txt",ios: : app);//保存查询余额信息 if(! f1)return; f1< f1<<"\t您的账号余额为: "< "< f1<<"\n\n"< f1.close(); } voidzhanghu: : xinxi()//定义账户类成员函数个人信息函数 { cout<<"用户账户信息如下: \n"< cout<<"用户姓名: "< cout<<"身份证号码: "< cout<<"账号: "< cout<<"账号密码: "< cout<<"账号余额: "< cout<<"手机号码: "< ofstreamf1("cpp.txt",ios: : app);//保存用户账号信息 if(! f1)return; f1<<"\t用户账号信息如下: "< f1< f1<<"用户姓名: "< f1<<"身份证号码: "< f1<<"账号: "< f1<<"账号密码: "< f1<<"账号余额: "< f1<<"手机号码: "< "< f1<<"\n\n"< f1.close(); } voidzhanghu: : gaimi()//定义账户类成员函数修改密码函数 { intmima3; cout<<"请输入初始密码(6位数字): "; cin>>person.mima; cout<<"请输入修改后的密码(6位数字): "; cin>>mima3; person.mima=mima3; cout<<"修改密码成功! "< ofstreamf1("cpp.txt",ios: : app);//保存修改密码后的用户账号信息 if(! f1)return; f1<<"\t修改密码后,用户账号信息如下: "< f1< f1<<"用户姓名: "< f1<<"身份证号码: "< f1<<"账号: "< f1<<"账号密码: "< f1<<"账号余额: "< f1<<"手机号码: "< "< f1<<"\n\n"< f1.close(); } voidzhanghu: : xiaohu()//定义账户类成员函数注销退出函数 { cout<<"用户注销成功,返回主页! "< system("pause"); person.shouye(); } voidzhanghu: : shouye()//定义账户类成员函数首页函数 { cout<<"=============*******银行账户管理系统*********=============\n\n\n"< cout<<"\t欢迎使用银行管理系统,请用户在使用前选择开户: \n\n"< cout<<"\t请选择: "< cout<<"\t\t1、注册开户"< cout<<"\t\t2、用户登录"< cout<<"\t\t3、退出系统\n\n\n"< cout<<"=============******************************============="< intfuction; cout<<"请输入功能操作(1-3): "; cin>>fuction; while (1) { switch(fuction)//首页功能操作选择 { case1: kaihu();break;//注册开户 case2: denglu();break;//用户登录 case3: exit(0);break;//退出系统 default: cout<<"输入错误,请重新输入! "< } person.caidan(); } } voidzhanghu: : caidan()//定义账户类成员函数菜单函数 { intfuction; while(true) { cout<<"=============*******银行账户管理系统*********=============\n\n\n"< cout<<"\t功能操作: "< cout<<"\t\t1、存款2、取款"< cout<<"\t\t3、余额查询4、个人信息"< cout<<"\t\t5、修改密码6、注销退出\n\n\n"< cout<<"=============******************************============="< cout<<"请输入功能操作(1-6): "; cin>>fuction; switch(fuction)//菜单功能操作选择 { case1: person.cunkuan();break;//存款 case2: person.qukuan();break;//取款 case3: person.chaxun();;break;//余额查询 case4: person.xinxi();break;//个人信息 case5: person.gaimi();break;//修改密码 case6: person.xiaohu();break;//注销退出 default: cout<<"输入错误,请重新输入! "< } system("pause"); } } voidmain()//主函数 { person.YuE=0; person.shouye(); } 四、运行结果 1)、注册开户: 2)存款: 3)取款: 4)余额查询: 5)个人信息: 6)修改密码: 7)注销退出: 8)用户登录: 9)余额查询: 10)个人信息: 11)注销退出: 12)银行账户管理系统主页: 五、总结 通过此次C++课程设计课程的学习,我进一步地加深了这一学期来对C++课程知识的学习,更深入地掌握了类的概念以及应用,了解到类的一些基本作用和面向对象程序设计在实际应用中的效果。 本次C++课程设计综合性较强,覆盖面广,不仅涉及到选择语句(if语句、switch语句)、循环语句(while语句、for语句),还包括了C++语言中类的设计使用、还弄清楚了I/O流的实质意义及文件的读写操作和访问方式。 在此次C++课程设计课程中,我遇到了不少的问题,很多问题我可以自己解决,但更多的问题自己还没有解决,这就更加激励着我更应该好好学习,把知识掌握的更牢固! 总体上来说,通过此次C++课程设计课程学习,我们将本学期所学C++课程中重要知识点进行了一次系统性的巩固和复习,在这其中,我们不仅收获了编程本身给我们带来的无穷的乐趣,也享受到编程给我们带来的困扰后而得到解决的喜悦和快乐,收益颇多!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告 银行 账户 管理 系统