模拟ATM机存取款管理系统面对对象课程设计

合集下载

c模拟取款机课程设计

c模拟取款机课程设计

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系统的相关背景资料和深入研究内容;多媒体资料将提供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自动取款机系统课程设计

银行ATM自动取款机系统课程设计

《面向对象程序设计》课程设计报告题目:银行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课程设计

java模拟atm课程设计

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++模拟ATM机存取款管理系统设计

C++模拟ATM机存取款管理系统设计

温馨提示程序语言: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#课程设计-模拟ATM取款机系统

C#课程设计-模拟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机管理系统的相关知识。

实验设备则是学生进行实际操作的重要工具,包括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柜员机。

随着市场经济的繁荣发展,人们物质生活得到了极大的提高,手中剩余资金日益增多,受传统观念的影响,绝大多数人喜欢把暂时不用的资金存入银行,而在需要现金时去银行提现,这就导致了银行业务的急剧增加。

最然银行网点越来越多,银行工作人员效率也随着信息化有明显增长,但依旧不能及时满足广大储户的需求。

而一味的增加营业网点,从理论上讲虽有缓解此问题的功效,但是建立一个网点需要付出昂贵的资金,还要不断注入人力资源。

ATM柜员机模拟程序JAVA课程设计

ATM柜员机模拟程序JAVA课程设计
}
}
4.2ATM主界面模块设计:
classATMextendsJFrameimplementsActionListener//导入接口类
{
JPanel p1,p2, p3;//定义个面板
JLabel l1, l2, l3,l4;//定义个标签
JPasswordField pswf;//定义一个密码文本
}
publicvoidactionPerformed(ActionEvente)//监听类
{
Stringx = jc1.getText();
if(e.getSource() == jb1)//如果点击是jb1按钮就进入For
{
for(inti = 0; i < 4; i++)//判断名字在数组的位置
this.pack();
this.setTitle("ATM柜员机");//定义为窗口名称
this.setBounds(300, 300, 400, 300);//定义窗口的大小
this.setResizable(false);
this.show();//显示
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭、退出
content.setLayout(newBorderLayout());
content.add(p1,BorderLayout.NORTH);
content.add(p2,BorderLayout.CENTER);//定义中部为面板p2
content.add(p3,BorderLayout.SOUTH);//定义底部为面板p3
jb1.addActionListener(this);//jb1申请监听

ATM自动取款机程序设计

ATM自动取款机程序设计

大连科技学院面向对象程序设计(A)课程设计题目 ATM自动取款机程序设计学生姓名x'x'x专业班级软件工程12-1 指导教师李孝贵职称讲师所在单位信息科学系软件工程教研室教学部主任王立娟完成日期 2014年7月6日课程设计报告单综合评定:(优、良、中、及格、不及格)指导教师签字:年月日《面向对象程序设计(A)课程设计》任务书一、课程设计任务及要求:任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。

要求:(1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。

可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。

(2)提交课程设计报告。

(3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。

二、工作量2周(10个工作日)时间三、计划安排第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。

第2个工作日-第4个工作日:设计程序结构、模块图。

第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。

穿插进行课程设计报告的撰写。

第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:年月日目录题目: (1)1.需求分析 (1)2.概要设计 (1)3.详细设计.......................................................................................... 错误!未定义书签。

4.编码 (4)5.调试分析 (5)6.测试结果及运行效果 (5)7.系统开发所用到的技术 (8)参考文献 (9)附录全部代码 (10)题目:ATM自动取款机程序设计分析与设计1.需求分析为了方面用户的及时取款,查询,及时修改密码的方便,本课题设计并模拟银行的自动取款机使用过程中的界面和用户交互过程。

JavaATM课程设计报告书

JavaATM课程设计报告书

呼和浩特民族学院课程设计报告设计名称:《面向对象程序设计》课程设计选题名称: ATM自动取款机模拟系统姓名:萌学号:专业班级:计算机科学与技术专业系(院):计算机系设计时间:2013.11.19~2013.11.28设计地点: 5、6机房4.课程设计成果调试程序,进入主界面:选择查询选择查询后,进入如下界面,可以先输入密码,检测密码输入是否正确。

取款查看余额更改密码:存款转账:继续操作检验和退出程序:5.课程设计心得在本次的课程设计中,ATM自动取款机模拟系统在初选时觉得很难,因为在我觉得这个程序太大了,而且有好的方法我不是很熟练,我也在网上查阅的很多资料,最后定下这个程序。

根据课程设计的要求,在ATM自动取款机模拟系统要实现查询,存款,取款,转账,密码修改等功能,还有程序选择功能,错误提示,退出系统等功能。

在调试过程中,出现了很多问题,对于我来说,方法的调用时最难的了,经过网上查询,老师帮助,同学商议,最后解决了我的难题,但是我写的还是很慢的了,经过斟酌才写下这篇程序报告。

不过通过解决这些问题,我也对java中许多不理解的地方也有了不同的看法,知道了很多的知识,我觉得这些辛苦没有白费。

最后,能让读者或者使用的人更清楚明白的直观的认识这个程序我加了很多,汉语的注释和操作中的提示,通过这次程序设计报告的完成我希望以后我的程序越来越好,我知道的知识越来越多。

参考文献:《Java语言与面向对象程序设计》-----------王行言编著《Java2实用教程》------------------------耿祥义,跃平编著《Java实用程序设计100例》---------------袁海燕,王文涛编著。

C++模拟ATM机存取款管理系统设计

C++模拟ATM机存取款管理系统设计

温馨提示程序语言: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柜员机系统,用户可以进入功能实现界面,有查询余额,取款,存款,修改密码等功能。

java课程设计ATM柜员机模拟程序

java课程设计ATM柜员机模拟程序

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:ATM柜员机模拟程序院系:信息技术学院班级:设计者:学号:指导教师:设计时间:2016-1-4-2016-1-8信息技术学院昆明学院课程设计(大作业)任务书课程设计(大作业)报告一、题目分析1.系统需求分析(1)设计目标:随着市场经济的繁荣发展,人们的物质生活得到极大的提高,手中的剩余资金也日益增多。

受传统观念影响,绝大多数人喜欢把资金投进银行,而在需要使用现金的时候再到银行提取现金。

这就导致银行业务的急剧增加。

虽然银行网点越来越多,银行的工作效率也随着信息化有较明显的增长,但是依旧不能满足广大用户的需要。

而一味的增加营业网点,从理论上虽然能稍微的缓解银行的压力,但是治标不治本,而且每增加一个网点,不仅要付出昂贵的资金成本,还需要长期投入人力资本,成本非常之昂贵。

这时候就迫切的需要一种自动的,易于普及的,低成本的设备来解决这一问题。

于是ATM机系统应运而生了。

自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一张信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。

本文正是通过设计一个ATM模拟模拟程序来实现ATM机系统的基本功能,充分运用自己所学的Java知识进行设计编程。

(2)题目设计要求:本ATM柜员机的主要功能如下所述:要求使用图形用户界面。

当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:●查询余额:初始余额为10000元。

●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

●ATM存款:不能出现负存款。

●修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

模拟atm课程设计

模拟atm课程设计

模拟atm课程设计一、教学目标本课程的教学目标是让同学们了解和掌握ATM(自动柜员机)的基本原理、操作方法和应用场景,通过模拟ATM的设计与使用,培养同学们的信息技术应用能力和问题解决能力。

知识目标:使学生了解ATM的定义、功能和基本工作原理;理解ATM机的硬件组成和软件系统;掌握ATM机的操作流程和维护方法。

技能目标:培养学生使用ATM机的技能,包括卡片的插入、密码输入、交易操作等;培养学生设计和制作简单的ATM机界面和程序的能力。

情感态度价值观目标:培养学生对金融科技产品的兴趣和好奇心,提高学生对银行金融服务的认识和理解,培养学生的创新意识和团队协作精神。

二、教学内容本课程的教学内容主要包括ATM机的基本原理、硬件组成、软件系统、操作流程和维护方法。

1.ATM机的基本原理:介绍ATM机的定义、功能和作用,理解ATM机的工作原理和交易流程。

2.ATM机的硬件组成:学习ATM机的硬件设备及其功能,包括卡片读取器、密码键盘、显示屏等。

3.ATM机的软件系统:了解ATM机的软件架构和程序设计,学习ATM机的界面设计和程序开发。

4.ATM机的操作流程:掌握ATM机的操作步骤,包括插入卡片、输入密码、选择交易等。

5.ATM机的维护方法:学习ATM机的日常维护和故障排除方法,保证ATM机的正常运行。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、案例分析法、实验法等。

1.讲授法:通过讲解ATM机的基本原理、硬件组成、软件系统和操作流程,使学生掌握相关知识。

2.案例分析法:分析实际案例,让学生了解ATM机在实际生活中的应用,提高学生的应用能力。

3.实验法:学生进行ATM机的模拟设计和操作,培养学生的动手能力和问题解决能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选择合适的教材,为学生提供系统、全面的学习材料。

2.参考书:提供相关领域的参考书籍,拓展学生的知识视野。

课程设计_ATM柜员机模拟程序文件

课程设计_ATM柜员机模拟程序文件

软件学院课程设计报告书课程名称面向对象程序设计设计题目ATM柜员机模拟程序专业班级软件工程学号姓名指导教师腊梅2015年月目录1 设计时间 (1)2 设计目的 (1)3 设计题目 (1)4 设计任务 (1)5 设计容 (1)5.1 kehu类代码 (1)5.2 ATM主界面模块设计 (2)5.3 选择页面模块设计 (5)5.4 存款模块设计 (8)5.5 取款模块设计 (11)5.6 查询余额模块设计 (16)5.7 修改密码模块设计 (18)6 总结与展望 (23)参考文献 (24)成绩评定 (24)new ATM();}}主界面密码输入错误提示栏5.3 选择页面模块设计class XUANZE extends JFrame implements ActionListener//导入接口类{new CUNKUAN(key); //进入CUNKUANsetVisible(false);}if (event.getSource() == jb3) //判断是否是jb3{new CHAXUN(key); //进入CHAXUNsetVisible(false);}}}进入选择界面5.4存款模块设计class CUNKUAN extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JButton jb1, jb2; //定义个按钮JTextField jtf1; //定义一个文本框Container content; //定义一个容器存款界面存款成功5.5 取款模块设计class QUKUAN extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JOptionPane.showMessageDialog(this, "金额不足不许透支");//一个提示框提示你你的卡即将要已透支}}if (e.getSource() == jb2)//判断是是否是jb2{new XUANZE(key); //返回XUANZEsetVisible(false);}}取款界面取款成功金额不足取款失败提示提取金额不许超过五千提取金额需为一百的整数{new XUANZE(key); //返回XUANZEsetVisible(false);}}开户资金10000元存700后查询余额再取款900后查询余额5.7 修改密码模块设计class Xgmm extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1, l2, l3, l4; //定义个标签JPasswordField jtf1, jtf2, jtf3; //定义个文本框JButton jb1, jb2; //定义个按钮Container content; //定义一个容器kehu key; //定义客户类传从参数key public Xgmm(kehu key){this.key=key; //把key传到顶层容器p2=new JPanel(); //定义第二个面板l2=new JLabel("请输入原始密码:"); //定义标签请输入原始密码:l3=new JLabel("输入要修改的密码:"); //定义标签输入要修改的密码l4=new JLabel("确认输入的新密码:"); //定义标签确认输入的新密码:jtf1 = new JPasswordField(15); //定义文本框jtf1原密码输入错误提示修改失败两次输入密码不一修改失败密码不足六位修改失败密码各位都相同修改失败输入规修改密码成功6 总结与展望通过本次的课程设计,是我更加的喜欢上了JA V A,这正是我一直想学的计算机实用语音。

银行ATM自动取款机系统课程设计

银行ATM自动取款机系统课程设计

《面向对象程序设计》课程设计报告题目:银行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<<"**请输入取款金额:";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;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.转账五、课程设计总结(专业文档资料素材和资料部分来自网络,供参考。

模拟ATM机存取款管理系统面对对象课程设计

模拟ATM机存取款管理系统面对对象课程设计

滨江学院面向对象程序设计课程设计题目模拟ATM机存取款管理系统院系计算机系专业计算机科学与技术学生姓名学号指导教师二O一六年十二月二十日目录1.前言1.1选题目的及意义2.系统分析2.1需求分析2.2功能要求2.3软硬件环境3.系统概要设计3.1系统总体架构设计4.系统详细设计4.1管理模块4.2类的定义5.系统实现5.1类的实现5.2主要程序实现6.系统测试7.收获及体会8.参考文献9.附录1.前言1.1选题目的及意义总结及运用一学期来所学的知识,训练我们灵活应用所学C++知识,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出。

能够巩固、深化理论知识,提高编程水平、分析问题、解决问题的能力。

1.2研究内容模拟银行的自动取款机使用过程中的界面和用户交互过程。

实现查询银行卡余额、取款、修改密码、退出系统等功能2.系统分析2.1需求分析人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务。

银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。

2.2功能要求(1)卡号、密码输入最多三次,否则直接退出系统。

(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。

(3)查询功能:实现查询余额功能。

(4)更改密码:实现密码更改功能,对于密码要有2次验证。

(5)锁卡功能:实现卡被锁的功能。

(6)退卡功能:实现退出系统功能。

2.3软硬件环境环境:Visual c++ 6.0硬件:lenovo idea-pad3系统概要设计3.1系统整体架构设计系统总体框架4.系统详细设计4.1管理模块(1)登录页面输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1管理模块
(1)登录页面
输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。
(2)主界面页面
主要导航栏有:欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出)
(3)查询功能:实现查询余额功能。
(4)更改密码:实现密码更改功能,对于密码要有2次验证。
(5)锁卡功能:实现卡被锁的功能。
(6)退卡功能:实现退出系统功能。
2.3软硬件环境
环境:Visual c++ 6.0
硬件:lenovo idea-pad
3系统概要设计
3.1系统整体架构设计
系统总体框架
4.系统详细设计
(5)取款页面
从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。
(6)注销页面
从关闭文件,状态为注销,最后关闭整个系统。
4.2类的定义
(1)comsumer类
classcomsumer主要制定用户的成员数据,并进行登录与保存功能:
comsumer类说明表
名称
属性
说明
ID
数据成员
用户账户数据
name
数据成员
用户姓名
money
数据成员
用户首次金额
in
数据成员
用户身份证号
address
数据成员
用户地址
number
数据成员
用户电话
Passwd
数据成员
用户密码
savemoney()
成员方法
存钱
fetchmoney ()
成员方法
取钱
change_passwd()
1.2研究内容
模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能
2.系统分析
2.1需求分析
人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务。
};
(2)银行类:
class YH //银行类
{
public:
void set_account();//银行开户功能
void del_account(); //注销账户功能
滨江学院
面向对象程序设计课程设计
题目模拟ATM机存取款管理系统
院 系计算机系
专 业计算机科学与技术
学生姓名
学号
指导教师
二O一六年十二月二十日
1.前言
1.1选题目的及意义
2.系统分析
2.1需求分析
2.2功能要求
2.3软硬件环境
3.系统概要设计
3.1系统总体架构设计
4.系统详细设计
4.1管理模块
4.2类的定义
成员方法
主界面显示功能
addmoney()
成员方法
存钱功能
exitYH()
成员方法
退出系统功能
5.系统实现
5.1类的实现
(1)consumer类
class consumer:public YH//用户类,继承银行类的属性
{
public:
friend class YH;
consumer(int id,string Name,int Number,double IN,string Company,string Address,string PassWord,float m)
void dec_money(float);//计算余额
float get_money();//卡卡转帐
private:
int ID; //开户帐号
string passwd; //用户密码
string name; //用户姓名
float money; //开户金额
int number;string company;string addreBiblioteka s;double in;{
ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord;
}
consumer(){ID=0;name='0';number=0;in=0;company='0';address='0';money=0;passwd='0';}
银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。
2.2功能要求
(1)卡号、密码输入最多三次,否则直接退出系统。
(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。
5.系统实现
5.1类的实现
5.2主要程序实现
6.系统测试
7.收获及体会
8.参考文献
9.附录
1.前言
1.1选题目的及意义
总结及运用一学期来所学的知识,训练我们灵活应用所学C++知识,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出。能够巩固、深化理论知识,提高编程水平、分析问题、解决问题的能力。
成员方法
修改密码
get_money()
成员方法
卡卡转账
(2)YH类
YH类主要实现用户的各种功能:
YH类说明表
名称
属性
说明
acnum
数据成员
账户数
set_account ()
成员方法
开户功能
del_account ()
成员方法
注销账户功能
transfer ()
成员方法
转账功能
functionshow()
(3)储蓄卡开户页面
提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。
(4)存钱页面
从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。
int get_id(){return ID;}
void savemoney();//取钱
string get_passwd(){return passwd;}//取得密码
void display();
void fetchmoney(); //取钱
void change_passwd();
void add_money(float);//计算余额
相关文档
最新文档