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