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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《数据结构》课程设计报告设计题目活期储蓄账目学院名称信息工程学院专业班级13计本1姓名学号000000000000目录一、实验题目—活期储蓄账理-------------------------------二、问题描述-----------------------------------------------三、设计目标-----------------------------------------------四、需求分析-----------------------------------------------五、概要设计-----------------------------------------------1---系统流程图--------------------------------------2--各个模块功能的详细描-------------------------------六、详细设计-----------------------------------------------七、测试分析-----------------------------------------------八、使用说明-----------------------------------------------九、课程设计总结-------------------------------------------一活期储蓄账目管理二问题描述活期储蓄处理中,储蓄开户、销户、存款、取款活动频繁,系统设计要求:•能够比较迅速地找到储户的账户,以实现存款、取款记账;•能比较简单,迅速地插入和删除,以实现开户和销户的需要。三设计目标编写一个程序,要求该程序可以实现储蓄开户,及储蓄销户。同时,该程序具有在储蓄账户中实现存款、取款,查看该账户信息的功能。四需求分析本演示程序用c语言编写,完成银行管理系统的生成,储户开户、销户、存入、支出。a输入的形式和输入值的范围:开户时自定义输入账号、用户姓名、密码、及开户金额;用户登陆时输入正确的账号及密码,完成登陆后即可进行存款、取款及销户。b输出的形式:在所有三种操作中都显示操作是否正确以及相应操作后的内容。其中输入错误回到主页面,可继续选择操作。c程序所能达到的功能:用户开户账户登陆(存款、取款、查询余额、退出登录)账户注销d测试数据五概要设计:1、系统流程图2、各个模块功能的详细描本程序主要包括11个函数voidchoice():该函数可以实现选择功能voidDeleteList(LINK*L):该函数可以实现销户操作voidDeposit(LINK*L,LINK*p):该函数可以实现存款功能voidInitList(LINK*L):构造函数voidInsertList(LINK*L)该函数可以实现开户操作voidmain()定义主函数voidmenu()该函数可以输出菜单页面的功能voidPrinList(LINK*L)把存放在链表中的数据输出来voidPrint(LINK*L)该函数可以将账户信息释放出来voidsave(LINK*L)该函数可以将账户信息存储起来voidSearch(LINK*L)该函数可以实现查询账户是否存在的功能六详细设计(给出算法的伪码描述)#includestdio.h#includestring.h#includestdlib.hinttotal=1;typedefstructElemType{charname[8];intaccount;charpassword[6];floatmoney;}ElemType;typedefstructInode{ElemTypedata;structInode*next;}LINK;LINK*InitList(LINK*L){L=(LINK*)malloc(sizeof(LINK));L-next=NULL;returnL;}voidInsertList(LINK*L){LINK*s;s=(LINK*)malloc(sizeof(LINK));printf(请输入你要开户的姓名:);scanf(%s,s-data.name);s-data.account=10001000+total++;printf(\n你开户的账号为:%d\n,s-data.account);printf(\n请输入你账户的密码:);scanf(%s,s-data.password);s-data.money=0.00;s-next=NULL;if(L-next==NULL)L-next=s;else{s-next=L-next;L-next=s;}printf(开户成功。\n);}voidDeleteList(LINK*L){LINK*p=L,*q;charpass[6];ints;printf(请输入你要销户的账号:);scanf(%d,&s);printf(请输入该账号的密码:);scanf(%s,pass);while(p-next!=NULL){if(p-next-data.account==s)break;p=p-next;}if(p-next!=NULL){while(strcmp((p-next-data.password),pass)!=0){printf(密码错误!请重新输入:);scanf(%s,pass);}q=p-next;p-next=q-next;free(q);printf(账户销户成功。\n);}elseprintf(你所要销户的账户不存在或者该账户已销户。\n);}voidPrinList(LINK*L){LINK*p=L-next;while(p!=NULL){printf(%s\t,p-data.name);printf(%d\t%s\t%2f\n,p-data.account,p-data.password,p-data.money);p=p-next;}}voidDeposit(LINK*L,LINK*p){intcq;floatmn;while(1)if(p!=NULL){printf(请输入存款(1)、取款(2)、查询余额(3)、退出账号(4)。\n(请输入括号内的数字,输入其他数字默认为取款):);scanf(%d,&cq);if(cq==1){printf(请输入你的存款金额:);scanf(%f,&mn);p-data.money=p-data.money+mn;printf(存款成功!\n);}elseif(cq==3){printf(你的账户余额为:%.2f\n,p-data.money);}elseif(cq==4){printf(账号退出成功。\n);return;}else{printf(请输入你的取款金额:);FH:scanf(%f,&mn);if((p-data.money-mn)=0){p-data.money=p-data.money-mn;printf(取款成功!\n);}else{printf(取款失败!\n);printf(你账户上的余额不足!你的账户余额为:%.2fRMP\n,p-data.money);printf(请输入合适的取款金额:);gotoFH;}}}}voidSearch(LINK*L){LINK*p=L-next;intacc;charpass[6];printf(请输入你要登录的账号:);scanf(%d,&acc);printf(请输入你的密码:);scanf(%s,pass);while(p!=NULL){if(p-data.account==acc)break;p=p-next;}if(p==NULL)printf(不存在该账户\n);else{if(strcmp((p-data.password),pass)==0)printf(账户登录成功。\n);else{while(strcmp(p-data.password,pass)!=0){charpa;printf(密码错误\n);printf(是否重新输入(是,就输入任意键)、(否,从键盘输入Norn):);scanf(\n%c,&pa);if(pa=='n'||pa=='N'){system(cls);return;}printf(\n请重新输入你的密码:);scanf(%s,pass);}}Deposit(L,p);}}voidsave(LINK*L){FILE*fp;fp=fopen(Account.txt,w);LINK*p;p=(LINK*)malloc(sizeof(LINK));p=L-next;while(p!=NULL){if(fwrite(p,sizeof(structInode),1,fp)!=1)printf(filewriteerror\n);p=p-next;}fclose(fp);}voidPrint(LINK*L){FILE*fp;LINK*p,*s;if((fp=fopen(Account.txt,r))==NULL){printf(cannotopen.\n);exit(0);}s=(LINK*)malloc(sizeof(LINK));s-next=NULL;for(;fread(s,sizeof(structInode),1,fp)!=0;){total++;if(L-next==NULL){L-next=s;p=s;p-next=s-next;}else{p-next=s;p=s;p-next=s-next;}s=(LINK*)malloc(sizeof(LINK));s-next=NULL;}fclose(fp);}voidmenu(){printf(********欢迎进入活期储蓄账目管理*******\n);printf(1.储蓄开户。\n);printf(2.储蓄销户。\n);printf(3.储蓄的账户存款、取款。\n);printf(4.返回菜单。\n);printf(5.查看所有储蓄账户信息。\n);printf(6.退出账目管理。\n);printf(*****************\n);}voidchoice(){LINK*L=NULL;charxunhan;L=InitList(L);Print(L);while(1){menu();printf(请选择你需要的功能:);scanf(%c,&xunhan);if(xunhan=='6')break;system(cls);switch(xunhan){case'1':InsertList(L);//ch=getchar();break;case'2':DeleteList(L);//ch=getchar();break;case'3':Search(L);//ch=getchar();break;case'4':menu();//ch=getchar();break;case'5':PrinList(L);//ch=getchar();break;default:printf(输入错误!请重新选择功能。\n);break;}fflush(stdin);}save(L);}voidmain(){choice();}七、测试分析白盒黑盒进入菜单界面选择1,实现开户功能·选择2,实现销户功能选择3,账户登陆成功,选择1,实现存款功能选择4,账户登陆成功,选择2,实现取款功能账户登陆成功,选择2,当账户资金不足时账户登陆成功,选择3,显示余额账户登陆成功,选择4,退出账户当已有账户登陆失败时,重新输入密码当目前没有存在的登录账户时,回到菜单选择5,查询所有储户信息选择6实现退出账目管理功能八使用说明运行程序,首先出来的是登陆界面,登录进去就可以到菜单界面,根据菜单的提示选择您想要实现的功能:1.储蓄开户根据提示输入账户名及密码2.储蓄销户根据提示输入账号及密码3.

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功