




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数据结构课程设计报告设计题目 活期储蓄账目 学院名称 信息工程学院 专 业 班 级 13计本1 姓 名 学 号 0 专心-专注-专业目录 一、实验题目活期储蓄账理 -二、问题描述-三、设计目标-四、需求分析-五、概要设计- 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 save(LINK *
4、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;struct Inode *next;LINK;LINK
5、* 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=+total+;printf("n你开户的账号为:%dn",s->data.account);printf("n请输
6、入你账户的密码:");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("请输入你要销户的账号:"); scanf("%d"
7、,&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-
8、>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->data.money);p=p->next;void Deposit(L
9、INK *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;printf("存款成功!n");else if(c
10、q=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");elseprintf("取款失败!n");pr
11、intf("你账户上的余额不足!你的账户余额为:%.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)if(p-&g
12、t;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&qu
13、ot;,&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=L->next;while(p!=NULL)if(fwrite(
14、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);s->next=NULL;for(;fread(s,sizeof
15、(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");printf("2.储蓄销户。n");printf
16、("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=
17、39;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;defa
18、ult: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省临沂市莒南县2024-2025学年二年级下册期中考试语文试卷(含答案)
- 北京二中2024-2025学年高一年级下学期期末考试物理试卷(无答案)
- 汉字家园5-2课件
- 2025年甘肃省嘉峪关市实验中学中考数学二模试卷(含答案)
- 生物科技行业投资机会分析报告
- “非遗”之首-昆曲经典艺术欣赏知到智慧树见面课答案-1
- 汉字书法课件模板楷书兀
- 2025建筑项目搬迁合同模板示例
- 永州公共基础知识培训课件
- 水质采样员基本知识培训课件
- NB/T 11629-2024煤炭行业物资分类与编码规范
- 2025-2030中国增强型飞行视觉系统行业市场发展趋势与前景展望战略研究报告
- 电梯有限空间作业安全专项施工方案
- 《锂离子电池正极材料研究》课件
- 无呕吐病房的CINV管理
- 2025年福建南平市武夷山水茶业有限公司招聘笔试参考题库含答案解析
- JCC工作循环检查流程与标准
- 牢记教师初心不忘育人使命作新时代合格人民教师课件
- 门窗工程采购相关知识
- 2025风电机组无人机巡检技术方案
- 浙江省台州市住在室内装修施工合同书
评论
0/150
提交评论