c++课程设计报告.docx
- 文档编号:27370710
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:14
- 大小:60.98KB
c++课程设计报告.docx
《c++课程设计报告.docx》由会员分享,可在线阅读,更多相关《c++课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
c++课程设计报告
«C++程序设计》
课程设计说明书
题目银行储蓄系统
学号
姓名
指导教师刘丽新
、内蒙古科技大学课程设计任务书
课程名称
面向对象程序设计
A课程设计
设计题目
银行储蓄管理的设计
指导教师
周李勇
时间
2013-2014秋学期第17、18
周
一、教学要求
1.巩固和加深学生对C++语言课程的基本知识的理解和掌握
2.掌握C++语言编程和程序调试的基本技能
3.利用C++语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C++语言解决实际问题的能力
二、设计资料及参数
用C++设计一个系统,能提供下列服务:
(1)录入帐号信息,格式为:
帐号
姓名
密码
身份证
日期
余额
利率
操作人
0435
李四
123456
800888
2011-11-
2
操作包括存款取款,利息结算。
(2)登录功能。
输入帐号和密码进行登录。
(3)存款功能。
登录某个帐号后,输入存款金额,更新账户的余额。
(4)取款功能。
登录后,输入取款金额,当余额大于取款金额时,执行取款操作,
(5)利息结算。
、根据存款的利率和存款时间金额计算利息并登入账户。
(6)查询。
查询某个时间段内的账户操作记录。
三、设计要求及成果
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)提交课程设计报告:
完成系统总结报告以及系统使用说明书
二、目录
一、内蒙古科技大学课程设计任务书2
二、目录3
第1章需求分析4
第2章总体设计4
第3章模块分析5
client类5
第4章详细设计5
工程视图5
类图视图6
主程序流程图6
主要算法的流程图6
第5章测试7
第6章总结7
附录:
程序代码8
第1章需求分析
、设计资料及参数
用C++设计一个系统,能提供下列服务:
(7)录入帐号信息,格式为:
帐号
姓名
密码
身份证
日期
余额
利率
操作人
0435
李四
123456
800888
2011-11-
2
操作包括存款取款,利息结算。
(8)登录功能。
输入帐号和密码进行登录。
(9)存款功能。
登录某个帐号后,输入存款金额,更新账户的余额。
(10)取款功能。
登录后,输入取款金额,当余额大于取款金额时,执行取款操作,
(11)利息结算。
、根据存款的利率和存款时间金额计算利息并登入账户。
(12)查询。
查询某个时间段内的账户操作记录。
第2章总体设计
1.用结构框图表示各个功能之间的关系。
2.将框图中系统的各个功能用文字详细的描述。
注册开户:
对未进行开户的人员进行开户,并保存。
登陆界面:
对已开户人员进行登陆,从而进行下一步操作存钱界面:
输入存款金额并对以前剩余金额进行计算。
取钱界面:
取钱后在原金额的基础上进行减法计算。
查询余额:
查询现在账户内所剩余金额。
模块分析
client类
制定用户的成员数据类型,进行登陆于保存功能并实现用户的各种功能。
代码为:
client:
:
client(intl);
stringgetID(){
returnID;
}
stringgetname(){
returnname;
}
stringgetadress(){
returnadress;
}
stringgetphnumber(){
returnphnumber;
}
stringgetcode(){
returncode;
}
stringgetmType(){
returnmType;
}
stringgetcType(){
returncType;
}
doublegetbalance(){
returnbalance;
}
第3章详细设计
3.1工程视图
说明有几个源代码文件,可以截取工程文件视图表示
3.2类图视图
每个文件包含哪些类和函数,可以截图说明
主程序流程图
3.3主要算法的流程图
第4章测试
运行测试:
登陆测试:
图主菜单
存款测试:
图登陆账户
图账户存款
取款测试:
图账户取款
查询余额测试:
图查询余额
修改密码测试:
第5章总结
通过这次C++课程设计,使我学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象
的理解,是将计算机课程与实际问题相连接的关键步骤。
通过课程设计提高了自己分析问题,运用所学知识解决实际问题的能力,并培养了基本的程序设计技能。
这次的课程设计,让我用一个相对比较集中的时间去练习,特别是自己的动手能力,因为这次课程设计覆盖面比较广泛。
经过了这次设计,让我找到了学习上的漏洞,一些课程设计上以前没有弄懂的知识,都在这次的课程设计上有所提高。
附录:
程序代码
#include
client();ead(instream);
if()!
=0)
break;
}
();
clientcount=i;
switch(change){
case1:
cType="cur";break;
case2:
cType="ter";break;
case3:
cType="cre";break;
}
for(i=0;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<<"账户创建成功,按任意键返回主菜单"< ead(instream); if()! =0) break; } (); clientcount=i; cout<<"请输入身份证号"< cin>>c_id; for(i=0;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 for(i=0,j=0;i<3&&j j=i; vector =c_id)elseclient[m++]=client1[i]; ofstreamoutput("",ios: : app); for(i=0;i elseclient[i].write(output); (); do{ system("cls"); cout<<"请选择你要登入的账户类型"; cout<<"1,活期存款账户"< cout<<"2,定期存款帐户"< cout<<"3,信用卡账户"< }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 if(zx[i].getcType()==ct) {flag=0;break;} if(flag) { cout<<"您尚未创建此种账户类型! "; } else { do { cout<<"请输入密码"; cin>>code_a; for(i=0;i if(zx[i].getcode()==code_a) {flag=1;break;} if(! flag) { cout<<"密码错误: 请重新输入: "; s=1; } else { cout<<"登陆成功! "< getchar(); do{ do{ system("pause"); system("cls"); cout<<"1,取款"< cout<<"2,存款"< cout<<"3,查询余额"< cout<<"4,同ID下其它账户信息"< cout<<"5,修改密码"< cout<<"6,返回主菜单"< }while(c1! =1&&c1! =2&&c1! =3&&c1! =4&&c1! =5&&c1! =6); if(c1==1) {etcType()=="cur")&&(geter<=zx[i].getbalance())) { cout<<"请取钱"< zx[i].setbalance(zx[i].getbalance()-geter); } elseif((zx[i].getcType()=="cre")&&(zx[i].getbalance()>=(geter-10000))) { cout<<"请取钱"< zx[i].setbalance(zx[i].getbalance()-geter); } elseif((zx[i].getcType()=="ter")&&(geter<=zx[i].getbalance())&&(zx[i].getlim()==0)){cout<<"请取钱"< getchar(); zx[i].setbalance(zx[i].getbalance()-geter); } else { if(zx[i].getcType()=="cur") cout<<"账户余额不足"< elseif(zx[i].getcType()=="cre") cout<<"账户透支过度"< elsecout<<"定期存款用户未到期"< } } elseif(c1==2) {etmType(mType); cout<<"请输入存款额度: "< cin>>geter;zx[i].setbalance(zx[i].getbalance()+geter);cout<<"存款成功! 按任意键返回"< } elseif(c1==3) {etbalance()>=0) cout<<"账户余额为"< else cout<<"账户已透支"<<-zx[i].getbalance()< getchar(); } elseif(c1==4) {isplay(); } elseif(c1==5) {etcode(c_id); "< cout<<"修改成功,按任意键返回getchar(); } elsemainminue(); }while(c1! =6); } }while(s==1); } ofstreamoutputer("",ios: : app); for(i=0;i zx[i].write(outputer); (); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 课程设计 报告