ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:62.67KB ,
资源ID:8050361      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8050361.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(银行账户管理系统报告书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

银行账户管理系统报告书.docx

1、银行账户管理系统报告书合肥学院C语言课程设计报告 汪乃科 10计本3 1004012036一、 需求分析课程设计名称:银行账户管理系统设计内容:设计一个银行账户管理系统,该系统要求对该系统进行管理和维护。该系统具有开户,查询账户余额,销户,存取款和修改密码等功能。注意对用户的密码进行加密。将客户信息如姓名,身份证号码,电话等信息作为一条记录添加入文件中保存,从实际出发,不要用虚拟的数据。该程序使用Microsoft Visual C+ 6.0编译。二、算法设计、1设计思想:本程序主要运用了数组和指针的知识,用主菜单引入各个子函数,并由子函数实现银行管理系统的初步功能。2设计表示:Menu1的功

2、能是将用户引入新用户注册和老用户登录两个功能,并在此之后与menu2相衔接;menu2主要针对老用户登录之后的功能加强,有取款,存款,查询余额,修改密码等子功能,并可以通过输入功能钱的序号来引导客户使用各种子功能;子函数zhuce是新客户注册的运行函数,新用户可以运用此函数创建一个新的账号并在此之后利用这个账号进行登录;子函数search是用来对比新注册的账号是否有重复的函数,如果重复则新账号创建失败,如果不重复则创建新账号成功,并可以在此后利用该账号进行各种子功能;子函数add是用来将新注册的账号添加至文件中的函数,添加到文件中才能保存该账号以进行老用户登录的功能;子函数denglu是老客户

3、登陆的运行函数,登陆之后则可以通过对比输入的账号和文件中的账号是否有相同,如果有则可以进入menu2中通过选择序号进行各个子函数的运行;子函数gongneng是用来实现老客户登录后运行各种功能的函数,包括取款,存款,查询余额,在进行完每一个子函数后可以按任意键推出程序。3实现注释:#include #include #include char cfile = date.txt;/创建一个文件struct bankchar id10+1;char psw6+1;float money; /定义账号,密码,金额; menu1() printf(*欢迎使用虚拟银行服务!*n); printf(*n)

4、; printf( | 请输入序号 |n); printf( | 1.新用户开户。 |n); printf( | 2.老用户登陆。 |n); printf( | 3.退出系统。 |n); printf(*n); printf(请选择功能:n); /一级菜单,实现新用户注册和老用户menu2()printf(* 欢迎进入虚拟银行系统 *n);printf(*n);printf(*1.取款; *n);printf(*2.存款; *n);printf(*3.查询余额; *n);printf(*4.返回主页面; *n);printf(*任意键退出. *n);printf(*n);/二级菜单实现老用户登

5、陆后的各种功能int search(char* user, char* pwd, char* real_pwd)/将注册的账号与已注册的账号对比是否重复 FILE* file; char user_no256, pwd_no256; file = fopen(cfile, r); if (!file) return 0; while (!feof(file) if (fscanf(file, %s%sn, user_no, pwd_no) = EOF) return 0; if (!strcmp(user_no, user) if (real_pwd) strcpy(real_pwd, pwd

6、_no); return 1; fclose(file); return 0;int add(char* user, char* pwd)/如果新注册的账号不重复,则将其添加至文件data.txt中 FILE* file; file = fopen(cfile, a); if (!file) return 0; fprintf(file, %s %s n, user, pwd ); fclose(file); return 0;int wenjian(char* user, char* pwd ) if (search(user, pwd, NULL) return 0; else add(u

7、ser, pwd ); return 1; zhuce()/新用户注册 struct bank *p; int i=0; char name30; float money; char sh18,n;p=(struct bank*)malloc(sizeof(struct bank);/p创造动态存储空间 printf(请输入您的名字:);gets(name);fflush(stdin); printf(请输入您的身份证号码:);gets(sh);fflush(stdin); printf(请输入您的帐号10位:n); fflush(stdin); scanf(%s,p-id); fflush(

8、stdin); printf(请输入您的密码(6位数字):n); fflush(stdin); scanf(%s,p-psw); fflush(stdin); printf(请输入您的存款:n); fflush(stdin); scanf(%f,&money); fflush(stdin); if (wenjian(p-id,p-psw) system(cls); printf(注册成功!); printf(您的注册信息如下:n); printf(名字:); puts(name); printf(身份证号码:); puts(sh); printf(帐号:); puts(p-id); print

9、f(密码:); puts(p-psw); printf(存款); printf(%f,money); printf(按1返回主页面. 按任意键退出:); fflush(stdin); scanf(%c,&n); fflush(stdin); if(n=1) system(cls); return 0; else exit(0);/当输入1时返回上一级菜单,否则程序终止 else system(cls); printf(您输入的帐号已经存在注册失败!按1返回,按任意键退出n); scanf(%c,&n); if(n=1) system(cls); return 0; else exit(0);

10、gongneng(char Account10,char Password6,float Money)/实现老用户登陆后的各种功能FILE *ps;struct bank xin100;int k=0,j=0,n;char Chiose;float inmoney,outmoney;menu2();fflush(stdin);scanf(%c,&Chiose);fflush(stdin);ps=fopen(cfile,r);if (!ps) exit(0); if(Chiose=1) printf(输入您的取款金额:); fflush(stdin); scanf(%lf,&outmoney);

11、 fflush(stdin); while(!feof(ps) fscanf(ps, %s %s %lf,&xink.id,&xink.psw,&xink.money); k+; fclose(ps); ps=fopen(cfile,wb); if (!ps) exit(0); for (j=0;j+) if (strcmp(Account, xinj.id)=0)&(strcmp(Password, xinj.psw)=0) xinj.money=xinj.money-outmoney; printf(%.2lfn,xinj.money); fprintf(ps, %s %s %.2lfn,

12、 xinj.id, xinj.psw, xinj.money); j+; break; /实现菜单2中的取款功能printf(按1返回主页面. 按任意键退出:); fflush(stdin); scanf(%c,&n); fflush(stdin); if(n=1) system(cls); return 0; else exit(0); if(Chiose=2) printf(输入您的存款款金额:); fflush(stdin); scanf(%lf,&inmoney); fflush(stdin); while(!feof(ps) fscanf(ps, %s %s %lf,&xink.id

13、,&xink.psw,&xink.money); k+; fclose(ps); ps=fopen(cfile,wb); if (!ps) exit(0); for (j=0;j+) if (strcmp(Account, xinj.id)=0)&(strcmp(Password, xinj.psw)=0) xinj.money=xinj.money+inmoney; printf(%.2lfn,xinj.money); fprintf(ps, %s %s %.2lfn, xinj.id, xinj.psw, xinj.money); j+; break; /实现菜单2中的存款功能printf

14、(按1返回主页面. 按任意键退出:); fflush(stdin); scanf(%c,&n); fflush(stdin); if(n=1) system(cls); return 0; else exit(0); if(Chiose=3)while(!feof(ps) fscanf(ps, %s %s %lf,&xink.id,&xink.psw,&xink.money); k+; fclose(ps);ps=fopen(cfile,r);if (!ps) exit(0); for(j=0;j+) if (strcmp(Account, xinj.id)=0)&(strcmp(Passwo

15、rd, xinj.psw)=0) printf(%.2lfn,xinj.money); fprintf(ps, %s %s %.2lfn, xinj.id, xinj.psw, xinj.money); j+; break; /实现菜单2中的查询余额的功能printf(按1返回主页面. 按任意键退出:); fflush(stdin); scanf(%c,&n); fflush(stdin); if(n=1) system(cls); return 0; else exit(0); if(Chiose=4) return 0; denglu()FILE *fp;char account10,pa

16、ssword6,h;int m=0;char real_account10; char real_password6; float real_money=0.0; fp = fopen(cfile, r);if (!fp) exit(0); while (m=2) printf(请输入您的帐号(10位):); gets(account); fflush(stdin); printf(请输入您的密码(6位):); gets(password); fflush(stdin); while(fscanf(fp, %s %s %lf, &real_account, &real_password,&re

17、al_money) != EOF) if (strcmp(real_account, account)=0)&(strcmp(real_password, password)=0) system(cls); printf(登陆成功!); gongneng(real_account,real_password,real_money); fclose(fp); return 0; /输入曾经注册过的账号进行登陆,账号或密码输入错误则有三次重新输入的机会,否则退出程序 else rewind (fp); printf(您输入的帐号不不正确!请重新输入:n); m+; printf(请输入您的帐号(1

18、0位):); gets(account); fflush(stdin); printf(请输入您的密码(6位):); gets(password); fflush(stdin); fclose(fp);printf(您输入帐号密码不正确已经3次,被强制退出(按任意键退出)!); fflush(stdin);scanf(%c,&h);fflush(stdin);exit(0);int main() char chiose; char flag; while (flag!=N) menu1(); scanf(%c,&chiose); getchar(); if(chiose =4) while(c

19、hiose =4) printf(您的输入有误,请重新输入:); scanf(%c,&chiose); getchar(); /在一级菜单中所输入的账号必须在15之间,否则无法进行下一步操作 if(chiose=1) system(cls); zhuce(); printf (继续请按任意键,退出请按N); scanf (%c,&flag); if(chiose=2) system(cls); denglu(); printf (继续请按任意键,退出请按N); scanf (%c,&flag); if(chiose=3) printf(谢谢您的使用!); exit(0); /一级菜单中按3直接

20、退出程序4算法设计中一些新的想法:在本次程序的编写过程中,用了清除缓冲的新想法,即fflush(stdin),清除缓冲的不走可以代替回车和字符的功能;另外,我还对头文件“conio.h”的功能进行查询,发现其为屏幕操作系列函数的头文件。在程序的运行中也有几处不足,在menu2中不能在使用一个子函数后再返回菜单调用另一个子函数,在menu2的三项功能取款、存款、查询余额中,无论输入什么数字都会显示-1720304.00,也就是不能正确显示,账户中的余额。三、 用户手册在进入程序后首先将会出现menu1的菜单,共有新用户注册和老用户登录两个功能,可按序号进行功能选择,此时序号数只能为12,否则将会

21、直接跳出系统;新用户注册完之后可以进行老用户的账号登录,此时,对于输入进的老账户账号和密码将会与之前文件中所输入的所有新账户账号和密码做对比,若有相同的则老账号可以成功登录,否则将会输出“您所输入的账号/密码有误”;若账号成功登录将会将程序引入menu2,此时,使用者再次可以通过选择序号进行功能选择,序号只能为13,否则将会直接跳出系统;按1进入取款功能,输入要取的金额,打印出账户中剩下的金额;按2进入存款功能,输入要存的金额,打印出账户中剩下的金额;按3进入查询余额,程序直接打印出账户中的余额。四、 调试及测试一开始程序刚写完时有不少错误,在老师和同学的指导下一一把错误改正过来,最终程序才能

22、够运行成功。通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我只坐了一个下午,什么也没干!回去以后,我想,这样不行,这样下去还得了!我就重新学了一遍我们上个学期的教材,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题!那个欢迎动画是在”C语言之家”找到的自已改了一下,但并没做多大的改动!之后做出来的第一个程序是”统计数”,因为上个月做过类似的!接着是”乘法逆”,这个我觉得比较简单!再接着是”OTP”加密!而那个银行管理系统是参考了上机手册后做出来的!最后,

23、花了最多时间的是”异或加密与解密”和”移位解密”,几乎花了我百分之九十的时间,而且还是在一些在其他大学读计科专业的同学的帮助下和在上网查看了大量的资料之后才做出来!五、小结通过这次程序设计,我第一次尝试编写一个几百行的大程序,虽然过程非常艰辛,不过我还是觉得非常值得,当看到程序最后能运行时感到非常欣慰,虽然最后程序的功能还是有点不健全,但是我还是有信心有热情在今后的时间里努力巩固自己的C语言知识,争取能够再一次独立的编写出一个大程序。六、参考文献1 黄明等编著C语言课程设计北京:电子工业出版社2 郭翠英编著C语言课程设计案例精编北京:中国水利水电出版社3 宁正元数据结构(c语言) 南京:东南大学出版社。2000年6月第1版4 严蔚敏等 数据结构(c语言版) 北京:清华大学出版社,1997年4月第1版5 谭浩强编著C程序设计题解与上机指导(第3版) 北京:清华大学出版社6 谭浩强编著C程序设计(第3版) 北京:清华大学出版社

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

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