银行模拟储蓄所程序设计.docx

上传人:b****5 文档编号:8351694 上传时间:2023-01-30 格式:DOCX 页数:17 大小:106.16KB
下载 相关 举报
银行模拟储蓄所程序设计.docx_第1页
第1页 / 共17页
银行模拟储蓄所程序设计.docx_第2页
第2页 / 共17页
银行模拟储蓄所程序设计.docx_第3页
第3页 / 共17页
银行模拟储蓄所程序设计.docx_第4页
第4页 / 共17页
银行模拟储蓄所程序设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

银行模拟储蓄所程序设计.docx

《银行模拟储蓄所程序设计.docx》由会员分享,可在线阅读,更多相关《银行模拟储蓄所程序设计.docx(17页珍藏版)》请在冰豆网上搜索。

银行模拟储蓄所程序设计.docx

银行模拟储蓄所程序设计

高级语言程序设计

 

设计题目:

银行模拟储蓄系统

 

理 学  院  电子信息科学与技术 专  业20101422 班   

一、课程设计题目  模拟银行储蓄所  

二、课程设计工作自2011年11月1日起至2011年11月28日止。

三、课程设计地点:

理学院实验中心。

寝室

四、课程设计内容要求:

1.本课程设计的目的

(1)使学生掌握C++的基本语法以及程序编辑、运行过程;

(2)培养学生掌握程序设计的基本思路和方法;

(3)使学生掌握程序的调试方法;

(4)培养学生分析、解决问题的能力;

(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求

1)基本要求:

设计一简易的银行储蓄系统,能承担用户的开户、销户、存款、取款等业务。

要求使用结构体或对象存储账户信息,系统要求系统以菜单方式工作。

(1)开户(输入姓名、身份证号,如不存在,则新开账户)

(2)销户(如有余额,先取款,再销户)

(3)取款(输入取款金额,账户余额不足时提示重新输入,取款成功后显示账户余额)

(4)存款(输入存款金额,存款成功后显示账户余额)  

(5)查询(输入帐号,查询该帐号所有信息)

2)创新要求:

在基本要求达到后,可进行创新设计,如改善算法性能;对系统进行功能扩充。

3)课程设计论文编写要求

(1)要按照书稿的规格打印誊写课程设计报告

(2)课程设计报告书内容主要包括目录、绪论、正文、小结、参考文献、附录等

(3)课程设计报告书一律使用由学校统一印制的封面,采用黑色墨水工整书写,

并装订成册。

如采用计算机打印,应该配上封面装订成册。

4)参考文献:

(1)刘觉夫.《c++程序设计(第二版)》北京邮电大学出版社

(2)谭浩强《c++面向对象程序设计》清华大学出版社

 

目 录

 

一、课程设计任务概述-4-

二、算法设计思想及流程图-5-

三、程序清单-7-

四、程序调试与运行结果-13-

五、设计心得(小结)-16-

 

一、课程设计任务概述

设计一简易的银行储蓄系统,能承担用户的开户、销户、存款和取款业务。

要求使用结构体或对象存储账户信息,系统要求系统以菜单方式工作,主要

功能有:

 

 

 

(1)开户(输入姓名、身份证号,如不存在,则新开账户)

(2)销户(如有余额,先取款,再销户)

(3)取款(输入取款金额,账户余额不足时提示重新输入,取款成功后显示

账户余额)

 

(4)存款(输入存款金额,存款成功后显示账户余额)

  

(5)查询(输入帐号,查询该帐号所有信息)

 

二、算法设计思想及流程图

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:

"<getID();

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、设计心得(小结)

这个程序虽然不大,但几乎用到了我们所学的所有知识。

乍一看题目,感觉无从下手,通过查资料,慢慢地有所了解,便试着用所学的知识去写,刚弄完时,会弹出许多错误。

做这个程序化了一个多星期的时间,主要是前期没做好准备工作。

程序用到了很多不太熟悉的知识,比如指针操作,要用到指针变量,就要翻书。

感觉不是太成功,程序不是很完善。

但通过这次课程设计,让我了解了程序的一般编排,以及程序设计的一般思想,受益匪浅。

由于是第一次做比较完整的程序,一开始会感觉无从下手。

这次课程设计为以后的写程序打下一个基础。

在做的过程中,我得到了老师和同学的帮助,才得以基本完成。

设计中用到了很多的老师讲的东西。

当我基本完成的时候,感到很高兴,看到了自己努力的成果。

由于刚接触,没有较深的了解,所以我就上网查资料,去图书馆找有关的书来看。

这让我又学习了很多知识。

总之,这次课程设计,让我学到了很多东西。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1