学院:信息科学与工程学院。
班级:通信工程1301班。
题目:活期储蓄帐目管理系统
指导老师:康松林。
完成日期:2023年7月16日。
设计一个活期储蓄帐目管理系统。
活期储蓄处理中,储户开户、销户、存入、支出活动频繁。
系统设计要求:
1、能比较迅速地实现插入,以实现储户开户的功能,储户开户时需输入的信息包括储户姓名,密码。
2、能比较迅速地通过储户的账户序号和密码找到储户的账户,并删除该账户,以实现销户的功能。
3、能比较迅速地通过储户的账户序号和密码找到储户的账户(密码不对时,可选择是否重新输入密码)实现账户登录的功能。登录成功后,再通过修改链表结点数据域中的对应元素,以实现存款、取款、显示余额等功能,若取款时账户余额不足,输出提示信息“取款失败!你账户上的金额不足!
”,并显示账户当前余额,并且提示重新输入合适的取款金额。
4、查找活期储蓄帐目管理系统当前存在的储户,当输出活期储蓄帐目管理系统没有账户时,输出提示信息“活期储蓄帐目管理系统没有账户”,当有账户时,输出所有账户的相关信息,包括储户姓名,帐号,密码,账户余额。
课程设计题目的要求是,要较简单迅速地实现开户、销户、存款、取款、输出用户信息的功能,于是我很自然地想到了可以用单链表的结构,通过编写相应功能函数来实现建立新结点、删除结点、修改结点中数据域的内容、输出结点数据域中的内容等功能,即可满足课程设计题目的要求。
先定义单链表结点的数据域,数据域包括储户姓名、账户序号、账户密码、账户金额等储户信息,然后再定义链表结点,链表结点包括结点数据域和结点链域,最后再定义指向链表结点的指针。以下为单链表的相关定义:
typedef struct listdata //定义结点数据域。
char name[3储户姓名。
int account账户序号。
char password[5]; 账户密码。
int money账户金额。
listdata;
typedef struct node //定义链表结点。
listdata data结点数据域。
struct node *next; /结点链域。
listnode;
typedef listnode *linklist; /指向链表结点的指针。
1、void initlist (linklist &l) /建立空链表。
2、void insertlist (linklist &l) /插入链表结点,实现开户功能。
需要输入储户姓名和密码,以确定开户对象)
3、void deletelist (linklist &l) /删除链表结点,实现销户功能。
需要输入账号和密码,以确定销户对象)
4、void deposit (linklist &l,linklist p) /储户存款、取款、显示余额(要先通过账号和密码登录,若取款时账户余额不足,输出提示信息,显示账户当前余额,并且提示重新输入取款金额。)
5、void search (linklist l) /链表查找,实现用户登录功能。
需要输入账号和密码,以确定登录对象,密码输出错误时可选择是否重新输入密码)
6、void printlist (linklist l) /输出链表,实现储户姓名,账号序号,密码,现有余额等相关信息。(当输出活期储蓄帐目管理系统没有账户时,输出提示信息,当有账户时,输出所有账户的相关信息。)
以下为重要函数的定义:
void initlist(linklist &l) /建立空链表。
l=(listnode*)malloc (sizeof(listnode));
l->next=null;
void insertlist(linklist &l) /链表插入结点,实现开户功能,需输入储户姓名和密码。
linklist p;
p=(listnode*)malloc(sizeof(listnode));
printf("请输入你要开户的姓名(不超过4个字符):"
scanf("%s",p->
number=number+1;
p->printf("你开户的账号为:%d",p->
printf("请输入你账号的密码(不超过6个字符):"
scanf("%s",p->
p->p->next=null;
if(l->next==null前插法。
l->next=p;
elseprintf("开户成功!");
void deletelist(linklist &l) /删除链表结点,实现销户功能(需要输入账号和密码)
linklist p=l,q;
char mima[5];
int s;
printf("请输入你要销户的账号:")
scanf("%d",&s);
printf("请输入该账号的密码:")
scanf("%s",mima);
while(p->next!=null)
if(p->next!=null)
q=p->next;
p->next=q->next;
free(q);
printf("销户成功。");
else printf("你所要销户的的账号不存在。");
void deposit(linklist &l,linklist p) /储户存款、取款、显示余额。
int m;
int n;
while(1)
void search(linklist l) /链表查找,实现用户登录功能(需要输入账号和密码)
linklist p=l->next;
int i;
char mima[5];
printf("请输入你要登录的账号:")
scanf("%d",&i);
tt: printf("请输入你的密码:")
scanf("%s",mima);
while(p!=null)
if(p==null)
printf("不存在该账户");else
if(strcmp(p->
数据结构课程设计实验报告
数据结构。课程设计报告。xx大学计算机xxxx学院。计算机系 08级软件工程专业xx班。xxx学号 0823xxxxxx 班内序号 xx 2010年11月15日。任务 参加运动会有n个学校,学校编号为1 n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1 m,女子m 1 m w。不同的项目取...
数据结构课程设计实验报告
仲恺农业工程学院。课程设计报告。2010 2011年度第1学期 名称 数据结构 课程设计 题目 学生成绩管理系统 院系 计算科学学院 班级 信息与计算科学信计091,092 学号 200911314116 200911314214 学生姓名 许建城刘汉明 指导教师 吴东庆。设计周数1作者1 许建城贡...
数据结构课程设计实验报告
江苏大学计算机学院。软件工程课程设计报告书。课程名称数据结构课程设计总评成绩。学生姓名 学号卢江涛3100608047 学生专业班级软件工程软件1002班。指导教师姓名王新胜。一 问题描述。以邻接表的方式确定有向网,完成 1.建立并显示它的邻接链表 2.以非递归的方式进行深度优先遍历,显示遍历的结果...