C++自动取款机ATM源代码.doc
文本预览下载声明
河北联合大学
2011-2012第2学期
《软件设计基础-C++》
课程设计报告
设计名称: 模拟自动取款机
姓 名:薛岩 学 号: 201114290106
专业班级: 11水1
学 院:建筑工程学院
设计时间:2012,5—6
设计地点:计算中心机房
指导教师评语:
指导教师签字:
年 月 日 目 录
1.课程设计目的 3
2.课程设计任务与要求 3
3.课程设计说明书 4
4.课程设计成果 6
5.程序调试过程 18
6.设计问题的不足和改进方案 18
7.课程设计心得 19
8.参考文献 20
1.课程设计目的
《软件设计基础-C++》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。 2.课程设计任务与要求:
要求:
本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、编程简练,程序功能齐全,能正确运行
4、说明书、流程图要清楚
5、课题完成后必须按要求提交课程设计报告
(分析系统中的各个实体之间的关系及其属性和行为;??
?(2)根据问题描述,设计系统的类层次;??
?(3)完成类层次中各个类的描述(包括属性和方法);??
?(4)完成类中各个成员函数的定义;??
(5)完成系统的模块组装、调试;⑴概要设计
本案例涉及一个银行卡和ATM机之间的“对话”。需要处理两个对象,即:ATM和银行卡,因此可以考虑定义两个类来解决这个问题。
(1)ATM机类:有“单笔取款最高限制”、“每日取款总金额限制”、“金额”等基本属性。需要实现:“核对密码”、“修改密码”、“取款”、“查询信息”、“退出系统”、“锁机吞卡”等功能。可以将这些操作定义为ATM机类的成员函数。
(2)银行卡类:具有“用户姓名”、“用户密码”、“存款额”等特征。需要实现“身份验证”、“查询余额”、“修改密码”、“交易成功更改余额”等操作。将这些操作定义为银行卡类的成员函数。
模块说明:
在我设计的程序中一共包括了五个模块,分别是: 核对密码、修改密码、取款、查询信息、退出系统模块。这六个模块中新增、查找和修改都是独立分开作为子函数的,另外三个则是作为switch语句中的一部分,通过switch语句,把五个大模块联系了起来,同时,为了实现多次使用这五大模块,就在switch语句外加了while循环。
模块结构图:
⑵详细设计
总体流程图:
各功能模块流程图:
4.课程设计成果
程序源代码,运行结果(可用屏幕抓图的方法说明)(五号,宋体)(多页)
#includeiostream.h
#includestring.h
#includestdio.h
#include stdlib.h
class consumer;
class ATM
{
public:
ATM(consumer cn):cnsm(cn)
{
}
void welcome(); //登陆界面
bool check_passwd(char n[],char pwd[]); //核对密码
void change_passwd(); //修改密码
void fetchmoney(); //取款
void information(); //查询信息
void exitATM(); //退出系统
void functionshow(); //功能界面
void lock(); //锁机
private:
int times; //记录密码输入次数
consumer cnsm;
};
class consumer //用户
{
public:
friend class ATM;
consumer(char Name[],char Num[], float Money,char Passwo
显示全部