银行账户管理系统报告书.docx
《银行账户管理系统报告书.docx》由会员分享,可在线阅读,更多相关《银行账户管理系统报告书.docx(20页珍藏版)》请在冰豆网上搜索。
银行账户管理系统报告书
合肥学院
计算机科学与技术系
课程设计报告
2010~2011学年第二学期
课程
C语言课程设计
课程设计名称
银行管理系统
学生姓名
章小敏
学号
1004012035
专业班级
10级计本三班
指导教师
何立新、高玲玲
2011年6月
合肥学院
计算机科学与技术系
课程设计任务书
2010~2011学年第二学期
课程
C语言程设计
课程设计名称
银行账户管理系统
专业班级
10级计本三班
指导教师
何立新、高玲玲
2011年6月
一、课程设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:
(1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。
(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
二、课程设计名称及内容
课程设计名称:
银行账户管理系统
设计内容:
设计一个银行账户管理系统,该系统要求对该系统进行管理和维护。
三、任务和要求
该系统具有开户,查询账户余额,销户,存取款和修改密码等功能。
注意对用户的密码进行加密。
将客户信息如姓名,身份证号码,电话等信息作为一条记录添加入文件中保存,从实际出发,不要用虚拟的数据。
四、设计方案提示
(1)界面
创建带有弹出式菜单窗口界面。
(2)输入数据并存入文件
使用到结构体变量和动态链表,对输入的信息进行合法性判断,直到输入正确为止。
都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。
(3)加密
可采用移位加密法
五、主要知识点
●程序设计方法
●界面制作。
●动态数组(链表)。
●文件的读写及加密。
六、其他
程序设计可在TurboC、VC++、C++Builder环境下进行。
七、参考资料
[1]黄明等编著《C语言课程设计》北京:
电子工业出版社
[2]郭翠英编著《C语言课程设计案例精编》北京:
中国水利水电出版社
[3]宁正元《数据结构(c语言)》南京:
东南大学出版社。
2000年6月第1版
[4]严蔚敏等《数据结构(c语言版)》北京:
清华大学出版社,1997年4月第1版
[5]谭浩强编著《C程序设计题解与上机指导(第3版)》北京:
清华大学出版社
[6]谭浩强编著《C程序设计(第3版)》北京:
清华大学出版社
计算机科学与技术系课程设计评分表
学生/学号:
章小敏1004012035专业/班级:
10级计本三班
设计题目
银行帐户管理系统
成绩
课
程
设
计
主
要
内
容
一、内容
设计一个银行账户管理系统,该系统要求对该系统进行管理和维护。
二、任务和要求
该系统具有开户,查询账户余额,销户,存取款和修改密码等功能。
注意对用户的密码进行加密。
将客户信息如姓名,身份证号码,电话等信息作为一条记录添加入文件中保存,从实际出发,不要用虚拟的数据。
序号
评价项目
评分
满分
得分
1
实验过程出勤率好。
10
2
实验预研报告清晰、正确、图表齐全、质量高
10
3
态度认真,作风严谨,并按规定的进度开展实验工作
10
4
能很好地完成任务书规定的工作量
10
5
在实验中,学生使用和操作仪器的能力、观察和分析实验现象的能力、主动排除故障的能力
10
6
对实验结果有自己独立见解
10
7
答辩简明扼要、重点突出地阐述课题的主要内容
10
8
准确流利地回答各种问题,能否阐明自己的观点
10
9
课程设计报告,内容充实、图表齐全、数据处理正确、结构合理、书面整洁
10
10
文字表达能力强,准确地表达自己的思想。
10
总体评价
累计得分
教师签名
日期
注:
(1)成绩评定采用五级记分制优秀(90~100分)、良好(80~89分)、中等(70~79分)、
及格(60~69分)、不及格(60分以下)
一、需求分析
我计划编写银行帐户管理系统。
要求该系统具有开户,查询账户余额,销户,存取款和修改密码等功能。
注意对用户的密码进行加密。
将客户信息如姓名,身份证号码,电话等信息作为一条记录添加入文件中保存,从实际出发,不要用虚拟的数据。
二、算法设计
变量的定义、输入和输出函数、if语句、结构体的运用、数组的使用、链表的创建和执行、循环语句、转义字符的使用、菜单的制作及多级菜单的调用、子函数的实现
算法思想,各个子函数的功能分部执行
子函数menu1()实现提醒用户使用选项1.新用户的注册;2.老用户的使用;3.退出;
子函数zhuce()注册,申请内存,提示用户输入姓名和身份证号码,并用if语句来判
断身份证号码是否合法,如果合法后再提示输入账号和密码,分别判断输入是否合法,
不合法的则要求重新输入;
所有信息都输入完后再调用子函数wenjian()、,这些子涵数的功能是在已经存在的信
息中查询(deta.txt)
子函数denglu();打开文件cfile,如果文件不存在则退出程序,存在则继续运行;
子函数gongneng();显示二级菜单menu2();输入选项,以只读方式打开文档,如果
文档不存在则出程序
*程序主要流程图:
如下
*设计表示
1.本程序实现的功能要求:
利用各种循环和判断语句及函数完成所显示菜单上的功能。
2.本程序的大致流程实现原理:
1.包含各类函数调用实现的头文件;
2.定义一个文档,以存储后面的文件和使用文档直接使用程序;
3.声明一个结构体变量,有id(账号)psw(密码)money(数量);
4.各类子函数的代码;
5.主函数定义两个字符串常量chiose和flag;
用while给整个主函数加套一个循环,当flag不等于N的时候程序一直运行;
调用子函数menu1()显示菜单功能;
6.子函数menu1()实现提醒用户使用选项1.新用户的注册;2.老用户的使用;3.退出;
7.menu1()执行完后回到主函数,选择一个选项从键盘上读取;
8.用if判断选项是否合法,如果超过了1~3的范围则提示输入有误重新输入;
9.开始第一个判断,如果上面输入的是选项1,先清屏再执行子函数zhuce();
10.子函数zhuce()注册,申请内存,提示用户输入姓名和身份证号码,并用if语句来判断身份证号码是否合法,如果合法后再提示输入账号和密码,分别判断输入是否合法,不合法的则要求重新输入;
11.所有信息都输入完后再调用子函数wenjian()、,这些子涵数的功能是在已经存在的信息中查询(deta.txt)
12.上步的if子函数返回值如果为真则清屏提示注册成功了并显示注册的所有信息,如果返回值为假提示注册失败;
13.界面提示返回主页面或者退出程序;
14.重新返回主页面即菜单menu1();
15.第九条,如果上面输入的是选项2,先清屏再执行子函数denglu();
16.子函数denglu();打开文件cfile,如果文件不存在则退出程序,存在则继续运行;
17.嵌套循环,条件是输入次数小于三次,提示用户输入账号和密码,再有循环体判断输入的账号密码是否和注册过的一样,如果一样则提示登录成功,执行子函数gongneng(real_account,real_password,real_money);此时已经读入存款;
18.如果三次输入的账号和密码不对应则提示强制退出程序;
19.子函数gongneng();显示二级菜单menu2();输入选项,以只读方式打开文档,如果文档不存在则出程序;
20.菜单选择,如果选择1、提示用户输入取款金额,用while(!
feof(ps))来实现重文件头查询到文件尾,清除缓存再以读写方式打开文档,文件不存在则结束;
21.for循环实现修改文档内数据,修改完毕后退出,提示返回主页面或者退出程序;
22.菜单选择,如果选择2、原理和上面取款一样;
23.菜单选择,如果选择3、原理和上面一样,只是显示文档内查询到得数据;
24.菜单选择,如果选择4、退出系统;
25.主函数选项,菜单一选择为三的时候提示谢谢使用并结束程序。
*部分代码注释:
gongneng(real_account,real_password,real_money);
fclose(fp);
return0;
}//输入曾经注册过的账号进行登陆,账号或密码输入错误则有三次重新输入的机会,否则退出程序
else
rewind(fp);
printf("您输入的帐号不不正确!
请重新输入:
\n");
m++;
printf("请输入您的帐号(10位):
");
gets(account);
fflush(stdin);
printf("请输入您的密码(6位):
");
gets(password);
fflush(stdin);
}}
fclose(fp);
printf("您输入帐号密码不正确已经3次,被强制退出(按任意键退出)!
");
fflush(stdin);
scanf("%c",&h);
fflush(stdin);
exit(0);
}
intsearch(char*user,char*pwd,char*real_pwd)//将注册的账号与已注册的账号对比是否重复
{
FILE*file;
charuser_no[256],pwd_no[256];
file=fopen(cfile,"r");
if(!
file)return0;
while(!
feof(file))
{
if(fscanf(file,"%s%s\n",user_no,pwd_no)==EOF)return0;
if(!
strcmp(user_no,user))
{
if(real_pwd)strcpy(real_pwd,pwd_no);
return1;
}
}
fclose(file);
return0;
}
intadd(char*user,char*pwd)//如果新注册的账号不重复,则将其添加至文件data.txt中
{
FILE*file;
file=fopen(cfile,"a");
if(!
file)return0;
fprintf(file,"%s%s\n",user,pwd);
fclose(file);
return0;
}
printf("按1返回主页面.按任意键退出:
");
fflush(stdin);
scanf("%c",&n);
fflush(stdin);
if(n=='1')
{
system("cls");
return0;
}
else
exit(0);
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直接退出程序
三、用户手册:
进入程序显示欢迎菜单,有三个选项,用户根据提示选择序号并回车确定。
若是新用户使用,选择一进入新用户注册,根据提示输入自己得身份信息和要注册得账号和密码,账号和密码要控制在十和六位
当系统判断出你要注册得账号是合法的时候会提示你注册成功,并在下方显示你所注册得账号个人信息。
提示按1返回到一级菜单,按其他得任意键将退出系统。
新用户注册后即享有老用户的使用权,按二进入二级菜单,提示输入用户得账号和密码。
用户有三次机会判断,超过三次就退
出程序,对得话就进入个人用户使用界面如下:
按照提示选择选项,操作如下,如果选择1提示用户输入取款金额,输入后将显示用户帐户余额:
四.对设计过程的理解
本次C语言设计中运用了一些课本上没有说明的内容,虽然程序做完了,但还有很多地方需要改进。
在设计过程中遇到的问题有如下几点:
数据读取时需要一定的缓存,在开始定义的时候有charpsw[6]等,但程序运行后出现问题,在显示注册信息的时候和文件内容存储的时候帐号不是输入时的帐号,而是帐号加密码变成了新的帐号。
经过分析这应该是文件的末尾/0读取时发生错误。
主函数里面开始时没有加外部循环,导致运行后不能正常返回到主页面。
程序中没有对密码这一内容进行操作,这是需要添加的;
五.C语言设计总结
本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。
在刚开始的几次调试中曾经出现过不能运行、不能产生正确数字、不能循环执行、不会正确输出结果等等问题。
经过我的努力及老师的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善。
现在它能对出错的题目发出提示,并且给出机会重新输入。
在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。
从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。
除此之外,我还得到了一些有用的教训:
写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。
在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误
六.致谢
能够完成这次课程设计必须感谢C语言课程老师是她教会了我C语言这门课程,以及两位指导课程设计的老师帮我修改了几处重要错误,同时启发我完善了该程序的功能。
七.参考文献
[1]黄明等编著《C语言课程设计》北京:
电子工业出版社
[2]郭翠英编著《C语言课程设计案例精编》北京:
中国水利水电出版社
[3]宁正元《数据结构(c语言)》南京:
东南大学出版社。
2000年6月第1版
[4]严蔚敏等《数据结构(c语言版)》北京:
清华大学出版社,1997年4月第1版
[5]谭浩强编著《C程序设计题解与上机指导(第3版)》北京:
清华大学出版社
[6]谭浩强编著《C程序设计(第3版)》北京:
清华大学出版社