数据结构课程设计实验报告

发布 2022-10-05 20:20:28 阅读 6972

学院:信息科学与工程学院。

班级:通信工程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.以非递归的方式进行深度优先遍历,显示遍历的结果...