洛 阳 理 工 学 院 课 程 设 计 报 告
课程名称
设计题目
数据结构课程设计
活期储蓄帐目管理
课 程 设 计 任 务 书
设计题目:活期储蓄帐目管理 _________________________________________________________ 设计内容与要求:
【问题描述】 活期储蓄处理中,储户开户、销户、存入、支出活动频繁。设计 一个活期储蓄账目管理系统。
【基本要求】
能比较迅速地找到储户的帐户,以实现存款、取款记账;
能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
课 程 设 计 评 语
成绩:
指导教师:_______________
年
月
日
洛 阳 理 工 学 院
课 程 设 计 报 告
问题描述:活期储蓄处理中,储户开户、销户、存入、支出活动频繁。 设计一个活期储蓄账目管理系统。
基本要求:
能比较迅速地找到储户的帐户,以实现存款、取款记账;
能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
(3)测试数据:
0
洛 阳 理 工 学 院
课 程 设 计 报 告
(4)算法思想: 1 主要思想
1
2 开户
3 查询
1
洛 阳 理 工 学 院
课 程 设 计 报 告
(5)模块划分:
void InsertList(LINK *&L) //链表插入实现开户功能
void Search(LINK *L) //链表查找,实现用户登陆功能
void Deposit(LINK *&L,LINK *p) //用户存款、取款
void PrintList(LINK*L) //打印链表,实现用户信息输出
void DeleteList(LINK *&L) //链表删除,实现销户功能(需要账号和密码)
void save(LINK *L) //保存链表,实现用户信息保存到文件
void Print(LINK *&L) //打开文件,得到链表
void menu() //主菜单函数
void choice() //菜单选择函数
(6)数据结构:
typedef struct ElemType //定义结构体
{
char name[11];
int account;
char password[7];
float money;
2
洛 阳 理 工 学 院 }ElemType;
typedef struct lnode //定义链表
{
ElemType data;
struct lnode *next;
}LINK;
课 程 设 计 报 告
(7)心得:
这次实验我学到了很多在课本上没有注意的知识,在设计实验的过程中,我 通过对链表的应用,让我对链表的应用更加的牢固,也通过设计,我也发现了我 在学习中的不足,在不断改进程序的同时,我也发现了很多能够改进的地方,在 改进程序的同时,巩固对链表的知识掌握。
这次我设计的程序,主要是以链表为中心,通过对链表的建立,插入,删除 打印等来实现开户、销户、存钱、取钱等功能。其中链表打印的环节的功能我不 是很明白,通过上网查询。查找资料。逐渐改善。最终实现完全的程序
(8) 源程序:
#include
#include
#include
#include
#define file "lnode.txt"
int total=0; //定义的全局变量,用于开户所需
typedef struct ElemType //定义结构体
{
char name[11];
3
洛 阳 理 工 学 院 int account;
char password[7];
float money;
}ElemType;
typedef struct lnode //定义链表
{
ElemType data;
struct lnode *next;
}LINK;
void InitList(LINK *&L) //建立空链表 {
L=(LINK *)malloc (sizeof(LINK));
L->next=NULL;
课 程 设 计 报 告
}
void InsertList(LINK *L) //链表插入实现开户功能 {
int x; LINK *s; s=(LINK*)malloc(sizeof(LINK)); printf("请输入你要开户的姓名(10 字符以内):"); scanf("%s",s->data.name);
x=rand()%10; //随机数
total+=x; //total 随机增大一个数值(10 以内)x s->data.accounttotal;
printf("\n 你开户的账号为:%d\n",s->data.a