版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大 连 科 技 学 院面向对象程序设计(A)课程设计题 目 ATM自动取款机程序设计 学生姓名 x'x'x 专业班级 软件工程12-1 指导教师 李孝贵 职 称讲师 所在单位 信息科学系软件工程教研室 教学部主任 王立娟 完成日期 2014年7月6日课程设计报告单学号Xxx姓名xxsx专业班级软件工程12-1考 核 项 目评分备注1平时工作态度及遵守纪律情况(10分)2掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平(10分)3独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度(20分)4完成课程设计说明书及软件的情况与水平(小组分工情况、规范性
2、、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)(60分)总评成绩综 合 评 定:(优、良、中、及格、不及格) 指导教师签字:年 月 日面向对象程序设计(A)课程设计任务书一、课程设计任务及要求:任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。(2)提交课程设计报告。(3)
3、指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。二、工作量2周(10个工作日)时间三、计划安排第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。第2个工作日第4个工作日:设计程序结构、模块图。第5个工作日第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。指导教师签字: 年 月 日目录题目:11.需求分析12.概要设计13.详细设计14.编码25.调试分析46.测试结果及运行效果47.系统开发所用到的技术
4、7参考文献8附录 全部代码9题目:ATM自动取款机程序设计分析与设计1. 需求分析为了方面用户的及时取款,查询,及时修改密码的方便,本课题设计并模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能。2. 概要设计1登录功能。输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。2查询功能。查询账户余额。3取款功能。取款,更新余额。4挂失功能。挂失后,该账户不能进行任何操作。5修改密码。输入原密码和新设置密码。6转账。输入转账的转出账户和转入账户以及转账金额,进行转账。流程图ATM自动取款系统开户存款取款查询余额修改密码转账
5、图 21 atm设计框图3. 详细设计输入卡号和密码正确 否是 服务界面显示用户信息和余额 查询 取款 挂失 修改密码挂式界面输入金额输入旧密码 正确输入新密码 正确 否 是 否输入新密码操作成功取款 挂失 修改密码 挂失 退出 是挂失成功 正确 退卡 修改成功 返回 退出 否 是 返回 退出 转账 转账成功超出余额输入转账金额输入转账卡号 是 否 返回 退出 图 31 程序流程图1登陆模块主要完成功能为:当用户开始使用本系统,进入登陆模块。屏幕显示菜单提示,用户可根据需要选择相应功能。具体如下:开户 、存款 、取款 、查询余额 、修改密码 、转账主要适用技术:登陆函数主要是使用了循环函数和d
6、o while函数,还有许多的成员函k.OpenAccount()、k.SaveMoney()、k.TakeMoney()、k.Inquiry()、k.Changepsw()、k.Transfer();关键代码如下:void main();主函数;do while(1);/循环结构语句switch(i);case 1: default:bank k;/默认构造函数k.OpenAccount();break;/开户 k.SaveMoney();break;/存款k.TakeMoney();break;/取款k.Inquiry();break;/查询余额k.Changepsw();break;/修
7、改密码k.Transfer();break;/转账2开户模块主要完成功能为:进入开户模块。屏幕显示菜单提示,可根据要求依次输入姓名、卡号、密码和预存款金额,完成以上操作之后,屏幕上显示恭喜您,开户成功。主要适用技术:开户函数使用了基本函数;主要代码如下:void OpenAccount()/开户函数3存款模块主要完成功能为:当开始使用本系统,进入存款模块。屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和密码正确,然后输入存款金额,存款成功后显示卡上余额,(当密码不正确的时候,可以有三次机会输入自己的正确密码,如果三次都没有输入正确,卡将会被吃掉,以下同);主要使用技术:存款函数使用了循环
8、语句函数、判断函数和选择函数主要代码如下:void SaveMoney()/存款函数for(int i=1;i<=N;i+) else /循环函数语句exit(1);/结束函数4取款模块主要完成功能为:进入取款模块。屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和密码正确,然后输入取款金额,如果全款金额小于或者等于卡上余额,则取款进行,否则重新输入取款金额。取款成功后显示卡上余额主要适用技术:存款函数使用了循环语句函数、判断函数和选择函数主要代码如下:void TakeMoney()/取款函数for(int i=1;i<=N;i+)else/循环函数语句exit(1);/结束
9、函数5查询余额主要完成功能为:进入查询余额模块。屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和密码正确,屏幕上将显示你的余额,然后进入修改密码模块; 主要适用技术:存款函数使用了循环语句函数、判断函数和选择函数主要代码如下:voidInquiry()/查询余额函数for(int i=1;i<=N;i+) else /循环结果语句exit(1);/结束函数6修改密码主要完成功能为:进入修改密码模块。屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和原始密码正确,则将进行修改密码的步骤,先输入原始密码,然后再输入新密码,之后确认新密码,确认正确之后,密码修改成功,接下来进入转账模
10、块; 主要适用技术:存款函数使用了循环语句函数、判断函数和选择函数主要代码如下:void Changepsw()/修改密码函数for(int i=1;i<=N;i+) else /循环结果语句exit(1);/结束函数7转账模块主要完成功能为:进入转账模块。屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和原始密码正确,输入所要转账的账号并输入转账金额,如果转账金额小于余额,转账成功输出卡上余额, 主要适用技术:存款函数使用了循环语句函数、判断函数和选择函数主要代码如下:voidTransfer()/转账函数for(int i=1;i<=N;i+) else /循环结果语句ex
11、it(1);/结束函数4.编码class ATM / ATM取款机 public: /公有类 ATM(consumer& cn):cnsm(cn) void welcome(); / 登陆界面 bool check_passwd(char n,char pwd); / 核对密码 void change_passwd(); / 修改密码 void fetchmoney(); / 取款 void information(); / 查询信息 void functionshow(); / 功能界面 void guashi(); / 挂失 void zhuanzhang(); / 转账 void
12、 exitATM(); / 退出系统 void lock(); / 锁机 private: / 私有类 int times; / 记录密码输入次数 int money;consumer&cnsm;5.调试分析主要问题:错误较多,由于修改了好多次,程序中的血多代码都出现了不同程度上的错误,尤其是bank和banki之间经常出现问题,我通过调试,发现了好多这样的问题,通过帮助和自己的经验,解决了这个问题;还有就是程序后面那个是否继续,例如:cout<<"是否继续操作 1 是 2 否"<<endl;这句应该放在哪里,应该怎么写,才能实现程序的完美,
13、后来通过上网查资料和借鉴书上的程序,实现了这个功能;还有就是调试过程中发现程序不完整,有许多功能没有实现,例如:对于用户要求输入相应的帐号和密码,如果三次出错则将卡吃掉并打印出相应凭条,没有实现,后来通过增加代码,实现了这个功能。6.测试结果及运行效果1登陆模块图6-1登录模块2开户模块图6-2开户模块3存款模块图6-3存款模块4取款模块图6-4取款模块5查询模块图6-5查询模块6修改密码图6-6修改密码7转账模块图6-7转账模块8退出登录图6-8退出登录7.系统开发所用到的技术Visual C+ 6.0应用语言C+注释:C+是在C语言引入了面向机制而形成的一种程序设计语言,程序结构灵活,代码
14、简洁清晰,可移植性强,支持数据抽象,面向对象程序设计和泛型程序设计。所以它是一种应用广泛的系统语言。参考文献1 张红梅,于明,程序设计实验教程,中国铁道出版社,20042 徐武,周启涛,葛卉娟,Visual C+与Oracle数据库编程案例,电子工业出版社,20043 网冠科技,Visual C+ 6.0时尚编程百例,机械工业出版社,20034 求是科技,Visual C+ 6.0程序设计与开发技术大全,人民邮电出版社,20045 广正工作室 C+ Builder实用教程M. 机械工业出版社 1998年6 Matt Tells 高级编程指南C+ BuilderM. 中国水利水电出版社 1998
15、年附录 全部代码#include<iostream.h>#include<string.h>#include<stdlib.h>class Bankpublic:Bank();/默认构造函数void OpenAccount()/开户cout<<"欢迎开户:"<<endl; cout<<"请输入您的姓名:"<<endl; cin>>name; cout<<"请输入您的卡号:"<<endl; cin>>car
16、dID; cout<<"请输入您的密码:"<<endl; cin>>psw; cout<<"请输入您的预存金额:"<<endl; cin>>money; cout<<"恭喜您,开户成功!"<<endl; void SaveMoney()/存款long ID; long psw1; int money1; cout<<"欢迎使用取款业务:n" cout<<"请输入您的卡号:"&l
17、t;<endl; cin>>ID; cout<<"请输入您的密码:"<<endl; cin>>psw1; if(ID=cardID &&psw1=psw) cout<<"请输入您的存款金额:"<<endl; cin>>money1; money=money+money1; cout<<"存款成功,卡上余额为:"<<money<<endl; else cout<<"您的卡号或
18、者密码错误,请重新输入!"<<endl; cout<<"请重新输入您的密码:"<<endl; cin>>psw1; if(psw1=psw) cout<<"请输入您的存款金额:"<<endl; cin>>money1; money=money+money1; cout<<"存款成功,卡上余额为:"<<money<<endl; else cout<<"温馨提示:密码错误,卡已被吃掉(打印
19、出凭条,您的卡已经暂停一切业务):"<<endl; exit(1); void TakeMoney()/取款 long ID; long psw1; int money1; cout<<"欢迎您使用取款业务n" cout<<"请输入您的卡号:"<<endl; cin>>ID; cout<<"请输入您的密码:"<<endl; cin>>psw1; if(ID=cardID && psw1=psw) cout<&
20、lt;"请输入您取款的金额:"<<endl; cin>>money1;if(money>=money1) money=money-money1; cout<<"取款成功,您卡上余额为:"<<money<<endl; else cout<<"取款金额超出账户余额,请重新输入取款金额:" cin>>money1; money=money-money1; cout<<"取款成功,您卡上余额为:"<<money
21、<<endl; else cout<<"温馨提示:您的卡号或密码错误,请重新输入!"<<endl; cout<<"请重新输入您的密码:"<<endl; cin>>psw1; if(psw1=psw) cout<<"请输入您的取款金额:"<<endl; cin>>money1; if(money>=money1) money=money-money1; cout<<"取款成功,您卡上余额为:"
22、<<money<<endl; else cout<<"取款金额超出账户余额,请重新输入取款金额:" cin>>money1; money=money-money1; cout<<"取款成功,您卡上余额为:"<<money<<endl; cout<<"温馨提示:密码错误,卡已被吃掉(打印出凭条,您的卡已经暂停一切业务):"<<endl; exit(1); void Inquiry()/查询余额long ID; long psw1;
23、 cout<<"欢迎进行查询余额业务n" cout<<"请输入您的卡号:"<<endl; cin>>ID; cout<<"请输入您的密码"<<endl; cin>>psw1; if(ID=cardID && psw1=psw) cout<<"卡上余额为:"<<money<<endl; else cout<<"您的卡号或者密码错误,请重新输入!"<
24、;<endl; cout<<"请重新输入您的密码:"<<endl; cin>>psw1; if(psw1=psw) cout<<"卡上余额为:"<<money<<endl; else cout<<"温馨提示:密码错误,卡已被吃掉(打印出凭条,您的卡已经暂停一切业务):"<<endl; exit(1); void Changepsw()/修改密码 long ID; long psw1; long psw2; cout<<&q
25、uot;欢迎使用修改密码业务n"<<endl; cout<<"请输入您的卡号:"<<endl; cin>>ID; cout<<"请输入您的密码:"<<endl; cin>>psw1; if(ID=cardID && psw1=psw) cout<<"请输入您的原始密码:"<<endl; cin>>psw1; cout<<"请输入您的新密码:"<<e
26、ndl; cin>>psw2; cout<<"确认新密码:请重新输入新密码:"<<endl; cin>>psw2; psw=psw2; cout<<"修改密码成功!"<<endl; else cout<<"您的卡号或者密码错误!"<<endl; cout<<"请重新输入您的原始密码:"<<endl; cin>>psw1; if(psw1=psw) cout<<"请
27、输入您的新密码:"<<endl; cin>>psw2; cout<<"确认新密码:请输入新密码:"<<endl; cin>>psw2; psw=psw2; cout<<"修改密码成功!"<<endl; else cout<<"温馨提示:密码错误,卡已被吃掉(打印出凭条,您的卡已经暂停一切业务):"<<endl; exit(1); void Transfer()/转账long ID; long ID2; long psw
28、1; int money1; cout<<"欢迎使用转账业务n"<<endl; cout<<"请输入您的卡号:"<<endl; cin>>ID; cout<<"请输入您的密码:"<<endl; cin>>psw1; if(ID=cardID && psw1=psw) cout<<"请输入您要转账的卡号:"<<endl; cin>>ID2; cout<<&qu
29、ot;请输入您要转账的金额:"<<endl; cin>>money1;if(money>=money1) money=money-money1; cout<<"转账成功,您卡上余额为:"<<money<<endl; else cout<<"金额超出账户余额,请重新输入取款金额:" cin>>money1; money=money-money1; cout<<"转账成功,您卡上余额为:"<<money<<
30、;endl; else cout<<"温馨提示:您的卡号或密码错误,请重新输入!"<<endl; cout<<"请重新输入您的密码:"<<endl; cin>>psw1; if(psw1=psw) cout<<"请输入您的转账金额:"<<endl; cin>>money1; if(money>=money1) money=money-money1; cout<<"转账成功,您卡上余额为:"<<money<<e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习中考趋势题3项目式学习课件
- 第七八单元及总复习教案
- 物流配送司机招聘合同模板
- 四年级科学下册教案
- 城市广场改造专业施工合同范本
- 七台河市公园公共艺术展示规范
- 市政工程工字钢租赁合同
- 公共交通建设资金使用暂行条例
- 医疗中心雨污管网维护合同
- 企业车辆更新政策样本
- 2024-2025学年高中语文上学期 文言文句子翻译教学设计
- 静脉留置针产品营销计划书
- 银行提前还贷授权委托书
- 2024年江苏江南水务股份限公司公开招聘工作人员10人(高频重点提升专题训练)共500题附带答案详解
- 工作场所温度记录表
- 北师大版三年级数学上册全册单元教材分析
- 平凡的世界(阅读任务二 人物形象分析)教学设计-【中职专用】高一语文(高教版2023基础模块上册)
- 人教版数学小升初衔接练习+解析(统计与概率)
- 2024CSCO肿瘤治疗所致血小板减少症诊疗指南解读
- 山东省名校考试联盟2023-2024学年高一化学上学期11月期中试题
- 幼儿园课件:《特殊的电话号码》
评论
0/150
提交评论