面向对象程序设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海电力学院
课程设计报告
面向对象程序设计
(2012 /2013学年第一学期)
课题名称模仿ATM机存取款管理系统设计院(系)电子与信息工程学院
专业通信工程
学号
姓名
时间2013年1月12日至1月18日
地点奋进楼4楼5机房
指导教师王剑云
目录
一、设计目的与任务 (2)
1、本课程设计的目的 (2)
2、本课程设计的任务 (2)
二、设计方案 (2)
1.总体设计 (2)
2.系统功能 (2)
3.系统截图 (4)
4.核心代码设计 (7)
三.心得体会 (11)
一、设计目的与任务
1、本课程设计的目的
(1)课程设计是实践教学环节。设置课程设计的目的是加强学生对本课程及相关课程知识的理解,培养学生综合运用理论知识分析和解决实际问题的方法与能力。有助于提高学生的创新能力和创新意识。搞好课程设计教学工作,对实现专业培养目标,提高学生全面素质有重要作用。
(2)通过课程设计更进一步理解C++的基础知识。
(3)训练用系统的观点及软件开发的一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程中的问题分析、系统设计、程序编码、调试、测试等方面的基本方法和技能。
(4)熟练掌握C++知识在程序中的应用,了解书本知识在解决实际问题中的用途。2、本课程设计的任务
模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能。
功能要求:
(1)卡号、密码输入最多三次,否则直接退出系统。
(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。
(3)查询功能:实现查询余额功能。
(4)更改密码:实现密码更改功能,对于密码要有2次验证。
(5)锁卡功能:实现卡被锁的功能。
(6)退卡功能:实现退出系统功能。
二、设计方案
1.总体设计
设计的这个程序是模拟A TM取款机的使用过程,该程序功能包括:1)卡号、密码输入最多三次,否则直接退出系统。2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。3)查询功能:实现查询余额功能。4)更改密码:实现密码更改功能,对于密码要有2次验证。5)锁卡功能:实现卡被锁的功能。6)退卡功能:实现退出系统功能。
2.系统功能
首先编写一个class consumer(用户类)、class ATM(ATM取款机类)和一个main()函数,程序开始运行时调用main函数里设置好的用户信息,通过main函数来调用class A TM(ATM取款机类)和class consumer(用户类)中的相关函数和数据来达到程序的要求。class ATM(ATM 取款机类)内主要有
void welcome(); // 登陆界面
bool check_passwd(char n[],char pwd[]); // 核对密码
void fetchmoney(); // 取款功能
void functionshow(); // 功能界面
void information(); // 查询功能
void change_passwd(); // 更改密码
void lock(); // 锁卡功能
void exitATM(); // 退卡功能
class consumer(用户类)内主要有
char* get_name(); // 获取姓名
char* get_num(); // 获取卡号
char* get_passwd(); // 获取密码
float get_money(); // 获取余额
void set_passwd(char pwd[]); // 设置密码
void set_money(float m); // 取款
通过在主界面的输入指令来实现各个函数的调用,以达到模仿A TM取款机的功能。
系统功能图与流程图
3.系统截图
(1)主界面
(2)卡号、密码输入最多三次,否则直接退出系统。
(3)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。
(4)查询功能:实现查询余额功能。
(5)更改密码:实现密码更改功能,对于密码要有2次验证。
(6)锁卡功能:实现卡被锁的功能
(7)退卡功能:实现退出系统功能。
4.核心代码设计
(1)类编写
通过定义两个类,class consumer(用户类)和class ATM(A TM取款机类),对于class ATM,public有登陆界面,核对密码,取款功能,功能界面,查询功能,更改密码,锁卡功能,退卡功能。Private有记录密码输入次数。对于class consumer,public有获取姓名,获取卡号,获取密码,获取余额,设置密码,取款。Private有用户密码,用户姓名。
(2)类的成员函数
class ATM // ATM取款机类
{
public:
A TM(consumer& cn):cnsm(cn){}
void welcome(); // 登陆界面
bool check_passwd(char n[],char pwd[]); // 核对密码
void fetchmoney(); // 取款功能