数据机构课程设计报告银行管理系统.docx
- 文档编号:18616024
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:11
- 大小:110.32KB
数据机构课程设计报告银行管理系统.docx
《数据机构课程设计报告银行管理系统.docx》由会员分享,可在线阅读,更多相关《数据机构课程设计报告银行管理系统.docx(11页珍藏版)》请在冰点文库上搜索。
数据机构课程设计报告银行管理系统
数学与计算机学院
课程设计说明书
课程名称:
数据结构课程设计
课程代码:
8404181
题目:
活期储蓄账目管理
年级/专业/班:
2010级软件工程3班
学生姓名:
陈品伶
学 号:
312010080611319
开始时间:
2011年12月12日
完成时间:
2011年12月25日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
目录
引言4
1需求分析4
1.1任务与分析4
1.2测试数据5
2概要设计5
2.1ADT描述5
2.2程序模块结构6
2.3 各功能模块7
3详细设计7
3.1结构体定义7
3.2初始化7
3.3插入操作8
4调试分析9
5用户使用说明9
6测试结果10
7结论12
致谢13
参考文献14
摘要
随着计算机的普及,生活中用到计算机的地方越来越多,因为很多事务依靠人工完成工作量是很大的,银行中的活期储蓄信息量大,若使用传统的管理方式来进行账目管理会造成很大一部分的人力资源浪费,这种情况下,活期储蓄账目管理系统就有了开发的必要。
关键词:
计算机;系统;账目管理;
引言
《数据结构》是计算机专业重要的专业基础课程与核心课程之一,对学生来说,学好《数据结构》是以后学习的重要基石,只有学好数据结构才能使以后的学习更上一个台阶。
《数据结构》课程设计的目和意义的在于让学生加深对课堂知识的理解,并巩固知识,熟练掌握其应用。
此课程设计题目的任务主要是利用双向链表结构建立通讯录,并储存到文件中,并实现查找、删除、显示等操作。
程序开发过程中用到的设计工具主要是MicrosoftVisualC++2008
1需求分析
次系统名为:
活期储蓄账目管理系统。
主要功能有开户、销户、账号登陆并对其进行存款、取款等操作。
开户:
此功能用于创添加一个活期储蓄账户,该账户必须信息为开户人姓名,密码,账号;其中密码由开户人自己设定,账号由系统产生。
显示所有开户人信息(不包括密码):
此功能用于显示所有开户人的姓名、账号。
账户登录:
开户人输入账户和密码,系统验证账户和密码,验证无误则进入账户操作界面。
此功能提供密码验证、存款、取款、查询余额等操作。
销户:
此功能通过验证账户和密码来执行删除功能。
1.1任务与分析
开户:
将文件中得信息读入双向循环链表来进行存储,开户操作时,直接在尾指针后面插入,账号产生规则为:
“000”+“所有已开户人员数+1”。
将已改变的链表中的信息从新输入到文件中。
销户:
将文件中得信息读入双向循环链表来进行存储,输入账号和密码,经过验证后,查找到对应账户,进行删除操作。
将已改变的链表中的信息从新输入到文件中。
登录:
将文件中得信息读入双向循环链表来进行存储,输入账号和密码,经过验证后,进行查找操作,如果该账户所在位置离尾指针较近则从尾指针开始向前查找,直到找到为止。
如果该账户所在位置离头指针较近,则从头指针开始向后查找,直到找到为止。
找到账户后,进入账户操作界面。
显示:
将文件中得信息读入双向循环链表来进行存储,从头结点遍历链表。
1.2测试数据
姓名
密码
姓名
密码
姓名
密码
2概要设计
2.1ADT描述
ADTList{
数据对象:
D{ai|ai∈struct,i=1,2,…nn>0}
数据关系:
R={
基本操作:
初始化空链表:
List()
将文件中的信息读入链表:
voidread();
将链表中的信息写入文件:
intsave();
删除链表中的某个节点:
voiddelete();
向链表中增加一个节点:
voidadd();
查询链表中某个节点信息:
voidserch();
}
2.2程序模块结构
2.2.1 账户基本信息类定义
classBankUser{//银行账号类
private:
charnumber[12];
stringname;
doublemoney;
stringpassword;
public:
BankUser*next;
BankUser*prior;
BankUser()//构造函数,对成员变量进行初始化
voidsetPassword(stringword)//设置密码
stringgetPassword()
voidsetNumber(charn[])//设置账号
char*getNumber()
voidsetName(stringna)//设置姓名
stringgetName()
voidadd()//存款
voidreduse()//取款
doublegetMoney()//得到余额
setMoney(doubleMymoney)
voidmenu();
};
2.3 各功能模块
显示所有账户信息:
voiddisplay();
开户:
voidaddUser();
账户登录:
voidserchUser();
销户:
voiddeleteUser();
写入文件:
intsave();
读入链表:
voidread();
3详细设计
3.1链表基本信息类定义
classBankUser{//银行账号类
private:
charnumber[12];
stringname;
doublemoney;
stringpassword;
public:
BankUser*next;
BankUser*prior;
BankUser()//构造函数,对成员变量进行初始化
voidsetPassword(stringword)//设置密码
stringgetPassword()
voidsetNumber(charn[])//设置账号
char*getNumber()
voidsetName(stringna)//设置姓名
stringgetName()
voidadd()//存款
voidreduse()//取款
doublegetMoney()//得到余额
setMoney(doubleMymoney)
voidmenu();
}
3.2初始化
List(){
users=0;
head=newnode;
rear=head;
head->next=head;
head->prior=NULL;
head->data.money=0;
head->data.name="name";
strcpy(head->data.number,"number");
head->data.number[strlen("number")+1]='\0';
}
3.3添加操作
Cin>>要添加的账户开户人姓名和账户密码
产生账号
直接插入链表末尾
3.4查找操作
Cin>>要查找的账户账号和密码
If账号和密码验证正确Then
返回查找的节点指针
Else
输出提示信息:
密码或账号不正确
3.5删除操作
Cin>>要查找的账户账号和密码
进行查找操作
If找到节点Then
输出提示信息:
密码或账号不正确
3.6读入文件操作
if文件打开成功Then
用写结构体的方式将信息写入文件
Else
退出
3.7读入链表操作
if文件打开成功Then
用读结构体的方式读出
连接构成新链表
Else
退出
4调试分析
5用户使用说明
用户在运行程序进入主界面后,根据提示信息选择想要进行的操作,请不要输入非法字符。
6测试结果
进入系统:
图表1
输入联系人信息:
图表2
显示联系人信息:
图表3
查找联系人信息:
图表4
删除联系人信息:
图表5
储存联系人信息:
图表6
读出联系人信息:
图表7
7结论
通过此次课程设计,可以得出:
在使用指针时,需要格外注意指针的初始位置和结束位置,以及初始条件和结束条件。
在将数据写入文件时,可以按不同的条件将数据写入,可以写入时将原有文件更新,即覆盖掉原有数据,也可以将数据写入时添加在原有数据的末尾,即不影响原有数据。
致谢
在本次课程设计过程中,首先感谢老师耐心、细心的指导。
我在遇到困难时,老师热情帮助,给我解答,使我认识到自己的不足,并及时改正。
与此同时,我收获了知识!
感谢老师!
参考文献
[1]严蔚敏,吴伟民.数据结构.清华大学出版社出版。
[2]严蔚敏,吴伟民.数据结构题集(C语言版).清华大学出版社.2003年5月。
[3]唐策善,李龙澎.数据结构(作C语言描述).高等教育出版社.2001年9月
[4]朱战立.数据结构(C++语言描述)(第二版本).高等出版社出版.2004年4月
[5]胡学钢.数据结构(C语言版).高等教育出版社.2004年8月
[6]徐孝凯等著.数据结构(C语言描述).清华大学出版社.2004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 机构 课程设计 报告 银行 管理 系统