C++银行账户管理课程设计报告

上传人:简****9 文档编号:25481810 上传时间:2021-07-25 格式:DOCX 页数:18 大小:175.04KB
返回 下载 相关 举报
C++银行账户管理课程设计报告_第1页
第1页 / 共18页
C++银行账户管理课程设计报告_第2页
第2页 / 共18页
C++银行账户管理课程设计报告_第3页
第3页 / 共18页
点击查看更多>>
资源描述
JINGCHU UNIVERSITY OF TECHNOLOGYC+艮行账户管理课程设计报告学院:计算机工程学院 班 级:09级计算机科学与技术1班学生姓名: 学 号:2009404010125设计地点(单位):A5-101设 计题 目:银行账户管理程序完成日期:2011年12月25日指导教师评语:成绩(五级记分制):教 师 签名:一、设计思想 03二、模块设计与分析 03三、程序设计介绍 04四、框架结构图 04五、程序代码 05六、测试数据 14七、数据调试 14八、课程设计总结 16九、课程设计教材及主要参考资料 1618一、设计思想定义一个用户类customer和一个银行类YH,程序运行时,可以由用户选择进行开户、登录、取款、存款、修改密码、转账、销户操作,用户销户后账号被回收, 并且该账号可以继续分配给其它账户, 不允许用户透支, 根据姓名或账号可以进行用户的信息查询, 所有的账户信息应存放到一个文件中, 可以随时的访问和更新。二、模块设计与分析1 登录页面:输入帐号和密码,根据用户输入的帐号和密码,到后台文件查询, 若正确则登录成功, 并保存卡好信息已备后用。 若帐号存在和密码不匹配或无该帐号已经注销,提示该帐号已存在或已注销。2 主界面页面:主要导航栏有存款、取款、账户信息、注销、注销、返回上一步。3 开户页面: 提供开户界面, 由用户输入新账户的信息, 将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。4 存钱页面:从登录界面得到帐号,并提供数据输入界面,等待用户的输入存款金额,同时将存钱的金额显示在页面上。5 取款页面:从登录界面得到帐号,并提供数据输入界面,等待用户输入取款金额, 如果取款金额大于该用户卡上的余额则不能取款, 或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。6 账户信息页面:从登录界面得到帐号,把本人显示到界面中。7 转账页面:从登录界面得到帐号,输入要转入的帐号,在输入金额,显示在页面上,如果金额超过余额将操作失败。8 注销页面:从关闭文件,状态为注销,最后关闭整个系统。三、程序设计介绍系统由2个类构成,YH (银行类)和Consumer (客户类),Consumer(客 户类)是YH (银行类)的公有继承类。YH (银行类)中有实现登陆系统,开户, 销户,转账,退出系统等功能函数,Consumer (客户类)中有实现存钱,取钱, 修改个人账号密码,显示个人账号信息等功能函数。因为Consumer(客户类)是YH (银行类)的公有继承类,所以,一个用户只需创建一个Consumer (客户类)对象,当用户进行开户,销户等操作时,可以直接调用YH (银行类)的成员函数。银行类中的函数:void set_account(); /银行开户功能void del_account(); 注销账户功能void transfer(int); 转账功能void enter_account(); /砒入用户个人信息功能void addmoney(int,float);/存款功能void exitYH();/ 退出系统V修 改 密 码V. 查 看 信 息五、程序代码#include #include #include using namespace std;class consumer;/银行类class YHpublic:void set_account();/ 银行开户功能void del_account();/注销账户功能void transfer(int); /转账功能void enter_account(); / 进入用户个人信息功能void addmoney(int,float);/ 存款功能void exitYH();/ 退出系统void functionshow();void save();void load();/ 功能界面protected:consumer *account20;static int acnum;/ 账户数;class consumer:public YH/ 用户类,继承银行类的属性public:friend class YH;consumer(int id,string Name,string PassWord,float m)ID=id;name=Name;money=m;passwd=PassWord;consumer()ID=0;name=0;money=0;passwd=0;int get_id()return ID;void savemoney();/ 取钱string get_passwd()return passwd;/ 取得密码 void display();void fetchmoney();/取钱void change_passwd();void add_money(float);void dec_money(float);float get_money();/ 卡卡转帐private:int ID; / 开户帐号string passwd; / 用户密码string name; / 用户姓名float money;/开户金额;void YH:save()ofstream ofile(bankdat.dat,ios:out);ofstream outfile(bankdat.dat,ios:out);int n=0;outfileacnum ;for(n=0;nacnum;n+)outfileID ;outfilemoney;outfilename ;outfilepasswd;outfile.close();/* 读入用户信息功能实现*/void YH:load()ifstream infile(bankdat.dat,ios:in);if(!infile)cerr 读取错误 ,无资料中 !acnum;for(n=0;nid;infilem;infilenam;infilepassw;accountn-passwd;consumer * acc = new consumer(id,nam,passw,m);accountn = acc;infile.close();cout 读取资料正常!endl;/* 转账功能实现*/void YH:transfer(int x)int id;coutid;int flag = 1;int i = 0;while(iget_id() flag = 0; else i+;if(flag)cout 帐号不存在!endlendl;return ;float b;coutendlb;while(b=0)cout 请输入正确的数字!endl;coutb;if(accountx-get_money()b) cout 对不起 ,金额不够 !dec_money(b);accounti-add_money(b);return;/* 账户金额计算*/void consumer:add_money(float x)money=x+money;void consumer:dec_money(float x)money=money-x;void YH:addmoney(int x,float y)accountx-money=accountx-money-y;float consumer:get_money()return money;void main()YH yh;yh.functionshow();)/*主界面显示*/void YH:functionshow()(int n;dosystem(cls); load();coutendl请输入相应的操作序号进行操作:endl;endl; endl; endl; endl; endl; endl; endl; endl; endl; endl;endl;coutcout cout 1.开户cout cout 2.账户登录cout cout 3.账户注销cout cout 4.退出系统cout coutcoutcinn;while(n4)(cout操作错误,请输入正确的操作序号!endl;coutcinn;)switch(n)(case 1: set_account();开户 break;case 2:enter_account();登录 break;case 3: del_account();注销 break;case 4: exitYH();/ 退出 break;)cin.getQ;while(true);)void YH:enter_account()int id;cout请输入帐号:;cinid;int flag = 1;int i = 0;/_page_break_while(iget_id() flag = 0; else i+;)if(flag)(cout帐号不存在!endlendl;return;)coutget_passwd() return;accounti-display();cin.get();cin.get();int n;dosystem(cls);cout请选择下列操作:endl;coutdisplay();break;case 2: accounti-fetchmoney();save();break;case 3:accounti-savemoney();save();break;case 4:accounti-change_passwd();save();break;case 5:transfer(i);save();break;case 6:return;cin.get();cin.get();while(1);void YH:set_account()int id;string nam;string passw;float m;coutendlid;coutendlnam;coutendlpassw;coutendlm;while(m=0)cout 请输入正确的数字!m;consumer * acc = new consumer(id,nam,passw,m);accountacnum = acc;cout 开户成功 !endlendl;acnum+;save();cin.get();return;void YH:del_account()int id;coutendlid;int flag = 1;int i = 0;while(iget_id()flag = 0;elsei+;if(flag)cout 该帐号不存在,请重新输入 !endl;return;for(int j=i;jacnum;j+)accountj = accountj+1;accountacnum-1=NULL;acnum-;cout 你的账号已注销 !endlendl;save();cin.get();return;void consumer:change_passwd()string pwd,repwd;coutpwd;coutrepwd;if(pwd!=repwd)!endl;cout 你输入的两次密码不一样,按输入键返回上一层菜单elsecout 密码修改成功,请牢记!endl;cinm;while(m=0)(cout请输入正确的数字!endl;coutcinm;)if(moneym)(cout对不起,你的余额不足!endl;)elsemoney=money-m;coutendl操作成功,请收好钱 !endl;)cout是否要继续该项操作:(Y/N)endl;coutcinch;while(ch!=n&ch!=N&ch!=Y&ch!=y)/选择错误时判定(coutcinch;)while(ch=y|ch=Y);)void consumer: :savemoney()/ 存钱函数功能实现(float c;char ch;docoutendl请输入要存入的金额 :c;while(c=0)(cout输入错误,请重新输入!endl;coutc;)money=money+c;cout操作已成功!endl;cout是否要继续该项操作:(Y/N) endl;coutch;while(ch!=n&ch!=N&ch!=Y&ch!=y)(coutch;)while(ch=y|ch=Y);)int YH二acnum=0;void consumer:display() 用户信息界面system(cls);cout#endl;cout#endl;cout#用户姓名:nameendl;cout#endl;cout#帐号:IDendl;cout#endl;cout#余额:moneyendl;cout#endl;cout#按输入键回到上一菜单endl;cout#endl;cout#endl;cout;void YH:exitYH()/ 退出系统coutendl感谢您对本银行的支持,欢迎下次光临!ebuy yl八、课程设计总结通过这次C+砚程设计,使我学到面向对象的程序设计思想用到具体的工作 和学习中,加深对类与对象的理解,是将计算机课程与实际问题相联接的关键步 骤。通过课程设计,能够提高自己的分析问题、解决问题的能力,从而运用所学 知识解决实际问题的能力,并培养基本的、良好的程序设计技能。这次的课程设计,让我用了一个相对比较集中的时间去练习我的编程,特别 是自己的动手能力,因为这次的课程设计覆盖面比较广泛。经过了这次的设计, 让我找到自己学习上的漏洞,一些课程设计上的以前没有弄懂的知识, 都在这次 的课程设计上有所提高。九、课程设计教材及主要参考资料教学参考书1李素若.C+痢向对象程序设计.北京:化学工业出版社,2008.参考资料:1郑莉,傅仕星编,C+向对象程序设计,清华大学出版社,2003 年9月出2谭浩强编,C+狗向对象程序设计,清华大学出版社,2005年7月出版3李师贤等译,C+喘髓,机械工业出版社,2002年8月出版4Davis Chapman , 学用 Visual c+ 6.0 ,清华大学出版社, 2001年 7 月出版5郑莉,傅仕星编,C+邮言面向对象程序设计习题与实验指导,清华大学出版社, 2003年 9月出版
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 其它学术


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!