银行账户管理系统c语言链表,课程设计银行储蓄管理系统Word版

《课程设计银行储蓄管理系统Word版》由会员分享,可在线阅读,更多相关《课程设计银行储蓄管理系统Word版(22页珍藏版)》请在人人文库网上搜索。

1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!数据结构课程设计报告设计题目 活期储蓄账目 学院名称 信息工程学院 专 业 班 级 13计本1 姓 名 学 号 000000000000 目录 一、实验题目活期储蓄账理 -二、问题描述-三、设计目标-四、需求分析-五、概要设计-1-系统流程图-2-各个模块功能的详细描-六、详细设计-七、测试分析-八、使用说明-九、课程设计总结-一 活期储蓄账目管理二 问题描述活期储蓄处理中,储蓄开户、销户、存款、取款活动频繁,系统设计要求: 能够比较迅速地找到储户的账户,以实现存款、取款记账; 能比较简单,迅速地插入和删除,以实现开户和销户的需要。三 设计。

2、目标编写一个程序,要求该程序可以实现储蓄开户,及储蓄销户。同时,该程序具有在储蓄账户中实现存款、取款,查看该账户信息的功能。四 需求分析本演示程序用c语言编写,完成银行管理系统的生成,储户开户、销户、存入、支出。a输入的形式和输入值的范围:开户时自定义输入账号、用户姓名、密码、及开户金额;用户登陆时输入正确的账号及密码,完成登陆后即可进行存款、取款及销户。b输出的形式:在所有三种操作中都显示操作是否正确以及相应操作后的内容。其中输入错误回到主页面,可继续选择操作。c 程序所能达到的功能:用户开户账户登陆(存款、取款 、查询余额、 退出登录)账户注销d测试数据五 概要设计:1、系统流程图2、各个。

3、模块功能的详细描本程序主要包括11个函数void choice():该函数可以实现选择功能 void DeleteList(LINK *L):该函数可以实现销户操作void Deposit(LINK *L,LINK *p):该函数可以实现存款功能void InitList(LINK *L):构造函数void InsertList(LINK *L)该函数可以实现开户操作void main()定义主函数void menu() 该函数可以输出菜单页面的功能void PrinList(LINK*L) 把存放在链表中的数据输出来void Print(LINK*L) 该函数可以将账户信息释放出来void 。

4、save(LINK *L)该函数可以将账户信息存储起来void Search(LINK *L)该函数可以实现查询账户是否存在的功能六 详细设计(给出算法的伪码描述)#include#include#includeint total=1;typedef struct ElemTypechar name8;int account;char password6;float money; ElemType;typedef struct InodeElemType data;struct Inode *next;LINK;LINK * InitList(LINK *L)L=(LINK *)malloc 。

5、(sizeof(LINK);L-next=NULL;return L;void InsertList(LINK *L)LINK*s;s=(LINK*)malloc(sizeof(LINK);printf(请输入你要开户的姓名:);scanf(%s,s-data.name);s-data.account=10001000+total+;printf(n你开户的账号为:%dn,s-data.account);printf(n请输入你账户的密码:);scanf(%s,s-data.password);s-data.money=0.00;s-next=NULL;if(L-next=NULL)L-nex。

6、t=s;elses-next=L-next;L-next=s;printf(开户成功。n);void DeleteList(LINK *L)LINK*p=L,*q;char pass6;int s;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(密码错误!请重。

7、新输入:);scanf(%s,pass);q=p-next;p-next=q-next;free(q);printf(账户销户成功。n);else printf(你所要销户的账户不存在或者该账户已销户。n);void PrinList(LINK*L)LINK*p=L-next;while(p!=NULL)printf(%st,p-data.name);printf(%dt%st%2fn,p-data.account,p-data.password,p-data.money);p=p-next;void Deposit(LINK *L,LINK *p)int cq;float mn;while(。

8、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);else if(cq=3)printf(你的账户余额为:%.2fn,p-data.money);else if(cq=4)printf(账号退出成功。n);return;elseprintf(请输入你的取款金额:);FH: scanf(%f,&。

9、mn);if(p-data.money-mn)=0)p-data.money=p-data.money-mn;printf(取款成功!n);elseprintf(取款失败!n);printf(你账户上的余额不足!你的账户余额为:%.2fRMPn,p-data.money);printf(请输入合适的取款金额:);goto FH;void Search(LINK *L)LINK *p=L-next;int acc;char pass6;printf(请输入你要登录的账号:);scanf(%d,&acc);printf(请输入你的密码:);scanf(%s,pass);while(p!=NULL)。

10、if(p-data.account=acc)break;p=p-next;if(p=NULL)printf(不存在该账户n);elseif(strcmp(p-data.password),pass)=0)printf(账户登录成功。n);elsewhile(strcmp(p-data.password,pass)!=0)char pa;printf(密码错误n);printf(是否重新输入(是,就输入任意键)、(否,从键盘输入N or n):);scanf(n%c,&pa);if(pa=n|pa=N)system(cls);return;printf(n 请重新输入你的密码:);scanf(%。

11、s,pass);Deposit (L,p);void save(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(struct Inode),1,fp)!=1)printf(file write errorn);p=p-next;fclose(fp);void Print(LINK * L)FILE* fp;LINK * p,* s;if(fp=fopen(Account.txt,r)=NULL)print。

12、f(can not open.n);exit(0);s=(LINK *)malloc(sizeof(LINK);s-next=NULL;for(;fread(s,sizeof(struct Inode),1,fp)!=0;)total+;if(L-next=NULL)L-next=s;p=s;p-next=s-next;elsep-next=s;p=s;p-next=s-next;s=(LINK*)malloc(sizeof(LINK);s-next=NULL;fclose(fp);void menu()printf(*欢迎进入活期储蓄账目管理*n);printf(1.储蓄开户。n);prin。

13、tf(2.储蓄销户。n);printf(3.储蓄的账户存款、取款。n);printf(4.返回菜单。n);printf(5.查看所有储蓄账户信息。n);printf(6.退出账目管理。n);printf(*n);void choice()LINK *L=NULL;char xunhan;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();br。

14、eak;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);void main()choice();七、 测试分析白盒黑盒进入菜单界面选择1,实现开户功能选择2, 实现销户功能选择3,账户登陆成功,选择1,实现存款功能选择4,账户登。

15、陆成功,选择2,实现取款功能账户登陆成功,选择2,当账户资金不足时账户登陆成功,选择3,显示余额账户登陆成功,选择4,退出账户当已有账户登陆失败时,重新输入密码当目前没有存在的登录账户时,回到菜单选择5,查询所有储户信息选择6 实现退出账目管理功能八 使用说明运行程序,首先出来的是登陆界面,登录进去就可以到菜单界面,根据菜单的提示选择您想要实现的功能:1.储蓄开户 根据提示输入账户名及密码2.储蓄销户 根据提示输入账号及密码3.储蓄的账户存款、取款。登陆好自己的账号,选择要实现功能,1存款,2取款,3显示余额。若不能登陆成功,则根据提示建立一个账户。4.返回菜单。5.查看所有储蓄账户信息。6.退出账目管理。九 课程设计总结通过本次课程设计使我对编程有了新的认识,对自己所学的知识有了新的了解。在做本次课成设计的过程中,我巩固了自己所学过的知识,并且能将这些知识运用到实际中。当然,在这个过程中我也遇到很多困难,不会编写函数,不会调程序,不能理解程序中的内容,但经过俩周多的努力,我克服这些困难,圆满的完成了本次课程设计,使自己有了巨大的进步。在下次课程设计中,我一定会发挥得更好,让自己再次提高。

你可能感兴趣的:(银行账户管理系统c语言链表)