活期储蓄帐目管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洛阳理工学院
课程设计报告
课程名称数据结构课程设计
设计题目活期储蓄帐目管理
课程设计任务书
设计题目:活期储蓄帐目管理_________________________________________________________ 设计内容与要求:
【问题描述】活期储蓄处理中,储户开户、销户、存入、支出活动频繁。设计一个活期储蓄账目管理系统。
【基本要求】
1) 能比较迅速地找到储户的帐户,以实现存款、取款记账;
2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
课程设计评语
成绩:
指导教师:_______________
年月日
(1)问题描述:活期储蓄处理中,储户开户、销户、存入、支出活动频繁。设计一个活期储蓄账目管理系统。
(2)基本要求:
1) 能比较迅速地找到储户的帐户,以实现存款、取款记账;
2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
(3)测试数据:
(4)算法思想:1主要思想
1
2开户
3查询
(5)模块划分:
01)void InsertList(LINK *&L) //链表插入实现开户功能
02)void Search(LINK *L) //链表查找,实现用户登陆功能
03)void Deposit(LINK *&L,LINK *p) //用户存款、取款
04)void PrintList(LINK*L) //打印链表,实现用户信息输出
05)void DeleteList(LINK *&L) //链表删除,实现销户功能(需要账号和密码)
06)void save(LINK *L) //保存链表,实现用户信息保存到文件
07)void Print(LINK *&L) //打开文件,得到链表
08)void menu() //主菜单函数
09)void choice() //菜单选择函数
(6)数据结构:
typedef struct ElemType //定义结构体
{
char name[11];
int account;
char password[7];
float money;
}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];
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->);
x=rand()%10; //随机数
total+=x; //total随机增大一个数值(10以内)x
s->data.account=10000000+total;
printf("\n你开户的账号为:%d\n",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");
}