已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计之课程设计 上上 海海 电电 力力 学学 院院 课程设计报告 面向对象程序设计 2012 2013 学年第一学期 课题名称课题名称 模仿 ATM 机存取款管理系统设计 院 系 院 系 电子与信息工程学院 专专 业业 通信工程 学学 号号 姓姓 名名 时时 间间 2013 年 1 月 12 日至 1 月 18 日 地地 点点 奋进楼 4 楼 5 机房 指导教师指导教师 王剑云 面向对象程序设计之课程设计 1 目录目录 一 设计目的与任务一 设计目的与任务 2 1 本课程设计的目的 2 2 本课程设计的任务 2 二 设计方案二 设计方案 3 1 总体设计 3 2 系统功能 3 3 系统截图 4 4 核心代码设计 6 三三 心得体会心得体会 13 面向对象程序设计之课程设计 2 一 设计目的与任务一 设计目的与任务 1 本课程设计的目的 1 课程设计是实践教学环节 设置课程设计的目的是加强学生对本课程及相关课程 知识的理解 培养学生综合运用理论知识分析和解决实际问题的方法与能力 有助于 提高学生的创新能力和创新意识 搞好课程设计教学工作 对实现专业培养目标 提 高学生全面素质有重要作用 2 通过课程设计更进一步理解 C 的基础知识 3 训练用系统的观点及软件开发的一般规范进行软件开发 并在此过程中培养严谨 的科学态度和良好的工作作风 初步掌握软件开发过程中的问题分析 系统设计 程 序编码 调试 测试等方面的基本方法和技能 4 熟练掌握 C 知识在程序中的应用 了解书本知识在解决实际问题中的用途 2 本课程设计的任务 模拟银行的自动取款机使用过程中的界面和用户交互过程 实现查询银行卡余额 取 款 修改密码 退出系统等功能 功能要求 1 卡号 密码输入最多三次 否则直接退出系统 2 取款功能 取款金额受卡余额 机单笔最大取款金额及机当前剩余金额的限制 3 查询功能 实现查询余额功能 4 更改密码 实现密码更改功能 对于密码要有 2 次验证 5 锁卡功能 实现卡被锁的功能 6 退卡功能 实现退出系统功能 二 设计方案二 设计方案 1 总体设计 设计的这个程序是模拟 ATM 取款机的使用过程 该程序功能包括 1 卡号 密码输入最 多三次 否则直接退出系统 2 取款功能 取款金额受卡余额 机单笔最大取款金额及机 当前剩余金额的限制 3 查询功能 实现查询余额功能 4 更改密码 实现密码更改功 能 对于密码要有 2 次验证 5 锁卡功能 实现卡被锁的功能 6 退卡功能 实现退出 系统功能 2 系统功能 首先编写一个 class consumer 用户类 class ATM ATM 取款机类 和一个 main 函数 程 序开始运行时调用 main 函数里设置好的用户信息 通过 main 函数来调用 class ATM ATM 取款机类 和 class consumer 用户类 中的相关函数和数据来达到程序的要求 class ATM ATM 取款机类 内主要有 面向对象程序设计之课程设计 3 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 取款 通过在主界面的输入指令来实现各个函数的调用 以达到模仿 ATM 取款机的功能 系统功能图与流程图系统功能图与流程图 输入与功能对输入与功能对 应的的数字应的的数字 判断有否判断有否 开始开始 执行相应功能执行相应功能 结束结束 是是 否否 面向对象程序设计之课程设计 4 ATM 取款机取款机 Class ATM 登陆 Get name 用户姓名 Get num 用户卡号 Class consumer 用户类 Main 主函数 Welcome 登陆界面 Check passwd 核对密码 Fetchmoney 取款 Functionshow 功能 Information 查询 Change psss wd 改密 改密 Lock 锁卡 Exit 退卡 Get passwd 密码 Get money 余额 Get passwd 密码设置 Set money 取款 存储用户 信息 3 系统截图 面向对象程序设计之课程设计 5 1 主界面 2 卡号 密码输入最多三次 否则直接退出系统 面向对象程序设计之课程设计 6 3 取款功能 取款金额受卡余额 机单笔最大取款金额及机当前剩余金额的限制 4 查询功能 实现查询余额功能 5 更改密码 实现密码更改功能 对于密码要有 2 次验证 面向对象程序设计之课程设计 7 6 锁卡功能 实现卡被锁的功能 7 退卡功能 实现退出系统功能 4 4 核心代码设计核心代码设计 1 类编写 类编写 通过定义两个类 class consumer 用户类 和 class ATM ATM 取款机类 对于 class ATM public 有登陆界面 核对密码 取款功能 功能界面 查询功能 更改密码 锁卡 功能 退卡功能 Private 有记录密码输入次数 对于 class consumer public 有获取姓名 获取卡号 获取密码 获取余额 设置密码 取款 Private 有用户密码 用户姓名 2 类的成员函数类的成员函数 class ATM ATM 取款机类 public ATM consumer 登陆界面 bool check passwd char n char pwd 核对密码 void fetchmoney 取款功能 面向对象程序设计之课程设计 8 void functionshow 功能界面 void information 查询功能 void change passwd 更改密码 void lock 锁卡功能 void exitATM 退卡功能 private int times 记录密码输入次数 consumer class consumer 用户类 public friend class ATM consumer char Name char Num float Money char Password protected char get name 获取姓名 char get num 获取卡号 char get passwd 获取密码 float get money 获取余额 void set passwd char pwd 设置密码 void set money float m 取款 private char passwd 8 用户密码 char name 20 用户姓名 char num 20 float money 3 各个功能的实现各个功能的实现 1 卡号 密码输入最多三次 否则直接退出系统 void ATM exitATM 退卡 cout endl 感谢您支持 欢迎下次光临 endl cout 请取回你的卡片 endl exit 0 后面的退卡需要调用此函数 void ATM welcome times 0 cout endl cout endl cout 中国农业银行 endl 面向对象程序设计之课程设计 9 cout 欢迎使用 ATM 自动柜员机 endl cout endl cout endl char pwd 8 num 20 ch int i 0 do i 0 cout endl 请输入卡号 do cin get ch 对于键盘字符串的接收 num i ch while ch n num i 1 0 i 0 cout 请输入密码 do cin get ch pwd i ch while ch n pwd i 1 0 if check passwd num pwd cout 你输入的卡号或密码有误 请重新输入 endl times else functionshow while times 3 exitATM 2 取款功能 取款金额受卡余额 机单笔最大取款金额及机当前剩余金额的限制 void ATM fetchmoney 取款 float m char ch do 面向对象程序设计之课程设计 10 cout endl 您要取多少钱 m while m 0 cout 请输入您的取款金额 m if cnsm get money m 0 cout 对不起 你的余额不足 endl else cout endl 操作成功 请于 30 秒内取走您的钞票 endl cnsm set money m cout 是否要继续该项操作 y n ch while ch y ch Y 3 查询功能 实现查询余额功能 void ATM information 查询 cout endl cout 您当前所剩余额为 cnsm get money endl 必须声明友元才能用 cnsm 调用其成员函数 cout endl 4 更改密码 实现密码更改功能 对于密码要有 2 次验证 void ATM change passwd 更改密码 char pwd 8 repwd 8 times 0 do cout endl pwd if check passwd cnsm get num pwd times else break while times 3 面向对象程序设计之课程设计 11 int t 1 do cout pwd cout repwd t strcmp pwd repwd 相同返回 0 if t 0 cout 对不起 您输入的两次密码不一样 请重新输入 endl while t 0 cnsm set passwd pwd cout 密码修改成功 endl 5 锁卡功能 实现卡被锁的功能 void ATM lock 锁卡 cout endl 对不起 由于你的操作有误 你的卡片已被没收 endl exit 1 系统非正常退出 if times 3 lock 当密码输入三次错误后 进行锁卡 6 退卡功能 实现退出系统功能 void ATM exitATM 退卡 cout endl 感谢您支持 欢迎下次光临 endl cout 请取回你的卡片 endl exit 0 4 主函数主函数 void main consumer c 张丽 20112218 5000 456258 先构造一个用户 ATM atm c atm welcome 面向对象程序设计之课程设计 12 三三 心得体会心得体会 本次面向对象程序设计实践中 我完成了一个模仿 ATM 机存取款管理系统设计 刚开 始时 对于这个课题的设计我首先是先进行功能的分析 针对其功能再设计其函数 在实 现各个功能的时候 遇到了许多的问题 比如说取款金额受卡余额 机单笔最大取款金额 及机当前剩余金额的限制 在进行设计时 就没有实现机单笔最大取款金额限制这一要求 功能 在实验中 有一些问题难以解决 但是通过查询资料 上网搜索 也得到一定程度 的解决 在设计过程中还有其他的各种问题 有请教老师的 老师都对我进行耐心的指导 解决了一些问题 还有问同学的 做相同课题同学们间的互相交流也使我受益匪浅 经过一个星期的上机实验 对于面向程序设计这一门课我从课本上的例题教学 上机 实验到现在的设计操作 明显有不同的感受 也许在书本上的例题能够看明白看懂 但是 在自己进行设计并且运行的时候会出现许多的问题 检验自己许多方面的能力 细心程度 耐心程度等等 此次课程设计 我对面向对象程序设计的认识得到了一定的提高 其实许多课程也是 如此 我们不能单独停留在书本所交给我们的知识里 有时候的很多问题当你通过上机亲 自操作 你会发现亲自实践比看书来得直观明了 这次的课程设计的目的也在于此 让我 们通过实践来对所学知识进行检验以及深入的理解 源代码源代码 include using namespace std class consumer class ATM ATM 取款机类 public ATM consumer 登陆界面 bool check passwd char n char pwd 核对密码 void fetchmoney 取款功能 void functionshow 功能界面 void information 查询功能 void change passwd 更改密码 void lock 锁卡功能 void exitATM 退卡功能 面向对象程序设计之课程设计 13 private int times 记录密码输入次数 consumer class consumer 用户类 public friend class ATM consumer char Name char Num float Money char Password protected char get name 获取姓名 char get num 获取卡号 char get passwd 获取密码 float get money 获取余额 void set passwd char pwd 设置密码 void set money float m 取款 private char passwd 8 用户密码 char name 20 用户姓名 char num 20 float money consumer consumer char Name char Num float Money char Password strcpy name Name strcpy num Num money Money strcpy passwd Password float consumer get money return money char consumer get name 对于数组的返回操作 返回指针 return name char consumer get num 面向对象程序设计之课程设计 14 return num char consumer get passwd return passwd void consumer set money float m money m void consumer set passwd char pwd strcpy passwd pwd void ATM welcome times 0 cout endl cout endl cout 中国农业银行 endl cout 欢迎使用 ATM 自动柜员机 endl cout endl cout endl char pwd 8 num 20 ch int i 0 do i 0 cout endl 请输入卡号 do cin get ch num i ch while ch n num i 1 0 i 0 cout 请输入密码 do cin get ch pwd i ch while ch n 面向对象程序设计之课程设计 15 pwd i 1 0 if check passwd num pwd cout 你输入的卡号或密码有误 请重新输入 endl times else functionshow while times 3 exitATM bool ATM check passwd char num char pwd if strcmp num cnsm get num 0 else return false void ATM functionshow int n do cout endl cout 本机可办理以下业务 请你输入相应的操作序号进行操作 endl cout 查询 endl 取款 endl 更改密码 endl 退出 n while n4 面向对象程序设计之课程设计 16 cout 对不起 本机无此项操作 请输入正确的操作序号 n switch n case 1 information break case 2 fetchmoney break case 3 change passwd break case 4 exitATM break while true void ATM information 查询 cout endl cout 您当前所剩余额为 cnsm get money endl 必须声明友元才能用 cnsm 调用其成员函数 cout endl void ATM fetchmoney
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统筹城乡供水项目投资计划书
- 2025-2030智慧医疗互联网医院运营模式研究及投资热点全面评估深度调研报告
- 费托蜡生产线项目初步设计
- 2025-2030智慧农业项目规划设计分析及市场推广策略研究
- 2025-2030智慧农业设备制造行业市场分析及发展趋势与投资前景研究报告
- 2025-2030智慧农业行业市场趋势研究及技术应用与投资机会研究报告
- 2025-2030智慧农业行业市场深度调研及未来发展方向研究报告
- 2025-2030智慧农业行业发展趋势及高效种植模式研究指南
- 2025-2030智慧农业系统建设产业市场发展潜力评估投资乡村规划动态分析报告
- 2025-2030智慧农业物联网技术实施市场供需调研投资评估未来发展方向报告
- 英语专业四级听力50篇
- 中班综合《捡落叶》课件
- PDCA持续改进跟踪表
- 工厂介绍文案
- 管路维修培训课件模板
- 辨析wear-be-in-dress-put-on-配套课件
- 因公出国人员审查表
- GB/T 42698-2023纺织品防透视性能的检测和评价
- 髋臼及股骨骨缺损的分型及评价-课件
- 物流统计与实务PPT完整版全套教学课件
- 护理安全警示教育
评论
0/150
提交评论