信息科学与工程学院
《数据结构》
课 程 设 计 报 告
课程设计名称: ATM的设计与实现 专 业 班 级 : 学 生 姓 名 : 学 号 : 201616010107 指 导 教 师 : 课程设计时间:2016-2017学年第二学期
I
计算机科学与技术 专业课程设计任务书
学生姓名 题 目 课题性质 指导教师 A 罗淇 专业班级 学号计科1601 201616010107 ATM的设计与实现 课题来源 同组姓名 D 无 一、 基本功能: 1. 定义储户、银行卡、ATM机和流水账等数据类型。 2. 实现录入信息功能:录入信息包括储户和银行卡(上述信息都不少于100条)。 3. 实现存取款功能:存款时,修改存折余额并将存款明细登记在流水账中,取款时,要判断取款金额是否大于余额以及是否超过限额,同时要判断是否大于ATM机的剩余钱数,取款成功后修改存折余额以及ATM机的总钱数,并将取款明细登记在流水账中。 4. 实现查询功能:储户可以查询某时间段内的流水账;银行领导可以查询某时间段内不同地点的ATM的使用情况(存取款次数、主要内容 发生额等)。 5. 实现排序功能:根据卡内余额对储户进行排序。 6. 储户、银行卡、ATM机和流水账等数据存入文件。 二、 扩展功能: 1. 定义用户类型:用户(用户编号,用户名,密码,类型),其中,类型值为0表示超级用户,为1表示普通用户,超级用户具备所有权限,普通用户只具备浏览(查询)权限。采用顺序表作为存储结构。 2. 实现创建用户功能。不少于3个超级用户和是10个普通用户。 3. 实现设置密码功能。用户可以修改自己的密码。 4. 实现登录系统功能。当用户名和密码输入都正确后才能使用该系统。
5. 用户数据以文本文件格式存储。 1. 数据类型如下:储户(身份证,户名,密码);银行卡(卡号,身份证,余额,开户日期,限额),其中,限额表示当天允许取款的上限;ATM机(机器代码,地址,总钱数);流水账(机器代码,卡号,存取款,发生日期,发生额),其中,存取款值为0表示存款为1表示取款。其中, “储户”和、“银行卡”采用顺序表作为存储结构, “流水账”采用单链表作为存储结构。 任务要求 2. 根据需求分析给出概要设计和详细设计,并编程实现相关功能模块,本系统包括以下功能模块:实现统计功能、实现登录系统功能、实现创建用户功能、实现设置密码功能、实现存取款、查询等。 3. 结合课题利用数据结构相关知识,利用C语言实现该系统的所有上述功能,要求界面友善,程序运行正常。 4. 提交课程设计报告1份(具体写作要求参考样例),可运行的系统和源代码电子版一套。 参考文献 严蔚敏.《数据结构(C语言版)》.北京:清华大学出版社 谭浩强.《C语言程序设计》.(第三版)北京:清华大学出版社 指导教师签字: 审查意见 教研室主任签字: 2017年 06 月 15日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
目录
1
需求分析 ................................................................................................................................... 1 1.1存款 ..................................................................................................................................... 1 1.2取款 ..................................................................................................................................... 1 1.3查看流水账 ......................................................................................................................... 1 1.4排序 ..................................................................................................................................... 1 1.5修改密码 ............................................................................................................................. 2 1.6查看ATM使用情况 .......................................................................................................... 2 1.7录入信息 ............................................................................................................................. 2 1.8恢复限额 ............................................................................................................................. 2 概要设计 ................................................................................................................................... 3 2.1数据类型的定义 ................................................................................................................. 3 2.2功能模块结构图 ................................................................................................................. 4 运行环境 ................................................................................................................................... 6 开发工具和编程语言 ............................................................................................................... 7 详细设计 ................................................................................................................................... 8 5.1 主函数 ........................................................................................................................... 8 5.2 录入函数 ............................................................................................................................ 9 5.3加载和存储函数 ................................................................................................................. 9 5.4 输出流水账函数 .............................................................................................................. 10 5.5 查看ATM使用情况函数 ............................................................................................... 10 程序编码 ................................................................................................................................. 11 运行结果 ................................................................................................................................. 14 心得体会 ................................................................................................................................. 15 参考文献 ................................................................................................................................. 16
2
3 4 5
6 7 8 9
1
需求分析
ATM自助机——便于储户存钱、取钱。
按功能分为两大系统:个人用户系统和银行后台系统;
个人用户系统————登录(输入正确的账号或密码才能进入)、存款、取款、
查看流水账(查看用户最近存取款情况)、排序(此为超级用户功能,可以查看所有人的余额)、修改密码(修改个人登录密码);
银行后台系统————atm使用情况(便于银行人员管理atm机)、录入信息(包括录入用户及其银行卡号信息和录入atm 信息)、恢复限额(每天6点恢复所有人的取款上限)。
1.1存款
输入金额,存入ATM,当前AMT以及自己的余额会增加并且自动生成流水账。
1.2取款
输入取款金额,判断它是否小于ATM总金额并且小于当天的限额,当前的ATM金额减少,自己的余额和限额也会减少。
1.3查看流水账
输出自己近段时间内的所有操作,发生额,以及时间。
1.4排序
此为超级用户功能,实现以余额对所有用户排序并且输出一些信息。
1