模拟ATM机存取款管理系统面对对象课程设计
- 格式:doc
- 大小:687.00 KB
- 文档页数:31
c 模拟取款机课程设计一、课程目标知识目标:1. 学生能够理解ATM机的基本工作原理和功能操作流程;2. 学生能够掌握运用编程语言进行ATM机模拟程序的设计;3. 学生能够运用基本的数学运算实现账户余额的查询、取款和存款功能。
技能目标:1. 学生能够运用所学知识,独立设计并编写一个简单的ATM取款机模拟程序;2. 学生能够通过编程解决实际问题,提高逻辑思维和问题解决能力;3. 学生能够通过团队协作,共同完成项目任务,提高沟通与协作能力。
情感态度价值观目标:1. 学生能够认识到编程在生活中的实际应用,增强学习信息技术的兴趣;2. 学生能够在项目实践中体会团队合作的重要性,培养合作精神;3. 学生能够通过解决实际问题,认识到学习知识可以改善生活,提高社会责任感。
分析课程性质、学生特点和教学要求,本课程旨在帮助学生在掌握ATM机基本知识的基础上,运用编程技能实现模拟程序的设计,培养学生解决实际问题的能力。
课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,为后续的教学设计和评估提供依据。
二、教学内容1. 理论知识:- 了解ATM机的基本功能及其工作原理;- 学习编程语言的基本语法和结构;- 掌握条件语句、循环语句和函数的定义与使用。
2. 实践操作:- 设计并编写ATM机模拟程序;- 实现账户余额查询、取款、存款和退出功能;- 学习调试程序,解决编程过程中遇到的问题。
3. 教学大纲:- 第一周:ATM机基本功能介绍,学习编程语言基础;- 第二周:编写ATM机模拟程序,实现查询余额和取款功能;- 第三周:实现存款和退出功能,学习调试程序;- 第四周:项目展示与评价,总结反馈。
4. 教材章节:- 《信息技术》第三章:程序设计基础;- 《信息技术》第四章:算法与程序设计。
教学内容根据课程目标进行选择和组织,保证科学性和系统性。
教学大纲明确了教学内容的安排和进度,确保学生在学习过程中逐步掌握所需知识,为实践操作打下坚实基础。
atm系统设计课程设计一、教学目标本课程的教学目标是使学生掌握ATM系统设计的基本原理和方法,能够运用所学的知识分析和解决实际问题。
具体来说,知识目标包括了解ATM系统的历史、发展和现状,掌握ATM系统的基本组成和工作原理,熟悉ATM系统的相关协议和技术。
技能目标包括能够使用相关工具和软件进行ATM系统的设计和仿真,具备分析和解决ATM系统问题的能力。
情感态度价值观目标包括培养学生的创新意识,提高学生对ATM系统设计和研究的兴趣,使学生认识到ATM系统在现代社会中的重要性和地位。
二、教学内容本课程的教学内容主要包括ATM系统的历史和发展、ATM系统的基本组成和工作原理、ATM系统的相关协议和技术、ATM系统的设计和仿真等。
具体来说,将讲解ATM系统的历史和发展,使学生了解ATM系统的发展过程和背景;讲解ATM系统的基本组成和工作原理,使学生掌握ATM系统的基本知识和技能;讲解ATM系统的相关协议和技术,使学生了解ATM系统的运作方式和规范;讲解ATM系统的设计和仿真,使学生能够运用所学的知识进行ATM系统的设计和仿真。
三、教学方法为了实现教学目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
讲授法将用于讲解ATM系统的基本知识和技能,使学生能够系统地学习和掌握;讨论法将用于讨论ATM系统设计和研究中遇到的问题,激发学生的思考和创新;案例分析法将用于分析ATM系统的实际案例,使学生能够将所学的知识应用到实际问题中;实验法将用于进行ATM系统的设计和仿真,培养学生的实际操作能力和实践能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备和选择适当的教学资源,包括教材、参考书、多媒体资料和实验设备等。
教材将作为学生学习的主要资源,提供ATM系统设计的基本知识和技能;参考书将提供ATM系统的相关背景资料和深入研究内容;多媒体资料将提供ATM系统设计和仿真的相关视频和动画,帮助学生更好地理解和掌握;实验设备将用于进行ATM系统的设计和仿真,使学生能够亲自动手实践,提高学生的实际操作能力。
模拟自动取款机设计方案1. 设计目的《面向对象程序设计课程设计》是计算机科学与技术专业和软件工程专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。
其目的在于加深对面向对象程序设计中基础理论和基本知识的理解,培养学生的实践能力,促进理论与实践的结合。
通过课程设计,让学生能够熟练进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。
2. 设计要求1、掌握使用一种面向对象程序设计语言如Borland C++或Visual C++等。
2、培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
3、通过课程设计,要求学生在指导教师的指导下,独立完成实习课题的全部内容,包括:⑴ 通过调查研究和上机实习,收集和调查有关技术资料。
⑵ 掌握设计课题的基本步骤和方法。
⑶ 根据课题的要求进行上机实验调试。
4、课程设计完成后,提交课程设计报告3. 设计方案3.1 .设计题目:模拟自动取款机(ATM)运用C++语言描述ATM机类和银行卡类,每个类均包含数据成员和成员函数,并运用对象的引用和友元类的知识。
注重面向对象程序设计理论知识的理解与实际的动手编程能力。
运用面向对象的理念实现模拟自动取款机使用过程中的界面和用户交互过程。
本课程设计要实现的主要功能如下:1. 查询银行卡余额;2. 取款;3. 修改银行卡密码;4. 退出系统。
3.2.系统特点321.系统实现:1. 核对密码:核对用户输入的密码是否正确;2. 修改密码:修改银行卡密码;3. 取款:取款;4. 查询信息:查询余额;5. 退出系统:操作完成退出;6. 锁机吞卡:操作不当如:密码输入错误超过3次,银行卡将被锁。
4.设计内容4.1.层次分析1.主程序流程图:2■类结构图:BankCardATM类为BankCard类的友元类ATM -times: int-totalmoney:float-leftmoney:float-oncemoney float-& BankCardAtATM : BankCard+ATM (& bc: BankCard)+ welcome()+ checkpasswd(char n[],char pwd[])+changepasswd()+ fetchmoney()+information()+exitATM()+functionshow()+lock()+Clear()42核心算法主要核心算法:取款,修改密码。
《面向对象程序设计》课程设计报告题目:银行ATM自动取款机系统专业:计算机科学与技术班级:1103学号:1030070115:黄永泉指导教师:甘秋云完成日期:2012 年 6月13 日《面向对象程序设计》课程设计一、系统中所使用的数据对象及说明1、自动取款机bank类属性属性名称类型描述idcard string 银行卡号name string 储户mmi string 密码money int 金额num int 序号C[5] Consumer (组合)储户类方法方法名称功能set 设置银行储户信息menu 自动取款机界面菜单2、储户类consumer属性属性名称类型描述chuhu string 储户ic string 卡号mima string 密码jine int 金额yue int 余额方法方法名称功能Set2 设置储户信息xiugai 修改密码chaxun 查询余额qukuan 取款zhuanzhang 转账getch 取储户名getmm 取密码3、各个类之间的关系二、系统功能结构及相关算法描述1、系统功能结构2、相关算法流程图(1)设子储户信息流程(2)修改密码流程(3)查询余额流程(4)取款流程(5)转账流程#include<iostream>#include<cstring>#include<iomanip>#include<string>using namespace std;class consumer{public:void set2(string c,string ch,string mm,int y){ic=c;chuhu=ch;mima=mm;yue=y;}int xiugai();//修改密码void chaxun();//查询余额int qukuan();//取款int zhuanzhang();//转账string getch();//取用户string getmm();//取密码private:string chuhu;//储户string ic;//卡号string mima;//密码int jine;//金额int yue;//账户余额};class bank{public:consumer c[5];void set(int i,string id,string n,string ma,int m){num=i;idcard=id;name=n;mmi=ma;money=m;c[i].set2(id,n,ma,m);};void menu();private:string idcard,name,mmi;int money,num;};void bank::menu()//菜单界面{cout<<"````````````````````````````````````"<<endl<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"***^.^欢迎进入国脉15自动取款机^.^***"<<endl<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"`````````````````````````````````````"<<endl<<endl;cout<<"-*-*-*-*-*-*请输入登陆账号-*-*-*-*-*-*"<<endl;string ch;cin>>ch;int i=0;while((ch!=c[i].getch())&&(i<5))//判断该储户是否存在i++;if(i>=5){cout<<endl<<endl;cout<<"!.! o>.<O !.!"<<endl;cout<<"~~~该账户不存在~~~"<<endl;cout<<"-_-# ?_? -_-#"<<endl;exit(0);//结束程序}cout<<endl<<"请输入登陆密码:";string mi;cin>>mi;cout<<endl<<endl;if(mi!=c[i].getmm()){cout<<endl<<endl;cout<<"#############################"<<endl;cout<<"你输入的密码有误,禁止继续使用"<<endl;cout<<"#############################"<<endl;exit(0);//结束程序}do{cout<<endl;cout<<"请选择操作功能:"<<endl;cout<<"1.修改密码功能;2.余额查询功能;3.取款功能;4.转账功能"<<endl<<endl;int f;cin>>f;switch(f){case 1:c[i].xiugai( );break;case 2:c[i].chaxun( );break;case 3:c[i].qukuan( );break;case 4:c[i].zhuanzhang( );break;}cout<<endl<<endl<<"*******************"<<endl;cout<<"是否继续使用~~^_^~~ "<<endl<<"1.继续;0.结束"<<endl;cout<<"*******************"<<endl<<endl;cout<<"请选择"<<endl;int i;cin>>i;}while(1);cout<<"*******谢谢^^^^^^^使用********"<<endl;cout<<"***^.^请取卡,欢迎下次使用^.^***"<<endl;}string consumer::getch(){return chuhu;}string consumer::getmm(){return mima;}int consumer::xiugai(){cout<<"**你当前进入的是修改密码功能**"<<endl;cout<<endl<<endl;cout<<"**请输入原口令:";string mi;//密码cin>>mi;if(mi!=getmm()){cout<<endl<<endl<<"!!!!!!!!!!!!!!!!!!!!!"<<endl;cout<<"**你输入的密码有误**"<<endl;cout<<"**欢迎下次使用**"<<endl;cout<<"!!!!!!!!!!!!!!!!!!!!!"<<endl<<endl;exit(0);//退出程序}cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"**请输入修改后密码:";cin>>mima;cout<<"**修改密码成功**"<<endl;cout<<"**你先口令是:"<<mima<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;return 1;}void consumer::chaxun(){cout<<endl<<endl<<"*************************"<<endl<<endl;cout<<"**你当前进入的是查询余额功能**"<<endl;cout<<"**你的余额为:"<<yue<<endl<<endl;}int consumer::qukuan(){cout<<endl<<endl<<"***************************"<<endl<<endl;cout<<"**你当前进入的是取款功能**"<<endl<<endl;cout<<"**请输入取款金额:";cin>>jine;if(jine<yue){cout<<endl<<"取款成功"<<endl;yue=yue-jine;return 1;}else{cout<<endl<<endl<<"!.! !>.<! !.!"<<endl<<endl;cout<<"**余额不足,请重新输入**"<<endl<<endl;cout<<"!.! !>.<! !.!"<<endl<<endl;return 0;}}int consumer::zhuanzhang(){cout<<endl<<endl<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"**你当前进入的是转账功能界面**"<<endl<<endl;cout<<"请输入要转账到的储户:";string ch;cin>>ch;//转账到的储户int i=0;consumer c[5];while((ch!=c[i].getch())&&(i<5))//判断该储户是否存在i++;if(i<5){cout<<endl<<"请输入转账金额:";cin>>jine;c[i].yue=c[i].yue+jine;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"转账成功"<<endl<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;return 1;}else{cout<<endl<<endl<<"!.! !>.<! !.!"<<endl<<endl;cout<<"该储户不存在"<<endl<<endl;cout<<"!.! !>.<! !.!"<<endl<<endl;cout<<"1:进行重新输入;2:进行退出该界面"<<endl;int s;cin>>s;if(s==1){cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;zhuanzhang();cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;}elseif(s==2)return 1;//退出}}int main(){bank bk;bk.set(0,"1000","fhp","123456",100000);bk.set(1,"1001","lzh","111111",200000);bk.set(2,"1002","ljj","222222",300000);bk.set(3,"1003","zhu","333333",40000);bk.set(4,"1004","hih","444444",50000);bk.menu();return 0;}四、系统运行结果(截图)1、主菜单界面2、登陆操作3、修改密码4、余额查询功能5、取款6.转账五、课程设计总结。
java模拟atm 课程设计一、课程目标知识目标:1. 学生能理解ATM机的基本功能和工作原理,掌握运用Java语言实现ATM 功能的相关知识。
2. 学生能掌握面向对象编程思想,运用类和对象的概念实现ATM功能模块。
3. 学生了解异常处理在程序设计中的重要性,并能运用try-catch语句处理可能出现的异常。
技能目标:1. 学生能运用所学知识,设计并实现一个具备基本功能的ATM模拟系统。
2. 学生能运用控制台输入输出,实现用户与ATM机之间的交互。
3. 学生能运用所学调试技巧,对ATM模拟系统进行测试和优化。
情感态度价值观目标:1. 学生通过实际操作,培养解决问题的能力和团队合作精神。
2. 学生在编程实践中,增强对计算机科学的兴趣和热爱,树立正确的价值观。
3. 学生通过学习,认识到编程在实际生活中的应用,提高学习的积极性。
本课程针对高年级学生,课程性质为实践性较强的学科。
在教学过程中,要求关注学生的个体差异,充分调动学生的主观能动性,引导他们通过自主探究、合作学习等方式,实现课程目标。
课程目标分解为具体学习成果,以便教师在教学设计和评估中,关注学生在知识、技能和情感态度价值观方面的全面发展。
二、教学内容1. 理论知识:- Java面向对象编程基础:类与对象、继承与多态、封装与抽象;- 异常处理:异常的概念、try-catch-finally结构、自定义异常;- 控制台输入输出:Scanner类、System.out.print/println方法。
2. 实践操作:- ATM功能模块设计:账户类、ATM类、用户界面类;- 功能实现:登录、查询余额、取款、存款、退出;- 异常处理:输入非法数据、余额不足等异常处理。
3. 教学大纲:- 第一阶段:Java面向对象编程基础学习(1课时);- 第二阶段:异常处理知识学习(1课时);- 第三阶段:控制台输入输出操作学习(1课时);- 第四阶段:ATM功能模块设计及功能实现(2课时);- 第五阶段:项目测试与优化(1课时)。
温馨提示程序语言:C、C++、C#、Python(红色字体表示本课设使用的程序设计语言)图形功能选项:Win32控制台程序(黑框、文本界面)、Win32程序、MFC、WinForm、DirectX10(黑体标明表示本课设的程序图形类别,默认为非图形界面Win32控制台程序)数据结构:基础类型、数组、链表、双向链表、搜索树(非平衡二叉树)、平衡二叉树、链表与平衡二叉树相结合、堆栈、队列、串、图(黑体标明表示本课设使用的数据结构)C++语言项:STL库(黑体标明表示使用C++的STL库)编译环境:Windows 7 64位旗舰版(Linux及其他环境请谨慎下载)集成开发环境:Visual C++ 6.0、DEVC++、CodeBlocks、Visual Studio 2015均可通过编译。
(浅蓝色字体表示需要运行修改后的版本,请用户自行选择源代码测试)分多头文件编译:否(所有代码基本都包含在一个文件内,如需试验头文件功能,请自行参考相关文献)内容说明:1、课设题目及预览内容将在第二页开始展示。
2、代码行数:241行3、目录所示内容,本文基本涵盖,如无内容,会在本页进行说明。
4、附录绝对包含用户使用手册及程序完整源代码和详细注释。
5、如需下载其他头文件(例如DirectX需另行配置),本文会在此进行说明。
6、本文撰写内容仅供学习参考,另外,由于本人水平有限,编写之处难免存在错误和纰漏,恳请各位老师或同学批评指正。
《面向对象程序设计》课程设计报告书设计题目:模拟ATM机存取款管理系统设计指导老师:学生班级:学生学号:学生姓名:同组人员:时间:2017.12.课程设计任务书第一章概述使用ATM柜员机可以节约人力资源,方便用户进行简单常用的操作,并且为用户全天候的服务,提高银行效率,给人们提供了非常大的便利。
本文就以C++语言设计一项简单的模拟ATM柜员机程序。
运行程序时,当输入给定的卡号和密码(初始卡号和密码都为123456)后,系统就能登录ATM柜员机系统,用户可以进入功能实现界面,有查询余额,取款,存款,修改密码等功能。
《C#课程设计》结业报告学号:专业:姓名:任课教师:日期:2013年12月28日目录摘要 (3)1 系统分析 (3)1.1背景分析 (3)1.2系统功能 (4)1.3主要问题 (4)1.4开发工具与环境 (4)1.4.1开发工具 (5)1.4.2开发环境 (5)2 系统整体设计 (5)2.1设计思想 (5)2.1.1功能模块划分 (5)2.2数据库设计 (6)3 系统详细设计 (7)3.1系统总设计 (7)3.2 登陆界面设计 (8)3.3查询界面设计 (12)3.4存、取款界面设计 (14)3.5转账界面设计 (16)3.6修改密码界面设计 (17)心得体会 (19)模拟ATM取款机系统摘要本ATM系统的目的就是建立一个客户平台,用户使用此平台进行查询余额、存款、取款、转账、修改密码等业务办理。
相对于柜员操作一样的,不过ATM 系统有的功能有权限设置,一些功能只有银行柜员才能进行的业务办理。
ATM取款系统的针对的用户群是使用此软件系统的用户,用户做为系统的服务群体,可以使用数据库已有的账号与密码,登陆ATM系统。
当用户成功登陆后就可以根据用户的需求进行各项业务的办理,办理完所有的手续后,用户的输入的新资料以及办理的业务处理后的信息都会反馈到数据库并且都会存入到数据库中。
这样用户就完成了办理业务。
1 系统分析1.1背景分析随着信息时代科技的飞速发展,使用ATM取款机、计算机等技术的发展,不仅提高了工作效率,而且大大的提高了其安全性。
对于一些复杂的信息,就能够充分的发挥它们的优越性。
ATM柜员机就是技术发展的产物,相对的一台ATM柜员机与ATM系统是密不可分的。
本系统就是为了更方便人们的生活而设计的。
ATM系统作为一款数据传输的技术,用户信息和资金信息的繁杂,包含很多的数据的管理,以前的都是由一些柜员进行操作,而且手续很多。
对于ATM取款系统数据的统计和核实等都是采用卡号进行核对的,对于用户的信息资料、以及等用人工办理。
atm机管理系统课课程设计一、教学目标本课程的教学目标是使学生掌握ATM机管理系统的相关知识,包括其工作原理、组成部分、操作流程等。
在知识目标方面,学生需要了解ATM机的历史、功能、硬件和软件构成,以及相关的安全技术。
技能目标方面,学生应能够设计简单的ATM机管理系统,并掌握一定的故障排查能力。
情感态度价值观目标方面,学生应理解信息技术对现代金融服务业的重要性,并培养对金融科技领域的兴趣。
二、教学内容教学内容将依据教材《ATM机管理系统》进行,主要包括以下几个部分:第一章,ATM机的历史和发展;第二章,ATM机的硬件和软件构成;第三章,ATM机的操作流程;第四章,ATM机的安全技术;第五章,ATM机管理系统的未来发展。
教学内容将按照教材的章节顺序进行,每个章节都包含理论讲解和实践操作两部分。
三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式。
包括:讲授法,用于讲解ATM机管理系统的理论知识;讨论法,用于探讨ATM机管理系统的实际应用和问题解决方案;案例分析法,通过分析具体案例,使学生更好地理解ATM机管理系统的运作;实验法,通过实际操作ATM机,让学生亲身体验并掌握ATM机的操作流程。
四、教学资源教学资源包括教材《ATM机管理系统》、参考书、多媒体资料和实验设备。
教材《ATM机管理系统》为学生提供了ATM机管理系统的基本概念、原理和技术,是学生学习的主要资源。
参考书则提供了更多的实例和案例,帮助学生更好地理解ATM机管理系统的实际应用。
多媒体资料包括图片、视频等,用于辅助讲解和展示ATM机管理系统的相关知识。
实验设备则是学生进行实际操作的重要工具,包括ATM机和相关的调试设备。
五、教学评估教学评估将采用多元化的评价方式,以全面、客观、公正地评价学生的学习成果。
评估方式包括平时表现、作业、考试和项目实践等。
平时表现主要评估学生的课堂参与度、提问和回答问题的积极性等。
作业则包括课后习题和小论文,以考察学生对ATM机管理系统知识的理解和应用。
《Java程序设计》课程设计报告题目ATM柜员机模拟程序姓名学号性别所在班级指导教师二〇一二年十二月二十九日目录一前言 (1)1.1 课程设计题目 (1)1.2 课程设计完成地点 (1)1.3 系统概述 (1)1.3.1课程设计介绍 (1)1.3.2 课程设计目的 (1)1.3.3 课程设计内容 (2)1.4 相关技术 (2)二需求分析 (3)2.1 功能需求 (3)2.2 界面需求 (3)2.2.1窗体的设计 (4)2.2.2窗体的主要结构的设计 (4)三功能设计 (5)3.1 系统总体结构 (5)3.2 系统模块 (5)3.3 主要相关类 (6)四详细设计 (8)4.1登陆页面模块设计 (8)4.2选择服务模块设计 (9)4.3取款模块设计 (10)4.4修改密码模块设计 (11)4.5退卡模块设计 (12)4.6异常处理情况说明 (12)4.7系统实现与测试 (12)五总结 (14)5.1遇到的问题及解决办法 (14)5.2心得体会 (14)六感谢 (15)一前言1.1 课程设计题目ATM柜员机模拟程序1.2 课程设计完成地点文理楼A5041.3 系统概述1.3.1课程设计介绍本次JAVA游戏开发课程设计在文理楼机房进行,为期一周。
这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象软件开发的思维,初步了解软件开发的一般流程,提高用JAVA编程的实际动手能力并增强大家对面向对象的了解。
这次课程设计的主要内容是独立用JAVA语言开发一个简单的应用程序。
我所设计的是ATM柜员机。
随着市场经济的繁荣发展,人们物质生活得到了极大的提高,手中剩余资金日益增多,受传统观念的影响,绝大多数人喜欢把暂时不用的资金存入银行,而在需要现金时去银行提现,这就导致了银行业务的急剧增加。
最然银行网点越来越多,银行工作人员效率也随着信息化有明显增长,但依旧不能及时满足广大储户的需求。
而一味的增加营业网点,从理论上讲虽有缓解此问题的功效,但是建立一个网点需要付出昂贵的资金,还要不断注入人力资源。