数据结构课程设计--活期储蓄账目管理

上传人:s9****2 文档编号:560294486 上传时间:2023-12-03 格式:DOC 页数:25 大小:77KB
返回 下载 相关 举报
数据结构课程设计--活期储蓄账目管理_第1页
第1页 / 共25页
数据结构课程设计--活期储蓄账目管理_第2页
第2页 / 共25页
数据结构课程设计--活期储蓄账目管理_第3页
第3页 / 共25页
数据结构课程设计--活期储蓄账目管理_第4页
第4页 / 共25页
数据结构课程设计--活期储蓄账目管理_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《数据结构课程设计--活期储蓄账目管理》由会员分享,可在线阅读,更多相关《数据结构课程设计--活期储蓄账目管理(25页珍藏版)》请在金锄头文库上搜索。

1、软件技术基础课程设计活期储蓄账目管理一 目的满足活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求.能比较迅速地找到储户的帐户进而显示储户信息,以实现存款、取款记账;能比较简单,迅速地实现插入和删除,以实现开户和销户的需要;熟练使用 C 语言编写程序,解决实际问题;学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。二 需求分析1、数据需求1。需先进行储户开户才可进行之后的所有的操作.2.开户时需要的数据有姓名、身份证号码、联系电话、密码、账号会自动生成。3.销户时,需用输入账号与密码(两者都正确后)方可销户;存取款时,也

2、需进行账号及密码验证后方可进行交易。2、基本功能需求基本的功能有新建储户(开户)、删除储户(销户)、存取款、查询储户信息(此步也可看见交易后的信息)、显示所有储户信息。3、 非功能性需求 系统以菜单界面方式工作,运行界面友好,演示程序以用户和计算机的对话方式进行。三 概要设计1、数据结构设计用结构体来定义其数据类型,然后将数据按照该数据结构存储,之后运用文件的相关知识将更改的数据写入文件中,采用数组类型的存储结构。2、储存结构体设计本系统主要用线性表表结构类型来存储在“活期储蓄账目管理系统”中的信息。其中,结构体由5个分量构成:用户账号、用户姓名、用户身份证号码、用户密码、开户金额。3、 模块

3、设计活期储蓄账目管理显示菜单选择功能 1.新建储户 2.查询储户信息3.显示所有储户信息4.删除储户5.存款 6.取款 7.退出账目管理。void add()函数实现新建储户功能void select_id()函数实现查询储户信息功能void display()函数实现显示所有储户信息功能void del()函数实现删除储户功能void save_money() 函数实现存款功能void get_money()函数实现取款功能void print()函数用于显示菜单void main()函数用于实现菜单中的功能四 详细设计1、结构体的详细定义struct user /用户类型(账号,姓名,身份

4、证号,存款)int id;char name20;char person_num19;char password6;double money;2、系统函数详细介绍void add()函数实现新建储户功能void add() /添加用户printf(%45sn”,”*新建储户*);printf(”-nn);struct user getuser();struct user temp;int count(); /函数目的:计算文件中的记录数目 以生成自动账号FILE fp;int number;if((fp=fopen(file,ab”)=NULL)printf(”Can not open fil

5、e!n);exit(1);temp=getuser(); /读取用户名number=count();temp.id=number+1; /生成自动账号fwrite(&temp,sizeof(struct user),1,fp);printf(添加用户成功!n”);fclose(fp);void select_id()函数实现查询储户信息功能void select_id() /查询储户信息int count();void getpassword(char *password);printf(45sn”,*查询储户信息*);printf(”-n);printf(”%s 15s %15s 15sn,

6、编号”,”用户姓名”,”身份证号码,存款余额”);printf(-nn);FILE fp;struct user temp;int i,maxnum;char password8;bool flag=false;if(fp=fopen(file,”rb”)=NULL)printf(”cannot open file!n”);exit(1);maxnum=count();printf(”输入要查询账号:”); scanf(d”,&i);if(imaxnum)printf(你要查询的账号不存在!);return;printf(”输入账号密码:);scanf(”%s”,password);while

7、(fread(&temp,sizeof(struct user),1,fp) /循环读取每一条记录 判断是否为要查看的记录if(temp。id=i&strcmp(temp。password,password)=0)printf(NO.%d 8s 25s %.2fn,temp.id,temp.name,temp.person_num,temp。money);flag=true;break;if(flag=false) /判断密码是否正确printf(”您输入的密码不正确!n);return;fclose(fp);void display()函数实现显示所有储户信息功能void display()

8、 /显示所有储户信息printf(45sn,”*显示所有储户信息*);printf(”-n);printf(s %15s 15s %15sn,”账号”,用户姓名”,”身份证号码,存款余额);printf(”-n”);FILE *fp;struct user temp;if(fp=fopen(file,rb)=NULL)printf(cannot open file!n”);exit(1);while(fread(temp,sizeof(struct user),1,fp)printf(NO.d 10s %23s 。2fn,temp。id,temp。name,temp。person_num,te

9、mp.money);fclose(fp);void del()函数实现删除储户功能void del() /删除储户printf(%45sn,*删除储户*”);printf(-n);printf(”s %15s %15s %10sn”,账号”,用户姓名”,身份证号码,存款余额”);printf(-n”);int count();void getname(char name);void getperson_num(char person_num);void getpassword(char password);FILE *fp;int i,num,mark;char password6;bool

10、flag=false;struct user *temp;num=count();/根据记录数申请空间temp=(struct user )malloc(numsizeof(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(imark|marknum)printf(”你

11、要注销的账号不存在!”);return;printf(”输入账号密码: );scanf(”s”,&password);if(fp=fopen(file,wb)=NULL) /写方式打开文件,覆盖原文件中的内容printf(”cannot open file!n);exit(1);for(i=0;inum;i+) /无效账户信息全部置为0if(tempi。id=mark&strcmp(tempi。password,password)=0&tempi.money=0.00) strcpy(tempi。person_num,”0”);strcpy(tempi。name,”0”);strcpy(tempi.password,”0);flag=true;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 创业/孵化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号