银行定期储蓄管理系统课程设计.docx

上传人:b****8 文档编号:9870515 上传时间:2023-02-07 格式:DOCX 页数:14 大小:179.46KB
下载 相关 举报
银行定期储蓄管理系统课程设计.docx_第1页
第1页 / 共14页
银行定期储蓄管理系统课程设计.docx_第2页
第2页 / 共14页
银行定期储蓄管理系统课程设计.docx_第3页
第3页 / 共14页
银行定期储蓄管理系统课程设计.docx_第4页
第4页 / 共14页
银行定期储蓄管理系统课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

银行定期储蓄管理系统课程设计.docx

《银行定期储蓄管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《银行定期储蓄管理系统课程设计.docx(14页珍藏版)》请在冰豆网上搜索。

银行定期储蓄管理系统课程设计.docx

银行定期储蓄管理系统课程设计

 

C++课程设计

题目:

银行定期储蓄管理系统

学院:

计算机系

专业:

网络工程

班级

学生姓名:

学生学号:

指导教师:

 

三.详细设计-4-

四.调试分析-9-

五.使用说明-9-

六.测试结果-10-

七.设计总结-13-

 

一、需求分析

该系统存储以下信息:

(1)每笔存款的储户信息和办理该笔存款的营业员信息,这些信息存放于存款文件中。

其中,储户信息包括:

帐号、姓名、密码、地址、储种(定期1年、3年、5年),本金、收储日期、是否已挂失和挂失日期,营业员信息包括接待该储户的营业员的姓名与工号。

(2)每笔取款的储户信息和办理该笔取款的营业员信息,这些信息存放于取款文件中。

系统功能要求如下:

1创建存款文件(第一次输入储户信息时)。

2创建取款文件(第一次办理取款时)。

3接收储蓄。

接受储户与营业员信息并将以上信息添加到存款文件中。

4处理挂失。

根据储户提供的帐号、姓名、密码、地址、储种,核查有无此项存款,有则对此帐号加入挂失标记,若无此项存款,则需判断存款是、否被领走还是未发生过这笔存款。

5办理取款。

 

二、概要设计

操作集合:

(1)voidkh()/*开户*/

(2)voidqk()/*取款*/

(3)voidcx()/*查询*/

(4)voidck()/*存款*/

(5)voiddl()/*进入系统菜单*/

(6)voidxh()/*账户注销*/

(7)voidgl()/*功能菜单*/

三、详细设计

voidkh()/*开户*/

{

FILE*pa,*pa1;

charmm_ok[20];

pa=fopen("db.dat","ab");

lp:

cout<<"请输入你的名字:

";

cin>>dat.mz;

pa1=fopen("db.dat","rb");

cout<<"帐号:

";

cin>>dat.zh;

while(fread(&temp,sizeof(temp),1,pa1)==1)

{

if((strcmp(dat.zh,temp.zh)==0))

{

cout<<"此帐号已经有人用了,请重新输入.\n";

fclose(pa1);

gotolp;

}

}

cout<<"密码:

";

cin>>dat.mm;

cout<<"确认密码:

";

cin>>mm_ok;

if(strcmp(dat.mm,mm_ok)!

=0)

{

cout<<"确认密码不一样!

请重新输入.\n";

gotolp;

}

dat.money=0;

dat.statue=1;

fwrite(&dat,sizeof(dat),1,pa);

fclose(pa);

cout<<"申请成功.\n";

cout<<"输入任何键返回菜单......\n";

}

voidcx()/*查询*/

{

FILE*pa;

charzh[20];

pa=fopen("db.dat","rb");

if(pa==NULL)

{

cout<<"还没有一个人申请帐号.\n";

cout<<"输入任何键返回菜单......\n";

}

else

{

cout<<"请输入你的帐号:

";

cin>>zh;

while(feof(pa)==0)

{

fread(&dat,sizeof(dat),1,pa);

if(strcmp(dat.zh,zh)==0)

{

cout<<"------------------------------------------------\n";

cout<<"|名字|帐号|存款(元)|状态|\n";

cout<<"|------------|------------|---------|----------|\n";

cout<

//cout<<"|%12s|%12s%|%9d|%10d|\n",dat.mz,dat.zh,dat.money,dat.statue;//要改

cout<<"------------------------------------------------\n";

cout<<"按任何键返回菜单......\n";

getchar();

break;

}

elseif(feof(pa)!

=0)

{

cout<<"帐号不存在!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

break;

}

}

}

fclose(pa);

}

voidck()/*存款*/

{

FILE*db,*lan;

charzh[20];

charmm[20];

intmoney,i=1;

db=fopen("db.dat","rb");

if(db==NULL)

{

cout<<"还没有一个人申请帐号.\n";

cout<<"输入任何键返回菜单......\n";

//getchar();

gotogl;

}

cout<<"请输入你的帐号:

";

cin>>zh;

cout<<"密码:

";

cin>>mm;

while(!

feof(db))

{

fread(&dat,sizeof(dat),1,db);

if(strcmp(zh,dat.zh)==0&&strcmp(mm,dat.mm)==0)

{

cout<<"请输入你要存款的数额:

";

cin>>money;

strcpy(temp.mz,dat.mz);

strcpy(temp.zh,zh);

strcpy(temp.mm,mm);

temp.money=dat.money+money;

break;

}

i++;

if(feof(db)!

=0)

{

cout<<"帐号不存在!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gotogl;

}

}

if(strcmp(zh,temp.zh)==0&&strcmp(mm,temp.mm)==0)

{

fclose(db);

lan=fopen("db.dat","wb+");

fseek(lan,i*sizeof(temp),0);

fwrite(&temp,sizeof(temp),1,lan);

rewind(lan);

fclose(lan);

}

cout<<"存款成功!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gl:

;

}

voidqk()/*取款*/

{

FILE*db,*lan;

charzh[20];

charmm[20];

intmoney,i=1;

db=fopen("db.dat","rb");

if(db==NULL)

{

cout<<"还没有一个人申请帐号.\n";

cout<<"输入任何键返回菜单......\n";

getchar();

gotogl;

}

cout<<"请输入你的帐号:

";

cin>>zh;

cout<<"密码:

";

cin>>mm;

while(!

feof(db))

{

fread(&dat,sizeof(dat),1,db);

if(strcmp(zh,dat.zh)==0&&strcmp(mm,dat.mm)==0)

{

cout<<"请输入你要取款的数额:

";

cin>>money;

if(money>dat.money)

{

cout<<"对不起,您的余额不足!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gotogl;

}

strcpy(temp.mz,dat.mz);

strcpy(temp.zh,zh);

strcpy(temp.mm,mm);

temp.money=dat.money-money;

break;

}

i++;

if(feof(db)!

=0)

{

cout<<"帐号不存在!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gotogl;

}

}

if(strcmp(zh,temp.zh)==0&&strcmp(mm,temp.mm)==0)

{

fclose(db);

lan=fopen("db.dat","wb+");

fseek(lan,i*sizeof(temp),0);

fwrite(&temp,sizeof(temp),1,lan);

rewind(lan);

fclose(lan);

}

cout<<"取款成功!

\n";

cout<<"按任何键返回菜单......\n";

getchar();

gl:

;

}

四、调试分析

1使用环境:

VisualC++6.0.

2.操作要求:

程序运行后,用户根据提示输入数字或者是字符以进入相应的功能处理函数。

程序调用建表功能函数后,用户将按照规定的方式输入你所要选用的菜单。

进入相应的功能区。

如果输入的数字或者字符不符合题目要求,则会产生错误结果。

五、使用说明

步骤如下:

1.输入管理员账号:

admin密码:

admin888.

2.出现功能菜单,可输入数字选择相应功能。

如:

申请账号、存款管理、取款管理、查询管理、注销管理、退出系统。

3.如果选择申请账号,则输入名字、账号、密码、确认密码。

账号申请则完成。

4.按照第3步骤完成其他功能。

5最后退出管理系统即可。

六、测试结果

进入管理系统:

 

七.设计总结

尹柳姿:

在课程设计中问题主要出现在需求分析、程序编码、程序测试这几个阶段。

测试时出现不少错误,要反复的改反复的测试。

由于在课程设计之前没有太多接触软件工程方面的知识,虽然看过一点相关书籍但是理解不够,并不能按要求贯彻到课程设计中去,所以只能按照自己所想写报告。

需求分析中的多方考虑是必不可少的,有了这样的理解才能准确的写出需求报告,这对以后的课程设计是非常重要的.不过这次课程设计也巩固了我这学期所学的知识,同时也激发了我编程的兴趣和热情。

感觉自己进步了不少。

奉星:

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。

在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。

蒋芳:

在为期不到两周的课程设计中,我体会颇多,学到很多东西,使我加强了对C++的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。

从而对MicrosoftVisualC++6.0又有了更深入的认识!

在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、总体设计、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果)、系统使用说明等。

总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。

最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序,让我对编程更加热爱了。

袁新:

在本次设计中我感觉到设计的关键是对问题的分析,这也是问题的难点。

根据对问题的分析设计函数,指出函数的关系,这也是十分重要的,也是必不可少的一步。

同时也遇到很多其他的问题,比如很多东西不会用或者忘记了,也有可能情况没有考虑全面。

但是只要努力用心解决这些问题,就一定可以把这些问题都消灭掉。

当课程设计做完后,相当于把这部分的知识又复习了一遍,对我十分有益处。

今后,我会更加努力学习编程。

 

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

当前位置:首页 > 初中教育 > 英语

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

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