1、 目录目录 (一) 需求分析 (二) 概要设计 1) 主要思想 2) 具体功能流程 3) 定义结构 (三) 详细设计 基本函数 (四) 调试与操作结果 一、 进入操作界面 二、 储蓄开户 三、 储户登陆,存款,查询,取款,查询 四、 显示储户信息 (五) 课程设计总结与体会 (六) 致谢 (七) 参考文献 (八) 附源代码 (一一) 需求分析需求分析 设计简单的活期储蓄账目管理系统,实现最基本的功能。 1. 设计题目设计题目:设计活期储蓄账目管理。 2. 设计任务设计任务:活期储蓄处理中,储户开户、销户、存入、支出活动频繁。 系统设计要求: 1) 能比较迅速地找到储户的账目,以实现存款、取款记
2、账。 2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。 3. 设计思想设计思想:建立链表,快速实现账户的增添,插入,删除功能。 4. 运行环境运行环境:VC6.0+ (二二) 概要设计概要设计 1) 主要思想主要思想: 2) 具体功能流程具体功能流程: a) 开户 操作界面 开户 用户密码登陆 查 询 存 款 取 款 退 出 b) 查询,存款或取款 c) 定义定义结构结构: typedef struct ElemType /定义结构体 char name11; int account; char password7; float money; ElemType; typedef
3、 struct lnode /定义链表 ElemType data; struct lnode *next; LINK; 储蓄 菜单 输入 姓名 获得 账号 输入 密码 开户 成功 储蓄 菜单 功能 选择 查询 YES 登陆 NO 输入 账号 密码 取款 存款 (三三) 详细设计详细设计 基本函数: 01) void InsertList(LINK * /定义的全局变量,用于开户所需 typedef struct ElemType /定义结构体 char name11; int account; char password7; float money; ElemType; typedef st
4、ruct lnode /定义链表 ElemType data; struct lnode *next; LINK; void InitList(LINK * L-next=NULL; void InsertList(LINK * LINK *s; s=(LINK*)malloc(sizeof(LINK); printf(“请输入你要开户的姓名(10 字符以内):“); scanf(“%s“,s-data.name); x=rand()%10; /随机数 total+=x; /total 随机增大一个数值(10 以内)x s-data.account=10000000+total; printf
5、(“n 你开户的账号为:%dn“,s-data.account); printf(“请输入你账号的密码(6 位数以内):“); 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“); void DeleteList(LINK * char pass6; int s; printf(“请输入你要销户的账号:“); scanf(“%d“, printf(“请输入该账号的密码:“); sc
6、anf(“%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“); else printf(“你所要销户的的账号不存在(或者已经销户)。n“); void PrintList(LINK*L) /打印链表,实现用户信息输出 LINK *p=L-next; while (p!=NULL) printf(“%st“,p-data.name); printf(“%dt%st%.2fn“,p-data.account,p-data.passwor