




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-作者xxxx-日期xxxx课程设计银行储蓄管理系统【精品文档】数据结构课程设计报告设计题目 活期储蓄账目 学院名称 信息工程学院 专 业 班 级 13计本1 姓 名 学 号 000000000000 【精品文档】目录 一、实验题目活期储蓄账理 -二、问题描述-三、设计目标-四、需求分析-五、概要设计- 1-系统流程图- 2-各个模块功能的详细描-六、详细设计-七、测试分析-八、使用说明-九、课程设计总结-一 活期储蓄账目管理二 问题描述活期储蓄处理中,储蓄开户、销户、存款、取款活动频繁,系统设计要求: 能够比较迅速地找到储户的账户,以实现存款、取款记账; 能比较简单,迅速地插入和删除,以实现
2、开户和销户的需要。三 设计目标编写一个程序,要求该程序可以实现储蓄开户,及储蓄销户。同时,该程序具有在储蓄账户中实现存款、取款,查看该账户信息的功能。四 需求分析本演示程序用c语言编写,完成银行管理系统的生成,储户开户、销户、存入、支出。a输入的形式和输入值的范围:开户时自定义输入账号、用户姓名、密码、及开户金额;用户登陆时输入正确的账号及密码,完成登陆后即可进行存款、取款及销户。b输出的形式:在所有三种操作中都显示操作是否正确以及相应操作后的内容。其中输入错误回到主页面,可继续选择操作。c 程序所能达到的功能: 用户开户 账户登陆(存款、取款 、查询余额、 退出登录) 账户注销d测试数据五
3、概要设计:1、系统流程图2、各个模块功能的详细描本程序主要包括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) 该函
4、数可以将账户信息释放出来void save(LINK *L)该函数可以将账户信息存储起来void Search(LINK *L)该函数可以实现查询账户是否存在的功能六 详细设计(给出算法的伪码描述)#include<stdio.h>#include<string.h>#include<stdlib.h>int total=1;typedef struct ElemTypechar name8;int account;char password6;float money; ElemType;typedef struct InodeElemType data;s
5、truct Inode *next;LINK;LINK * InitList(LINK *L)L=(LINK *)malloc (sizeof(LINK);L->next=NULL;return L;void InsertList(LINK *L)LINK*s;s=(LINK*)malloc(sizeof(LINK);printf("请输入你要开户的姓名:");scanf("%s",s->);s->data.account=10001000+total+;printf("n你开户的账号为:%dn",
6、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;elses->next=L->next;L->next=s;printf("开户成功。n");void DeleteList(LINK *L)LINK*p=L,*q;char pass6;int s;printf("请输入你
7、要销户的账号:"); 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&qu
8、ot;,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->);printf("%dt%st%2fn",p->data.account,p->data.password,p->dat
9、a.money);p=p->next;void Deposit(LINK *L,LINK *p)int cq;float mn;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;
10、printf("存款成功!n");else if(cq=3)printf("你的账户余额为:%.2fn",p->data.money);else if(cq=4)printf("账号退出成功。n");return;elseprintf("请输入你的取款金额:");FH: scanf("%f",&mn);if(p->data.money-mn)>=0)p->data.money=p->data.money-mn;printf("取款成功!n"
11、;);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("
12、%s",pass);while(p!=NULL)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("是否重新输入(是,就输入任意键)、(否,从键盘
13、输入N or n):");scanf("n%c",&pa);if(pa='n'|pa='N')system("cls");return;printf("n 请重新输入你的密码:");scanf("%s",pass);Deposit (L,p);void save(LINK *L)FILE*fp;fp=fopen("Account.txt","w");LINK*p;p=(LINK *)malloc (sizeof(LINK);p
14、=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)printf("can not open.n");exit(0);s=(LINK *)malloc(sizeof(LINK)
15、;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")
16、;printf("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(&quo
17、t;%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':
18、PrinList(L);/ch=getchar();break;default:printf("输入错误!请重新选择功能。n");break;fflush(stdin);save(L);void main()choice();七、 测试分析白盒黑盒进入菜单界面选择1,实现开户功能·选择2, 实现销户功能选择3,账户登陆成功,选择1,实现存款功能选择4,账户登陆成功,选择2,实现取款功能账户登陆成功,选择2,当账户资金不足时账户登陆成功,选择3,显示余额账户登陆成功,选择4,退出账户当已有账户登陆失败时,重新输入密码当目前没有存在的登录账户时,回到菜单选择5,查询所有储户信息选择6 实现退出账目管理功能八 使用说明运行程序,首先出来的是登陆界面,登录进去就可以到菜单界面,根据菜单的提示选择您想要实现的功能:1.储蓄开户 根据提示输入账户名及密码2.储蓄销户 根据提示输入账号及密
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论