c课程设计银行储蓄系统.docx
- 文档编号:18951853
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:17
- 大小:50.83KB
c课程设计银行储蓄系统.docx
《c课程设计银行储蓄系统.docx》由会员分享,可在线阅读,更多相关《c课程设计银行储蓄系统.docx(17页珍藏版)》请在冰豆网上搜索。
c课程设计银行储蓄系统
课程设计(论文)任务书
软件工程 学 院 桥梁 专 业3 班
一、课程设计(论文)题目 银行储蓄系统
二、课程设计(论文)工作自2011年6月13日起至2011年6月20日止。
三、课程设计(论文)地点:
软件学院软件实训中心
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)使学生掌握C++的基本语法以及程序编辑、运行过程;
(2)培养学生掌握程序设计的基本思路和方法;
(3)使学生掌握程序的调试方法;
(4)培养学生分析、解决问题的能力;
(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
设计一简易的银行储蓄系统,能承担用户的开户、销户、存款和取款业务。
要求使用结构体或对象存储账户信息,系统要求系统以菜单方式工作。
(1)开户(输入姓名、身份证号,如不存在,则新开账户)
(2)销户(如有余额,先取款,再销户)
(3)取款(输入取款金额,账户余额不足时提示重新输入,取款成功后显示账户余额)
(4)存款(输入存款金额,存款成功后显示账户余额)
(5)查询(输入帐号,查询该帐号所有信息)
2)创新要求:
在基本要求达到后,可进行创新设计,如改善算法性能;对系统进行功能扩充。
3)课程设计论文编写要求
(1)要按照书稿的规格打印誊写课程设计报告
(2)课程设计报告书内容主要包括目录、绪论、正文、小结、参考文献、附录等
(3)课程设计报告书一律使用由学校统一印制的封面,采用黑色墨水工整书写,
并装订成册。
如采用计算机打印,应该配上封面装订成册。
4)答辩与评分标准:
(1)完成原理分析:
20分;
(2)完成设计过程:
40分;
(3)完成调试:
20分;
(4)回答问题:
20分。
5)参考文献:
(1)刘觉夫.《c++程序设计(第二版)》北京邮电大学出版社
(2)谭浩强《c++面向对象程序设计》清华大学出版社
6)课程设计进度安排
内容天数 10 地点
构思及收集资料2 图书馆
组装与调试3 实验室
撰写报告2 图书馆、实验室
学生签名:
2011年6月13日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (20分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (20分):
优( )、良( )、中( )、一般( )、差( );
(4)论文撰写 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)回答问题 (20分):
优( )、良( )、中( )、一般( )、差( );
(6)格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
职称:
2011年6月23日
目 录
一、课程设计任务概述
设计一简易的银行储蓄系统,能承担用户的开户、销户、存款和取款业务。
要求使用结构体或对象存储账户信息,系统要求系统以菜单方式工作,主要
功能有:
(1)开户(输入姓名、身份证号,如不存在,则新开账户)
(2)销户(如有余额,先取款,再销户)
(3)取款(输入取款金额,账户余额不足时提示重新输入,取款成功后显示
账户余额)
(4)存款(输入存款金额,存款成功后显示账户余额)
(5)查询(输入帐号,查询该帐号所有信息)
二、算法设计思想及流程图
银行储蓄系统
1:
开
户
2:
销
户
3:
查
询
4:
退出
1;
存
款
2:
取
款
3:
退
出
2设计思路
首先,我设计了两个类,一个是Account类,旗下有Saving(),Withdraw()和ShouMe()3个函数。
另一个是Bank类,有开户函数Append(),销户函数Delete()和查询函数Query()。
开户函数运用了指针变量,首先设置了一个大小为100的存储空间,运用指针比较方便。
通过地址的变化,指向不同的值。
每增加一个户,则accNum加1.
存款函数,设置了Balance=Balance+number语句。
取款函数,如果帐号余额不足,则给予提示并不予取款。
最后执行Balance=Balance-number。
最后显示账户余额。
销户函数,首先判断帐号是否存在。
如果能获取ID号,则此账户存在,就不要输出“此账户不存在”了。
再把此帐号以后的账户都往前移一个,最后销户成功。
查询函数,先判断账户是否存在,我在查询函数里又设置了存款、取款函数,可以进行存款、取款业务。
在主函数中,设置一个Bank类,设置一个界面,有开户、销户、查询等业务。
输入想要的业务,完毕后再返回主界面。
三、程序清单
#include
#include
classAccount//Account类
{public:
Account();
Account(intID,charna[30],doubleBalance);
voidSaving();
doubleWithdraw();
voidShowMe();
intgetID();
private:
intID;
charname[30];
doubleBalance;
};
classBank//Bank类
{public:
Bank();
voidAppend();
voidDelete();
voidQuery();
private:
Account*account[100];
intaccNum;
doubleBalance;
};
Account:
:
Account()
{
Balance=0.0;
}
Account:
:
Account(intid,charna[30],doubleBal)
{
ID=id;
strcpy(name,na);
Balance=Bal;
}
voidAccount:
:
Saving()//存款
{intnumber;
cout<<"请输入存款金额:
";
cin>>number;
Balance=Balance+number;
cout<<"现在您的账户余额为:
"< } doubleAccount: : Withdraw()//取款 {intnumber; cout<<"请输入取款金额: "; cin>>number; if(Balance {cout<<"对不起,您的账户余额不足"< Balance=Balance-number; cout<<"现在您的账户余额为"< returnBalance; } voidAccount: : ShowMe()//显示信息 { cout<<"账户ID: "< cout<<"名字: "< cout<<"余额: "< } intAccount: : getID()//获取ID {returnID;} Bank: : Bank() { for(inti=0;i<100;i++) account[i]=NULL; accNum=0; } voidBank: : Append()//开户 { intID; charna[30]; cout<<"请输入账户ID: "; cin>>ID; cout<<"请输入账户名字: "; cin>>na; Account*acc=newAccount(ID,na,0); account[accNum]=acc; cout<<"开户成功! "< cout<<"您的信息: "; cout<<"账户ID: "< cout<<"名字: "< accNum=accNum+1; } voidBank: : Delete()//销户 {intID; cout<<"请输入您想销户的ID: "; cin>>ID; intj; intk=1,i=0; while((i {if(ID==account[i]->getID()) k=0; } if(k) {cout<<"此帐号不存在! "< cout<<"您的账户有余额,请先取出! "< account[i]->Withdraw(); cout< for(j=i;j {account[j]=account[j+1];} accNum--; cout<<"销户成功! "< } voidBank: : Query()//查询 {intID; charyn; cout<<"请输入想要查询账户的ID: "; cin>>ID; intk=1,i=0; while((i {if(ID==account[i]->getID()) k=0; else i++; } if(k) {cout<<"此帐号不存在! "< cout<<"是否继续? (Y/N)"< cin>>yn; } account[i]->ShowMe(); intchoice=0; cout<<"1: 存款"< cout<<"2: 取款"< cout<<"3: 返回"< cout<<"请输入您的选择"; cin>>choice; switch(choice) {case1: account[i]->Saving();break; case2: account[i]->Withdraw();break; case3: break; } } voidmain() {Bankbank; charyn; intchoice=0; while (1) { cout<<"******欢迎来到银行系统! ******"< cout<<"******1: 开户******"< cout<<"******2: 销户******"< cout<<"******3: 查询******"< cout<<"******4: 退出******"< cout<<"请输入您的选择: "; cin>>choice; switch(choice) { case1: bank.Append();break; case2: bank.Delete();break; case3: bank.Query();break; case4: break; } cout< cout<<"是否继续? (Y/N)"; cin>>yn; if(yn! ='y') break; } } 四、程序调试与运行结果 <—>程序调试 调试是整个程序编写过程中十分重要也是很困难的一部分,在这个过程中用了很多时间来进行程序的调试,在调试过程中遇到的相关问题如下: 1.语法错误 1.语句的最后忘记了加上“;”,“}”等使程序发生错误。 2.把“<<”与“>>”写反,以及“cout”中少一个o,等等比较简单的语法错误,很容易分辨出来。 3.函数的返回值问题。 4.break语句运用错误。 2.逻辑错误 文件的写入与读出,刚开始对文件的操作不太明白,以致不能很好的操作。 <二>运行结果 5、设计心得(小结) 这个程序虽然不大,但几乎用到了我们所学的所有知识。 乍一看题目,感觉无从下手,通过查资料,慢慢地有所了解,便试着用所学的知识去写,刚弄完时,会弹出许多错误。 做这个程序化了一个多星期的时间,主要是前期没做好准备工作。 程序用到了很多不太熟悉的知识,比如指针操作,要用到指针变量,就要翻书。 感觉不是太成功,程序不是很完善。 但通过这次课程设计,让我了解了程序的一般编排,以及程序设计的一般思想,受益匪浅。 由于是第一次做比较完整的程序,一开始会感觉无从下手。 这次课程设计为以后的写程序打下一个基础。 在做的过程中,我得到了老师和同学的帮助,才得以基本完成。 设计中用到了很多的老师讲的东西。 当我基本完成的时候,感到很高兴,看到了自己努力的成果。 由于刚接触,没有较深的了解,所以我就上网查资料,去图书馆找有关的书来看。 这让我又学习了很多知识。 总之,这次课程设计,让我学到了很多东西。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 银行 储蓄 系统