c++面向对象程序设计。
课程设计**。
题目:抚州建行atm取款机管理系统。
专业统计学。
学号1031040111
姓名黄传祯。
指导教师丁木华。
2013 年 1 月 9 日。
抚州建行atm取款机管理系统。
摘要。本文主要研究抚州建行atm取款机管理系统的程序设计。根据日常生活中对atm取款机的了解,模拟设计出atm取款机的属性和行为,利用c++编程软件对atm取款机管理系统进行程序设计,设计主要包括建行开户,实时取款,实时存款,查询余额,更改密码,转账,退卡等功能。
本文主要内容分为三个部分,第一部分主要阐述该程序的设计内容和要求,设计的题目以及设计出的程序应有哪些实用功能。第二部分对该问题进行整体描述,并深入的分析、设计,最后编写出程序并进行测试。第三部分为总结,主要阐述系统的优缺点,编程过程中遇到的问题、解决办法及心得。
最后,程序设计是一个创作的过程,解决问题的方法不是唯一的。所以独立思考问题,多想想解决方法,才更有助于程序设计水平的提高。
关键字:c+课程设计;atm取款机管理系统;类和对象;
1 需求分析。
1.1 功能介绍。
软件设计的一个重要的环节就是需求分析。本章在对atm取款管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是atm取款机管理系统所需要的需求分析。
atm取款管理系统包含开户,实时存款,实时取款,余额查询,修改密码,转账等六个功能。
建行开户:输入个人姓名、身份证号等信息后,atm取款管理系统自动给用户开户,并给账号,密码由用户自行设定;
实时存款:登入atm取款管理系统,输入账号和密码,选择实时存款业务,进入atm存款界面,如果账号或密码输入错误,atm会给予提示信息,需用户重新输入账号和密码,若输入账号和密码连续出错超过3次,则atm取款管理系统将吃掉用户账号,并打印出凭条;
实时取款:用户选择实时取款业务后,可按界面相应操作取出卡内存款,若输入取款额超过卡内余额,则atm取款管理系统会自动给予用户提示信息,要求重新输入取款金额;
余额查询:进入余额查询界面即可查询用户的卡内余额;
修改密码:此功能负责用户自行修改密码,密码的设定要求是输入6为数字,若用户输入的字数少于或多于6位,atm取款管理系统给出出错信息,要求用户重新设定密码;
转账:用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账号;
1.2 操作。
本程序通过键盘操作。在运行过程中,当用户输入正确的账号和密码时,会出现一个功能界面,按照功能界面操作。1.
建行开户;2.实时存款;3.实时取款;4.
查询余额;5.修改密码;6.转账;7.
退出系统,按相应的序列号后再按enter键,执行相应的操作。
2 总体设计。
2.1 atm取款管理系统功能结构体。
2.2 整体操作流程图。
程序开始运行进入登陆界面,用户输入自己的卡号和密码,成功登陆即能进入功能界面,如果用户卡号密码错误超过3次,系统会自动没收卡,根据功能界面,用户可以执行相应的操作,操作完毕,退出系统。
3 详细设计与实现。
3.1类的设计。
设计了atm类。atm类完成atm取款管理系统的模拟,包括:建行开户,实时存款,实时取款,余额查询吗,修改密码,转账等功能。类的定义和实现均保存在头文件文件中。
atm类的设计:
class atm
public:
atm(){默认构造函数。
void kaihu()/开户。
void cunkuan()/实时存款。
void qukuan()/实时取款。
void chaxunyue//查询余额。
void xiugaimima//修改密码。
void zhuanzhang//转账。
private:
char name[20];
long double cardid;
double psw;
double money;
long double haoma;
time_t timep;
3.2 atm取款管理系统模块设计与实现。
1)登陆模块。
程序运行首先要求用户输入账号密码,帐号密码首先由建行开户得到,登入时用if函数判断账号密码是否一致,一致允许登陆,如果输入错误则再给予3次登陆机会,如果3次都输入错误,则atm自动吃掉账号密码,并打印出凭条。
相关**:void main() 主函数。
time (&timep) /返回系统时间。
do{} 输出登陆界面(具体程序由于不好排版,再次省略)
cin>>i; /选择业务序号。
if(i==7) break; /退出系统。
switch(i){}选择所需的业务序号。
图3-1 登陆界面流程图。
2)建行开户模块。
此模块完成用户建行开户的功能,开户要求用户输入姓名及身份证号码,如若姓名及证件号码正确,则atm系统给予开户,并自动产生银行账号,密码由用户自行设定。此功能类内定义的kaihu()函数执行,系统产生账号有随机行数rand()执行。
相关程序如下:
void kaihu() 开户。
cardid=(622700100*(0+rand() 10)+10*(0+rand() 10)+(0+rand() 10产生随机账号。
cout