活期储蓄账目管理系统.doc
《活期储蓄账目管理系统.doc》由会员分享,可在线阅读,更多相关《活期储蓄账目管理系统.doc(25页珍藏版)》请在沃文网上搜索。
1、数据结构课程设计 课程设计题目:活期存储账目管理系统姓 名:院系: 计算机学院专 业:计算机科学与技术 年 级: 11级 学 号:指导教师:2013 年 10月 12 日目 录 1 课程设计的目的1 2 需求分析1 3 课程设计报告内容1 3.1概要设计1-2 3.2详细设计 2-10 3.3调试分析10-12 3.4用户手册13 3.5测试结果13 3.6程序清单13-24 4 小结 24 5 参考文献 24-25 1 课程设计的目的设计活期储蓄帐目管理系统的要求:活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:能比较迅速地找到储户的帐户,以实现存款、取款记账;能比较简单,
2、迅速地实现插入和删除,以实现开户和销户的需要。设计这个活期账目管理系统可以方便银行人员进行管理和调试,从而也能提 高我们的编程技能熟练使用 C 语言编写程序,解决实际问题;了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;2 需求分析(1)创建文件,用数组形式存储用户数据,开户时自定义用户账户、 姓名、密码、开户金额。(2) 用户登录时,输入正确的用户姓名、用户密码,完成登录后即可进行存款、取款、 查询、修改密码。(也可以输入用户账号、用户密码)
3、(3)实现输入用户的账户名和密码,将其全部信息删除,进行销户。3 课程设计报告内容3.1概要设计在本课程设计的方案设计中,已经确定了用链表来作为数据的存储结构(也可以不用单链表),所以这里我没有采用单链表作为其存储结构,首先用结构体来定义其数据类型,然后将数据按照该数据结构存储,之后运用文件的相关知识将更改的数据写入文件中,这样就完成了本课程设计的方案设计。为了实现需求分析中的功能,可以从以下几个方面着手设计。(1)数据结构设计 该课程设计的数据结构是线性的数据存储结构,采用的是数组类型的存储结构。(2)存储结构设计 该存储结构是链式存储结构,本系统主要用线性表表结构类型来存储在“活期储蓄账目
4、管理系统”中的信息。其中,结构体由4个分量构成:用户账号名、用户姓名、用户密码、开户金额。(3)模块设计 用户开户用户销户用户登录用户存入及其支 出进入账目管理系统(4)模块功能分析及其外部设计 开户模块主要是输入需要开户的姓名,然后建立开户账号,提醒输入账号密码。销户模块则是输入需要销户的账号及其密码,然后从系统中销去些账号的相关记录。同样存款是根据提醒输入需要登录的账号,然后再输入其密码,之后就可以查看其账号上的相关资料。 取款则是要求登录需要存入及其支出的账号,然后对该账号进行相关的存入及支出。程序的外部设计主要是通过编写一个菜单功能来实现各个模块功能的调用,从而更好的协调各个模块功能之
5、间的关系,同时还要编写一段代码来实现所有数据更改后将其写入文件中,实现数据的及时更新,维护数据的正确性.3.2详细设计(1)数据类型定义 本系统采用链式结构存储储蓄账目管理系统结构。结点定义如下: struct user char name20; int id; char password8; double money; (2)系统主要子程序详细设计 用户输入要想开户的储户输入其姓名账户密码,然后显示开户 成功,会有一个账户号生成,则开户就成功了。 可以设计账户开户函数:add(); 用户登录需要输入账户名和密码,判断密码是否正确,如果错误则返回, 然后点击登录,就可以进入管理系统。 则需要设
6、计用户信息输入函数:getuser(); 用户的存取款和查询余额,首先在登录账户的基础上,选择存或者取款,然后输入 相应的金额, 若是取款应判断其金额是否小于账户上的金额,如果不小于,则提示 储户重新输入相应的金额,或者退出。 可以设计存款函数:save_money();取款函数:get_money(); 查询余额函数(用名字进行查询):select_name();查找用户账号函数:select_name(); 储户输入需要销户的账号,然后程序自动判断该账号是否存在,然后输入账号密码, 若账号与密码相对应,则删除该账号。 可以设计函数销户函数:del();系统显示函数dispaly(); 1用
7、户开户函数void add() printf(%30sn,*用户开户*);printf(-nn);struct user getuser();int count(); FILE *fp;int number;struct user temp;if(fp=fopen(file,ab)=NULL)printf(cannot open file!n);exit(1);temp=getuser(); number=count(); temp.id=number+1; fwrite(&temp,sizeof(struct user),1,fp);printf(用户开户成功!n);fclose(fp);2
8、.按姓名查询帐户余额void select_name()void getname(char *name); void getpassword(char *password);printf(%30sn,*按照姓名查询账户余额*);printf(%8s %15s %15s %10sn,账号,用户姓名,存款余额);printf(-nnn);FILE * fp;struct user temp;char name20;char password8;if(fp=fopen(file,rb)=NULL)printf(cannot open file!n);exit(1);printf(输入要查询的姓名:)
9、; getname(name);printf(请输入密码:); getpassword(password);while(fread(&temp,sizeof(struct user),1,fp) if(strcmp(temp.name,name)=0&strcmp(temp.password,password)=0)printf(NO.%d %20s %.2fn,temp.id,temp.name,temp.money);fclose(fp);按账号查询账户余额void select_id() int count();void getpassword(char *password);print
10、f(%30sn,*按照编号查询账户余额*);printf(%8s %15s %10sn,编号,用户姓名,存款余额);printf(-nn);FILE * fp;struct user temp;int i,maxnum;char password8;if(fp=fopen(file,rb)=NULL)printf(cannot open file!n);exit(1);maxnum=count();printf(输入要查询账号:); scanf(%d,&i); printf(输入账号密码:);scanf(%s,&password);if(imaxnum)printf(你要查询的账号不存在!);
11、return;while(fread(&temp,sizeof(struct user),1,fp)if(temp.id=i&strcmp(temp.password,password)=0)printf(NO.%d %20s %.2fn,temp.id,temp.name,temp.money);fclose(fp);显示用户资料void display() printf(%30sn,*用户资料显示*); printf(%8s %15s %10sn,账号,用户姓名,存款余额);printf(-nn);FILE * fp;struct user temp;if(fp=fopen(file,rb
12、)=NULL)printf(cannot open file!n);exit(1);while(fread(&temp,sizeof(struct user),1,fp)printf(NO.%d %20s %.2fn,temp.id,temp.name,temp.money);fclose(fp);储户存款void save_money() printf(%30sn,*用户存款业务*);printf(-nn);int count();void getpassword(char *password);FILE *fp;int i,num,mark;struct user *temp; char
13、password8;num=count(); temp=(struct user *)malloc(num*sizeof(struct user);if(fp=fopen(file,rb)=NULL)printf(cannot open file!n);exit(1);for(i=0;inum;i+)fread(&tempi,sizeof(struct user),1,fp);fclose(fp);printf(输入要存款账号:); scanf(%d,&mark);if(marknum)printf(你要存款账号不存在!);return; printf(输入账号密码:); scanf(%s,&
14、password);if(fp=fopen(file,wb)=NULL) printf(cannot open file!n);exit(1);for(i=0;inum;i+)if(tempi.id=mark)double money=0;printf(输入要存入的金额:);scanf(%lf,&money);if(money=0)printf(只能为正数!n);money=0;tempi.money +=money; fwrite(&tempi,sizeof(struct user),1,fp);fclose(fp);free(temp);printf(你存款业务已办妥!n);储户取款voi
15、d get_money() printf(%30sn,*用户取款业务*);printf(-nn);int count();void getpassword(char *password);FILE *fp;int i,num,mark;struct user *temp; char password8;num=count();temp=(struct user *)malloc(num*sizeof(struct user);if(fp=fopen(file,rb)=NULL)printf(cannot open file!n);exit(1);for(i=0;inum;i+)fread(&t
16、empi,sizeof(struct user),1,fp);fclose(fp);printf(输入要取款账号:);scanf(%d,&mark);if(marknum)printf(你要取款账号不存在!);return; printf(输入账号密码:);scanf(%s,&password);if(fp=fopen(file,wb)=NULL)printf(cannot open file!n);exit(1);for(i=0;inum;i+) if(tempi.id=mark) double money=0;printf(输入要取出的金额:);scanf(%lf,&money);if(m
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 活期 储蓄 账目 管理 系统