c++课程设计报告_第1页
c++课程设计报告_第2页
c++课程设计报告_第3页
c++课程设计报告_第4页
c++课程设计报告_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c++课程设计报告《C++程序设计》课程设计说明书题目银行储蓄系统学号姓名指导教师刘丽新日期2014.12

内蒙古科技大学课程设计任务书课程名称面向对象程序设计A课程设计设计题目银行储蓄管理的设计指导教师周李勇时间2013-2014秋学期第17、18周一、教学要求1.巩固和加深学生对C++语言课程的基本知识的理解和掌握

2.掌握C++语言编程和程序调试的基本技能

3.利用C++语言进行基本的软件设计

4.掌握书写程序设计说明文档的能力

5.提高运用C++语言解决实际问题的能力二、设计资料及参数用C++设计一个系统,能提供下列服务:录入帐号信息,格式为:帐号姓名密码身份证日期余额利率操作人090800213435李四12345615020119880808008882011-11-2210.30.0037操作包括存款取款,利息结算。登录功能。输入帐号和密码进行登录。存款功能。登录某个帐号后,输入存款金额,更新账户的余额。取款功能。登录后,输入取款金额,当余额大于取款金额时,执行取款操作,利息结算。、根据存款的利率和存款时间金额计算利息并登入账户。查询。查询某个时间段内的账户操作记录。三、设计要求及成果根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)提交课程设计报告:完成系统总结报告以及系统使用说明书目录21313一、内蒙古科技大学课程设计任务书 219067二、目录 34511第1章需求分析 49453第2章总体设计 4第3章9028模块分析 5266643.1client类 524499第4章详细设计 6216644.1工程视图 663004.2类图视图 610384.3主程序流程图 7318694.3主要算法的流程图 714第5章测试 85934第6章总结 929448附录:程序代码 10

需求分析二、设计资料及参数用C++设计一个系统,能提供下列服务:录入帐号信息,格式为:帐号姓名密码身份证日期余额利率操作人090800213435李四12345615020119880808008882011-11-2210.30.0037操作包括存款取款,利息结算。登录功能。输入帐号和密码进行登录。存款功能。登录某个帐号后,输入存款金额,更新账户的余额。取款功能。登录后,输入取款金额,当余额大于取款金额时,执行取款操作,利息结算。、根据存款的利率和存款时间金额计算利息并登入账户。查询。查询某个时间段内的账户操作记录。总体设计1.用结构框图表示各个功能之间的关系。将框图中系统的各个功能用文字详细的描述。注册开户:对未进行开户的人员进行开户,并保存。登陆界面:对已开户人员进行登陆,从而进行下一步操作。存钱界面:输入存款金额并对以前剩余金额进行计算。取钱界面:取钱后在原金额的基础上进行减法计算。查询余额:查询现在账户内所剩余金额。模块分析3.1client类制定用户的成员数据类型,进行登陆于保存功能并实现用户的各种功能。代码为:client::client(intl);stringgetID(){returnID;}stringgetname(){returnname;}stringgetadress(){returnadress;}stringgetphnumber(){returnphnumber;}stringgetcode(){returncode;}stringgetmType(){returnmType;}stringgetcType(){returncType;}doublegetbalance(){returnbalance;}详细设计工程视图说明有几个源代码文件,可以截取工程文件视图表示类图视图每个文件包含哪些类和函数,可以截图说明3.3主程序流程图银行储蓄管理系统登入开户退出存款查询余额取款修改密码填写个人信息主要算法的流程图测试运行测试:图4.1主菜单登陆测试:图4.2登陆账户存款测试:图4.3账户存款取款测试:图4.4账户取款查询余额测试:图4.5查询余额修改密码测试:总结通过这次c++课程设计,使我学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问题相连接的关键步骤。通过课程设计提高了自己分析问题,运用所学知识解决实际问题的能力,并培养了基本的程序设计技能。这次的课程设计,让我用一个相对比较集中的时间去练习,特别是自己的动手能力,因为这次课程设计覆盖面比较广泛。经过了这次设计,让我找到了学习上的漏洞,一些课程设计上以前没有弄懂的知识,都在这次的课程设计上有所提高。附录:程序代码#include<iostream>#include<fstream>#include<string>#include<vector>usingnamespacestd;voidmainminue();classclient{public:client();//构造函数client::client(intl);stringgetID(){//获取身份证号returnID;}stringgetname(){//获取真实姓名returnname;}stringgetadress(){//获取地址returnadress;}stringgetphnumber(){//获取电话号码returnphnumber;}stringgetcode(){//获取密码returncode;}stringgetmType(){//获取货币种类returnmType;}stringgetcType(){//获取账户种类returncType;}doublegetbalance(){//获取账户余额returnbalance;}intgetlim(){returnlim;}voidsetbalance(doublem){balance=m;}voidsetmType(strings){mType=s;}voidsetcode(stringc){code=c;}voidwrite(ofstream&s){s<<ID<<endl;s<<name<<endl;s<<adress<<endl;s<<phnumber<<endl;s<<code<<endl;s<<cType<<endl;s<<mType<<endl;s<<balance<<endl;s<<lim<<endl<<endl;}voidread(ifstream&s){s>>ID;s>>name;s>>adress;s>>phnumber;s>>code;s>>cType;s>>mType;s>>balance;s>>lim;}voiddisplay(){stringtemp;if(cType=="cur")temp="活期存款";elseif(cType=="ter")temp="定期存款";elsetemp="信用卡账户";cout<<"账户类型"<<"余额"<<"存款年限"<<endl;cout<<temp<<""<<balance<<""<<lim<<""<<endl;}private:stringID,name,adress,phnumber,code;stringcType,mType;doublebalance;//账户余额intlim;//存款年限};client::client(){ID="";name="";adress="";phnumber="";code="";cType="";mType="";balance=0;lim=0;};client::client(intl){//clientclient_zx;stringcode_1;intflag=0,lim1=0,clientcount,change;stringid,na,ad,ph,cT="",mT="";doubleba=0;lim=l;balance=0;mType="人民币";cout<<"请输入您的身份证号:";cin>>ID;cout<<"请输入您的真实姓名:";cin>>name;cout<<"请输入您的居住地址:";cin>>adress;cout<<"请输入您的电话号码:";cin>>phnumber;do{system("cls");flag=0;cout<<"请选择您要创建的账户种类:"<<endl;cout<<"1,活期存款账户"<<endl;cout<<"2,定期存款账户"<<endl;cout<<"3,信用卡账户"<<endl;cin>>change;if(change!=3&&change!=1&&change!=2){cout<<"choiceiswrong!"<<endl;getchar();system("pause");system("cls");flag=1;}else{ifstreaminstream("zx.in");vector<client>client1(100);for(inti=0;i<100;i++){client1[i].read(instream);if(instream.fail()!=0)break;}instream.close();clientcount=i;switch(change){case1:cType="cur";break;case2:cType="ter";break;case3:cType="cre";break;}for(i=0;i<clientcount;i++){if(client1[i].getID()==ID&&client1[i].getcType()==cType){cout<<"账户类型已创建,按任意键返回重新创建";getchar();flag=1;break;}}}}while(flag);do{system("cls");cout<<"请输入密码:";cin>>code;cout<<"请再次输入密码:";cin>>code_1;if(code==code_1){cout<<"账户创建成功,按任意键返回主菜单"<<endl;getchar();//system("cls");ofstreamoutputstream("zx.in",ios::app);write(outputstream);outputstream.close();mainminue();}else{cout<<"密码输入不一致,请按任意键重新输入!";getchar();}}while(code!=code_1);}//主函数intmain(){voidmainminue();mainminue();//调用主菜单函数return0;}//主菜单函数voidmainminue(){intchoice;voidcreater();voidloading();do{system("cls");cout<<"欢迎使用银行管理系统:"<<endl;cout<<"1:创建账户"<<endl;cout<<"2:登入账户"<<endl;cout<<"0:退出"<<endl;cin>>choice;if(choice!=0&&choice!=1&&choice!=2){cout<<"choiceiswrong!"<<endl;getchar();system("cls");//mainminue();}else{switch(choice){case1:creater();break;case2:loading();break;case0:break;}}}while(choice!=0);}//创建账户voidcreater(){clientclient_zx(0);}voidloading(){inti,j,clientcount,flag=0,choice,s=0,c1,geter,m;stringc_id,ct,code_a,mType;charch;voidbancher();ifstreaminstream("zx.in");vector<client>client1(100);for(i=0;i<100;i++){client1[i].read(instream);if(instream.fail()!=0)break;}instream.close();clientcount=i;cout<<"请输入身份证号"<<endl;cin>>c_id;for(i=0;i<clientcount;i++){if(client1[i].getID()==c_id){flag=1;break;}}if(!flag){system("cls");cout<<"您尚未创建任何账户,是否创建?";cout<<"1,yes";cout<<"2,no";cin>>choice;switch(choice){case1:creater();break;case2:break;}}else{vector<client>zx(3);for(i=0,j=0;i<3&&j<clientcount;j++)if(client1[j].getID()==c_id)zx[i++]=client1[j];j=i;vector<client>elseclient(100-j);for(i=0,m=0;(m<(100-j))&&(i<100);i++)if(client1[i].getID()!=c_id)elseclient[m++]=client1[i];ofstreamoutput("zx.in",ios::app);for(i=0;i<m;i++)elseclient[i].write(output);output.close();do{system("cls");cout<<"请选择你要登入的账户类型";cout<<"1,活期存款账户"<<endl;cout<<"2,定期存款帐户"<<endl;cout<<"3,信用卡账户"<<endl;cin>>c1;}while(c1!=1&&c1!=2&&c1!=3);switch(c1){case1:ct="cur";break;case2:ct="ter";break;case3:ct="cre";break;}for(i=0;i<j;i++)if(zx[i].getcType()==ct){flag=0;break;}if(flag){cout<<"您尚未创建此种账户类型!";}else{do{cout<<"请输入密码";cin>>code_a;for(i=0;i<j;i++)if(zx[i].getcode()==code_a){flag=1;break;}if(!flag){cout<<"密码错误:请重新输入:";s=1;}else{cout<<"登陆成功!"<<endl;getchar();do{do{system("pause");system("cls");cout<<"1,取款"<<endl;cout<<"2,存款"<<endl;cout<<"3,查询余额"<<endl;cout<<"4,同ID下其它账户信息"<<endl;cout<<"5,修改密码"<<endl;cout<<"6,返回主菜单"<<endl;cin>>c1;}while(c1!=1&&c1!=2&&c1!=3&&c1!=4&&c1!=5&&c1!=6);if(c1==1){//取款cout<<"请输入取款金额:"<<endl;cin>>geter;if((zx[i].getcType()=="cur")&&(geter<=zx[i].getbalance())){cout<<"请取钱"<<endl;getchar();zx[i].setbalance(zx[i].getbalance()-geter);}elseif((zx[i].getcType()=="cre")&&(zx[i].getbalance()>=(geter-10000))){cout<<"请取钱"<<endl;getchar();zx[i].setbalance(zx[i].getbalance()-geter);}elseif((zx[i].getcType()=="ter")&&(geter<=zx[i].getbalance())&&(zx[i].getlim()==0)){cout<<"请取钱"<<endl;getchar();zx[i].setbalance(zx[i].getbalance()-geter);}else{if(zx[i].getcType()=="cur")cout<<"账户余额不足"<<endl;elseif(zx[i].getcType()=="cre")cout<<"账户透支过度"<<endl;elsecout<<"定期存款用户未到期"<<endl;getchar();}}elseif(c1==2){//存款do{system("cls");cout<<"请选择货币类型"<<endl;cout<<"1,人民币"<<endl;cout<<"2,美元"<<endl;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论