ATM模拟程序(有用户界面,连接ACCESS数据库)

合集下载

ATM(JAVA课程设计)

ATM(JAVA课程设计)

ATM柜员机模拟程序摘要使用图形用户界面。

当输入给定的卡号和密码(初始卡号为123456和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:查询余额:初始余额为50000元ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

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

修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。

一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。

我设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。

关键字:图形用户界面;ATM;柜员机;模拟程序;模块;ATM machines simulation programAbstractUse the graphical user interface. When the input given card number and password (initial card number for 123456 and password for 123456), the system can login ATM machines system, users can according to the following rules:Inquires the balance: initial balance is 50000 yuan ATM withdrawals: every time a multiple of the amount of, the total will not more than 5000 yuan, the amount of withdrawals allows no overdraft.ATM deposits: can't negative deposits.Change the password: only the correct password is old, the new password accords with a requirement, and two enter the same case can be modified successfully password.I designed by ATM machines is mainly composed of the login page module by choice service module is, selecting the service module by withdrawals and module, inquires module, modify the password balance module, return card modules. A system interface has a direct influence on the user's operation, interface design requirements style beauty, simple and clear, make the operation easy. I design interface are divided into form, menu, button and text input box sectionsKeywords:graphical user interface; ATM; Automated Teller Machine; simulation program; module;1 系统需求分析1.1 功能需求分析本ATM柜员机的主要功能如下所述:要求使用图形用户界面。

模拟ATM程序代码

模拟ATM程序代码
system("cls");
if(p)
{
while(t<3)
{
i=0;
printf("\n\t密码: ");
while((ch=getch())!='\r')
{
pass[i++]=ch;
putchar('*');
}
pass[i]='\0';
if(strcmp(p->password,pass)==0)
p=head;
system("cls");
if(p)
{
printf("\n");
printf("\n\t账号: ");
scanf("%s",acc);
while(p)
{
if(strcmp(p->account,acc)==0)
break;
else p=p->next;
}
while(t<3)
{
i=0;
printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");
printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");
printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");
printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");
printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");
{
system("cls");
printf("\n\t杰西银行ATM自动存取款机用户登录成功\n");

Java模拟实现ATM机

Java模拟实现ATM机

Java模拟实现ATM机Java模拟ATM机,供⼤家参考,具体内容如下实现登录,查询,转账,取款,修改密码,退出功能。

源码package bank;import java.io.*;import java.util.Scanner;//ATM类public class Atm {private String[] user;//⽤户全部信息private double money;//修改钱数private double userMoney;//⽤户的钱private String newPassword;private String userInFo;private int index;private int a =0;private int count = 10;public void show(){//显⽰界⾯index = logIn();if(index != -1){working();}}private String[] newStringUser(String[] str){count=count+10;String[] newUser = new String[count];for(int i=0;i<a;i++)newUser[i] = str[i];return newUser;}private void getUser(){//从⽂件获取全部⽤户String str;String[] strings = new String[count];File file = new File("src\\bank\\user");FileReader fileReader = null;BufferedReader bufferedReader = null;try{fileReader = new FileReader(file);bufferedReader = new BufferedReader(fileReader);while((str = bufferedReader.readLine())!=null){if(a<=count)strings[a++] = str;elsestrings = newStringUser(strings);}user = new String[a];for(int i=0;i<a;i++)user[i] = strings[i];strings = null;}catch(Exception e){e.printStackTrace();if((fileReader!=null)&&(bufferedReader!=null)){try {bufferedReader.close();fileReader.close();} catch (IOException e1) {e1.printStackTrace();}}}}private int logIn(){//⽤户登录getUser();String name,password,user;int number = -1;Scanner input = new Scanner(System.in);a:while(i<3){System.out.println("请输⼊⽤户名:");name = input.nextLine();System.out.println("请输⼊⽤户密码:");password = input.nextLine();user = name + "*" + password;for(int j=0;j<er.length;j++){a = er[j].split("\\*");userInFo = a[0]+"*"+a[1];if(userInFo.equals(user)){number = j;break a;}}i++;System.out.println("账户或密码错误请重新输⼊。

ATM柜员机模拟程序文档

ATM柜员机模拟程序文档

西安科技大学软件工程课程设计报告题目:ATM柜员机模拟程序班级:信计0801学号:080806013008080601260808060125姓名:覃永贤上官恩辉申松2010年12月目录1概述1.1目的及意义1.2 设计内容1.3 人员组成及分工2系统分析2.1 问题背景及概况2.2 系统需求分析3 系统设计3.1 软件结构设计3.2 数据库设计4系统实现4.1 开发环境4.2 关键技术4.3 主要功能代码5系统测试参考文献日历系统设计文档1 概述1.1目的及意义目的:1、培养独立的Java语言与算法设计方法,具备初步的独立分析和设计能力;2、学习软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、训练综合运用所学的理论知识和方法进行独立分析和解决问题的能力;4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

意义:模拟ATM柜员机的相关功能,实现其取款、余额查询、密码修改等相关功能,通过课程设计让我们了解其相关方面的运作过程。

1.2 设计内容使用图形用户界面模拟ATM柜员机的相关功能。

功能如下:1.实现用户登录功能。

2.实现余额查询功能。

3.实现取款功能。

4.实现密码修改功能。

1.3 人员组成及分工1、组员名单:覃永贤申松上官恩辉2、组员分工:(1)覃永贤负责程序设计(2)上官恩辉负责需求分析(3)申松负责软件测试2系统分析2.1 问题背景及概况人们日常生活中经常使用ATM柜员机,其极大的方便了人们的日常生活,同时在使用的过程中也会遇到这样那样的问题,如果有一款软件模拟ATM,可以帮助人们了解其运行过程,避免有些不必要的麻烦。

2.2 系统需求分析:2.2.1功能需求分析(1)用图形用户界面实现。

本系统基于JA V A采用多线程的程序设计,使得界面清晰直观,系统全部通过界面来实现系统的功能需求。

2.2.2性能需求分析(1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如数据未初始化等,在出现不可知的错误以后,可以尽量安全的退出程序。

C++ 课程设计 ATM柜员机模拟程序

C++  课程设计  ATM柜员机模拟程序
能运用所学知识和技能去发现与解决实际问题, 能正确处理实验数据,能对课题进行理论分析, 得出有价值的结论。 能独立查阅相关文献和从事其他调研;能提出并 较好地论述课题的实施方案;有收集、加工各种 信息及获取新知识的能力。 能正确设计实验方案,独立进行装置安装、调试、 操作等实验工作,数据正确、可靠;研究思路清 晰、完整。 具有较强的数据运算与处理能力;能运用计算机 进行资料搜集、加工、处理和辅助设计等。
2 概要设计......................................................................................................................................2
2.1 程序主要功能......................................................................................................................2 2.2 程序流程图..........................................................................................................................2
利电出版社,2004
4、课程设计工作进度计划
序号 时间(天)
内容安排
备注
1 2 3 4 总计
1 2 1 1 5(天)
分析设计准备 编程调试阶段 编写课程设计报告 考核
周一 周二至周三
周四 周五
指导教师(签字)
日期
年月日
教研室意见:

C语言课程设计…………银行自动存取款机模拟

C语言课程设计…………银行自动存取款机模拟

printf("log in successfully,please select operation\n");
fprintf(fg,"log in successfully,please select operation\n");
dljm();Biblioteka break;}else
{
printf("password input error\n");
printf("enter password again!");
fprintf(fg,"password input error\n");
fprintf(fg,"enter password again!\n");
scanf("%d",&password);
fprintf(fg,"%d\n",password);
{fputs(b,fp);
fclose(fp);}
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力通根保1据过护生管高产线中工敷资艺设料高技试中术卷资0配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中体2资2配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况卷中下安,与全要过,加度并强工且看作尽护下可关都能于可地管以缩路正小高常故中工障资作高料;中试对资卷于料连继试接电卷管保破口护坏处进范理行围高整,中核或资对者料定对试值某卷,些弯审异扁核常度与高固校中定对资盒图料位纸试置,卷.编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试写5交、卷重底电保要。气护设管设装备线备置4高敷、调动中设电试作资技气高,料术课中并3试、中件资且卷管包中料拒试路含调试绝验敷线试卷动方设槽技作案技、术,以术管来及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内 故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

C++编写的ATM自动取款机模拟程序分析

C++编写的ATM自动取款机模拟程序分析

C++编写的ATM自动取款机模拟程序分析第一篇:C++编写的ATM自动取款机模拟程序分析// ************************************ // * * // * function.h * // * * // ************************************ #includeclass consumer;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 exitATM();// 退出系统void functionshow();// 功能界面 void lock();// 锁机 private: int times;// 记录密码输入次数consumer& cnsm;};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类的成员&&函数 * // * * // ************************************ #include“function.h” #includeconsumer::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(){ return num;}char* consumer::get_passwd(){ return passwd;}void consumer::set_money(float m){ money-=m;} voidconsumer::set_passwd(char pwd[]){ strcpy(passwd,pwd);} // ************************************ // * * // * ATM类的成员&&函数 * // * * // ************************************#include “function.h” #include #include void ATM::welcome(){ times=0;cout<<“$ 欢迎使用若雪银行ATM自动取款机!~!”<”;cin>>n;while(n<1||n>4){ cout<<“请输入正确的操作序号!”<”;cin>>n;} switch(n){ case 1: change_passwd();break;case 2: fetchmoney();break;case 3: information();break;case 4: exitATM();break;} }while(true);} void ATM::change_passwd(){ char pwd[8],repwd[8];times=0;do { cout<>pwd;if(!check_passwd(cnsm.get_num(),pwd))times++;el se break;}while(times<3);if(times==3)lock();int t=0;do { cout<<“请输入新密码:”;cin>>pwd;cout<<“请再输入一次新密码:”;cin>>repwd;if((t=strcmp(pwd,repwd))!=0)cout<<“你输入的两次密码不一样,请重新输入!”<”<>m;while(m<=0){ cout<<“请输入正确的数字!”< ”;cin>>m;} if(cnsm.get_money()-m<0){ cou t<<“对不起,你的余额不足!” < ”;cin>>ch;while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y'){ cou t<<“$ >”;cin>>ch;} }while(ch=='y'||ch=='Y');} void ATM::information(){ cout<<“**********************************”< #include“function.h” void main(){ consumer c1(“jim”,“12345”,5200.3f,“123”);// 先构造一个用户ATM atm(c1);atm.welcome();}第二篇:ATM自动取款机C++课程设计C++课程设计学校:惠州学院题目:设计ATM自动取款机系统系别:电子科学系班级: 11电信2班学号: 110703229 姓名:王志勇2014年4月21日一、课程设计目的及要求1.1设计目的1.提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。

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取款系统数据的统计和核实等都是采用卡号进行核对的,对于用户的信息资料、以及等用人工办理。

C语言程序设计报告(模拟ATM取款机)

C语言程序设计报告(模拟ATM取款机)

C语言程序设计报告(模拟ATM 取款机)仲恺农业工程学院工程实训报告ATM取款机课程名称C语言程序设计工程实训姓名林少烈院(系)计算机科学与工程学院专业班级计算机113班学号201110214317指导教师王成仲恺农业工程学院教务处制目录1 需求分析 (1)2 系统总框图和功能模块说明 (1)2.1 系统总框图 (1)2.2 功能模块说明 (1)3 系统设计 (2)3.1 主要结构体 (2)3.2主要功能函数 (3)3.3 关键函数的流程图 (3)4 系统调试 (11)5 总结 (21)6 源程序清单 (23)6.1头文件 (23)6.2主程序 (23)6.3 解除被冻结用户 (40)6.4 用户注册 (41)1 需求分析所设计的ATM取款机应具备以下功能:●插入银行卡(用账号输入的方式代替);●密码的输入;●用户信息查询;●用户余额查询;●取款;●转账;●修改密码;●退卡。

2 系统总框图和功能模块说明2.1 系统总框图图1 系统总框图2.2 功能模块说明输入用户账号模块:在运行时,完成用户账号的输入(代替插卡);输入账号密码模块:①在输入账号之后,完成用户密码的输入;②在修改密码的过程中,完成用户输入旧密码的功能;信息读取功能模块:完成用户信息的读取;冻结账号功能模块:当输入密码3次错误时,冻结用户账号:查询用户信息模块:完成用户的信息查询(不包括余额查询);查询余额功能模块:完成用户余额的查询;取款功能模块:完成取款功能模块:转账功能模块:完成转职功能;修改密码功能模块:完成用户修改密码功能;退卡功能模块:完成退卡功能(即:退出程序功能)。

3 系统设计3.1 主要结构体用户账号、姓名、密码、余额struct User //用户数据{char num[20]; //用户账号char name[10]; //姓名char password[7]; //密码float balance; //余额};3.2主要功能函数void read_info(); //用户信息读取void input_num(char * num); //输入账号void now_exist(char * num); //判断是否被冻结或不存在void existed(char * num);void input_password(char * p_word,char * W); //输入密码void face(); //界面显示void balance_refer(); //余额查询void choose(int c); //菜单选择void draw_money(); //取款void set_password(); //修改密码void input_new_password(char * old_password); //设置新密码void tran_account(); //转账void stamp(); //打印单条void info_refer(); //信息查询void out(); //退出程序void lock(); //冻结账号void save_info(); //存储信息3.3 关键函数的流程图Nnow_exitedinput_password 流choose 函数流程图draw_money 函数input_new_passwo 读取文件数lock 函数流程图save_info 函数流程图4 系统调试首先运行程序,系统提示输入账号。

自动取款机(ATM)模拟程序(C#控制台应用程序)

自动取款机(ATM)模拟程序(C#控制台应用程序)

自动取款机(ATM)模拟程序一、需求我们需要设计一个具备如下功能的ATM模拟程序。

●开户:用户能够通过ATM来开设帐号,开户需要设置密码。

●登录:用户能够登录到已经开设的帐号上,登录需要验证密码。

●管理帐号:用户登录到帐号上后,能够进行如下的操作。

■存款:将指定的款项存到帐号中。

■取款:从帐号中取出指定的款项。

■查询余额:查询帐号的余额。

■修改密码:修改帐号的密码。

二、分析面向对象编程的第一步是进行面向对象分析。

面向对象分析的目标是建立问题领域的模型,包括如下模型。

●功能模型:即画出每一个功能要求的用例图。

●对象模型:对用例模型进行分析,把系统分解成互相协作的类,通过类图/对象图描述对象、对象的属性、对象间的关系。

●动态模型:描述系统的动态行为,通过序列图来描述对象的交互,以揭示对象间如何写作来完成每个具体的用例,单个对象的状态变化和动态行为可以通过状态图来表达。

1.功能模型根据我们的需求,可以很容易地画出A TM模拟程序的用例图:可以看出,用户可以开户和登录帐号,开户或者登录帐号之后就能管理帐号。

要管理账号,就必须首先登录帐号或者开户。

管理帐号的功能包括存款、取款、查询余额和修改密码。

2.对象模型ATM是银行相连的设备,因此银行是A TM模拟程序的相关对象,所有的操作都是针对帐号的,因此帐号是其中的核心对象。

此外,需要一个程序来启动ATM。

因此,在ATM模拟程序中,我们需要处理四个类,或者说四类对象:启动程序、A TM、银行及帐号。

1)帐号类Account帐号类Account包含所有的帐号信息负责所有的帐号操作。

基本的帐号信息包括:●帐号名name●帐号密码password●帐号余额balance主要的帐号操作包括:●登录Login●存款Deposit●取款Withdraw●查询余额Get_Balance●修改密码ChangePassword2)银行类Bank银行类Bank的本质就是一组帐号的组合,并负责管理帐号。

ATM柜员机模拟

ATM柜员机模拟

使用图形用户界面。

当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:(1)查询余额:初始余额为10000元;(2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支;(3)ATM存款:不能出现负存款;(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,(这一功能未实现)只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

源程序:import java.io.File;import java.io.FileWriter;import java.io.PrintWriter;import com.sun.java.util.*;import java.io.*;/*该类为实现客户信息及部分功能*/public class Account {private String code = null; // 信用卡号private String name = null; // 客户姓名private String password=null; // 客户密码private double money = 0.0; // 卡里金额/********************/public Account(){}public Account(String cod,String nam,String pas,double mon) { code=cod;name=nam;password=pas;money=mon;}public String get_Code() {// 取得卡号return code;}public String get_Name() {// 取得名字return name;}public String get_Password() {// 取得密码return password;}public double get_Money() {// 取得余额return money;}/* 得到剩余的钱的数目 */protected void set_Balance(double mon) { money -= mon;String Money=String.valueOf(money);try{File f2=new File("F:\\余额.txt");FileWriter fos=new FileWriter(f2);PrintWriter br=new PrintWriter(fos);br.println(Money);fos.close();}catch(Exception e1){}}protected void add_Balance(double mon) { money += mon;String Money=String.valueOf(money);try{File f2=new File("F:\\余额.txt");FileWriter fos=new FileWriter(f2);PrintWriter br=new PrintWriter(fos);br.println(Money);fos.close();}catch(Exception e1){}}/* 重置秘密的方法 */public void setPassword(String pwd) { password = pwd;//return password;}}/*主函数*/class ATM {public static void main(String[] args) { new WindowBox("登录页面");}}/*修改密码功能*/import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.io.*;import java.awt.event.*;class ChangePassword extends Frame implements ActionListener{ Panel panel1 = new Panel();Panel panel2 = new Panel();Panel panel3 = new Panel();Panel panel = new Panel();TextField tf4,tf5,tf6;Button button;Account act;ChangePassword(String s,Account act){super(s);this.act=act;tf4 = new TextField(6);tf5 = new TextField(6);tf6 = new TextField(6);button = new Button("确定");button.addActionListener(this);/*建立新密码*/panel1.add(new Label("请输入你的旧密码:"));panel1.add(tf4);panel2.add(new Label("请输入你的新密码:"));panel2.add(tf5);panel3.add(new Label("请再次输入你的新密码"));panel3.add(tf6);panel.add(button);this.add(panel1);this.add(panel2);this.add(panel3);this.add(panel);setLayout(new GridLayout(4,1));setBounds(200,200,250,250);this.setVisible(true);/*窗口事件*/this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}/*判断事件源,看条件是否成立再修改密码*/public void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("确定")){String pwd2,pwd3,pwd4;pwd2 = tf4.getText();pwd3 =tf5.getText();pwd4 = tf6.getText();char p[]=pwd3.toCharArray();int n=p.length;System.out.println(n);boolean b = false;for(int i=0;i<p.length-1;i++){if(p[i]==p[i+1])b=true;}if(pwd2.equals(act.get_Password())){//判断旧密码是否正确if(pwd3.equals(pwd4)){//判断两次输入的新密码是否匹配if(n<6){dispose();JOptionPane.showMessageDialog(null,"新密码长度不能小于6位,请重新输入!");ChangePassword cp=new ChangePassword("修改密码",act);}else if(b){dispose();JOptionPane.showMessageDialog(null,"新密码各个位数完全相同,请重新输入!");ChangePassword cp=new ChangePassword("修改密码",act);}else{try{File f=new File("F:\\密码.txt");FileWriter fos=new FileWriter(f);fos.write(tf6.getText());fos.close();}catch(Exception ee){}dispose();JOptionPane.showMessageDialog(null,"密码已修改,请重新登录!");WindowBox lo=new WindowBox("登录界面");}}else{dispose();JOptionPane.showMessageDialog(null, "两次输入新密码不一致!");ChangePassword cp=new ChangePassword("修改密码",act);}}else{dispose();javax.swing.JOptionPane.showMessageDialog(null, "旧密码不正确!");ChangePassword cp=new ChangePassword("修改密码",act);}}}/*取款功能*/import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class GetBalance extends Frame implements ActionListener {Box baseBox, box1, box2;Button button;TextField tf;Account act;Frame f6;GetBalance(String s, Account act) {// 构造函数super(s);this.act = act;button = new Button("确定");Panel panel = new Panel();Panel panel1 = new Panel();tf = new TextField(6);this.setLayout(new GridLayout(2, 1));panel1.add(new Label("请输入你想取钱的数目"));panel1.add(tf);panel.add(button);this.add(panel1);this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});setBounds(200, 200, 150, 150);this.setVisible(true);}public void actionPerformed(ActionEvent e) {// System.out.println(e.getActionCommand());double money;money = Double.parseDouble(tf.getText().trim());if (e.getSource() == button) {if (money < act.get_Money()){if ((money % 100 != 0) || (money >= 5000)){dispose();JOptionPane.showMessageDialog(null,"取你妹的钱");JOptionPane.showMessageDialog(null,"取钱数不为100的倍数或大于5000!");Selection s = new Selection("选择服务", act);}else{dispose();javax.swing.JOptionPane.showMessageDialog(null, "取款成功!");Selection s = new Selection("选择服务", act);act.set_Balance(money);//}}else{dispose();JOptionPane.showMessageDialog(null, "余额不足!");Selection s = new Selection("选择服务", act);}}}}import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class Query extends Frame implements ActionListener{//Account act;Button button;Account act;Query(String s,Account act){//构造函数super(s);this.act = act;button=new Button("确定");//TextField tf = new TextField(6);Panel panel1 = new Panel();Panel panel = new Panel();panel1.add(new Label("你的余额为:" + act.get_Money()));//查询余额的方法//panel1.add(tf);button.addActionListener(this);panel.add(button);this.add(panel);this.add(panel1);this.setLayout(new GridLayout(2,1));this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setBounds(200,200,150,150);setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==button){dispose();Selection s = new Selection("选择服务",act);//返回选择服务窗口}}}import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Savemoney extends Frame implements ActionListener{ Box baseBox, box1,box2;Button button;TextField tf;Account act;Savemoney(String s,Account act){//构造函数super(s);this.act=act;button=new Button("确定");Panel panel = new Panel();Panel panel1 = new Panel();tf = new TextField(6);this.setLayout(new GridLayout(2,1));panel1.add(new Label("请输入你想存钱的数目"));panel1.add(tf);panel.add(button);this.add(panel1);this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setBounds(200,200,150,150);this.setVisible(true);}public void actionPerformed(ActionEvent e) {double money;money = Double.parseDouble(tf.getText().trim());if(money<0){if(e.getSource()==button){javax.swing.JOptionPane.showMessageDialog(null,"存款不能为负,请重新输入!");}}else{if(e.getSource()==button)act.add_Balance(money);//重置余额this.setVisible(false);javax.swing.JOptionPane.showMessageDialog(null,"存款成功!");Selection s = new Selection("选择服务",act);}}}/*选择服务*/import java.awt.*;import java.awt.event.*;class Selection extends Frame implements ActionListener{Button button1,button2,button3,button4,button5;Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();Panel p4 = new Panel();Panel p5 = new Panel();Panel p = new Panel();Account act;public Selection(){}Selection(String s,Account act){super(s);this.act=act;this.setLayout(null);this.setLayout(new GridLayout(6,1));p.add(new Label("请选择您需要的服务"));this.add(p);/*各种服务功能*/button1 = new Button("存款");p1.add(button1);this.add(p1);button2 = new Button("取款");p2.add(button2);this.add(p2);button3 = new Button("查询余额");p3.add(button3);this.add(p3);button4 = new Button("退出");p4.add(button4);this.add(p4);button5 = new Button("修改密码");p5.add(button5);this.add(p5);this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);}});button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);setBounds(150,150,200,200);setVisible(true);validate();}public void actionPerformed(ActionEvent e){if(e.getSource()==button2){//取款dispose();GetBalance gb = new GetBalance("取款",act);}if(e.getSource()==button3){//查询余额Query q =new Query("查询余额",act);dispose();}else if(e.getSource()==button4){//退出System.exit(0);dispose();}else if(e.getSource()==button5){//修改密码ChangePassword cp = new ChangePassword("修改密码",act);dispose();}if(e.getSource()==button1){dispose();Savemoney sm=new Savemoney("存款",act);}}}import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;import bel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.*;import javax.swing.Box;/*登陆页面首窗口*/class WindowBox extends Frame implements ActionListener{Box baseBox,box1,box2;TextField tf1,tf2;Button button1;Button button2;WindowBox(String s){//构造方法super(s);tf1 = new TextField(6);tf2 = new TextField(6);box1= Box.createVerticalBox();box1.add(new Label("请输入你的卡号")); //输入卡号box1.add(Box.createVerticalStrut(8));box1.add(new Label("请输入你的密码"));//输入密码box2=Box.createVerticalBox();box2.add(tf1);//box2.add(new TextField(16));box2.add(Box.createVerticalStrut(8));box2.add(tf2);//box2.add(new TextField(16));baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(10));baseBox.add(box2);add(baseBox);button1= new Button("确定");//加入按钮button1.addActionListener(this);add(button1);button2 = new Button("退卡");//退卡按钮button2.addActionListener(this);add(button2);setLayout(new FlowLayout());/*监听器*/this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setBounds(120,125,200,175);setVisible(true);}public void actionPerformed(ActionEvent e){Account act;String card;File f=new File("F:\\密码.txt");File f2=new File("F:/余额.txt");String pwd = null;String money=null;if(!f.exists()){try{FileWriter fos=new FileWriter(f);PrintWriter br=new PrintWriter(fos);br.println("123456");fos.close();}catch(Exception e1){}pwd="123456";//double money=10000;}else{try{FileReader fis=new FileReader(f);BufferedReader br=new BufferedReader(fis);while(br.ready()){pwd=br.readLine();}fis.close();}catch(Exception e1){}}if(!f2.exists()){try{FileWriter fos=new FileWriter(f2);PrintWriter br=new PrintWriter(fos);br.println("10000");fos.close();}catch(Exception e1){}money="10000";//double money=10000;}else{try{FileReader fis=new FileReader(f2);BufferedReader br=new BufferedReader(fis);while(br.ready()){money=br.readLine();}fis.close();}catch(Exception e1){}}double Money=Double.parseDouble(money);act=new Account("123456","Devil",pwd,Money);//初始化/*选择各种服务*/if(e.getSource() == button1){String number1,number2;//输入的两个卡号和密码的变量number1=tf1.getText();number2=tf2.getText();/*判断两次输入的卡号和密码是否正确*/if((act.get_Code().equals(number1))&&(act.get_Password().equals(number2))){dispose();Selection s = new Selection("选择服务",act);}else{dispose();javax.swing.JOptionPane.showMessageDialog(null,"密码或卡号错误,请重新输入!");WindowBox wb = new WindowBox("登录界面");//报输入密码或卡号不正确}} if(e.getSource()==button2){System.exit(0);dispose();//退出}}}。

自动取款机模拟程序

自动取款机模拟程序

合肥学院计算机科学与技术系课程设计报告2013~2014学年第一学期课程面向对象课程设计课程设计名称自动取款机模拟程序学生姓名学号专业班级指导教师2013 年12月目录一、前言 (4)二、需求分析 (5)1、功能需求 (5)(1)、管理端方面 (5)(2)、客户端方面 (5)(3)、满足上述要求的系统基本功能外还应该实现基本的安全控制机制。

(5)2、性能需求 (5)3、出错处理需求 (5)三、设计理论和环境 (6)1、系统设计理论 (6)2、系统设计环境 (6)四、系统数据库设计 (7)1、数据库构建语句 (7)2、表构建语句 (7)五、总体设计 (8)(一)、主登陆界面 (8)(二)、管理端界面 (8)1、主界面 (8)2、增加银行卡账户界面 (9)3、删除银行卡账户对话框 (9)4、查询 (10)5、显示全部 (10)(三)、客户端界面 (11)1、客户端登陆界面 (11)2、客户端操作界面 (11)3、余额查询 (12)4、存款 (12)5、取款 (13)6、修改密码 (13)7、返回 (14)8、退卡 (14)六、具体设计 (15)1、类及其主要功能 (15)2、一些关键代码的功能 (15)(1)、连接数据库的代码(Link类) (15)(2)、管理端中实现新建银行卡的部分代码(Build类) (16)(3)、管理端中实现删除银行卡的代码段 (18)(4)、用户登陆验证的实现 (20)(5)、实现存款功能的代码段 (22)(6)、实现取款功能的代码段 (25)(7)、实现修改密码的代码 (30)七、课程设计目的 (33)八、总结 (34)参考文件 (34)一、前言为了进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力;熟练掌握JAVA语言的GUI设计、数据库连接以及异常的使用、灵活运用各种类库等java 知识,以及利用所学知识,开发小型应用系统的能力。

实验报告--模拟ATM

实验报告--模拟ATM

面向对象实训报告题目:模拟ATM机组长:杨新萍成员:郑苗成员:韩勇成员:齐雨霏成员:贾然成员:高凡指导教师:张燕2014 年 5 月20 日一、课程设计题目:模拟ATM1)程序允许建立10个账户。

2)弹出要建立帐户还是查询账户信息的界面。

用户选择自己所需的服务。

3)如果要建立帐户,弹出一个界面要求用户输入用户名和密码以及确认密码(两次输入密码均不可以显示在屏幕中)。

两次输入密码如果不相同,返回错误信息,再次要求输入用户名密码,直到用户选择该界面的退出键或者成功建立帐户为止,返回到2)的界面。

4)如果查询用户信息,弹出输入帐户名和密码界面。

如果该账户名和密码都注册成功过,进入个人账户的菜单,该菜单有存钱、取钱、查余额、退出等项目。

要求存钱、取钱弹出输入金额的菜单,并能判断是否有足够余额可以取。

如果查询余额,弹出显示余额的菜单。

如果退出,返回2)界面。

二、问题定义设计ATM取款机主要包括登陆页面,选择服务,存款,取款,查询余额,修改密码和退出等功能。

三、需求分析1、功能需求分析(1)模拟ATM机程序主界面(2)建立帐户用户输入自己的用户名及密码,再输入一次密码以确认密码,直至成功建立帐户。

(3)取钱用户根据自己需要取多少钱,输入要取的金额,系统判断是否有足够金额可以取出。

每次取款金额为系统界面显示的数字,或者用户自定义输入要取出的数目。

金额要求为100的倍数。

总额不超过5000元,支取金额不允许透支。

(4)存钱用户可以存款,金额要求为100的倍数。

查询余额。

(5)查余额用户需要查询账户内余额时,可以查询自己帐户的余额。

(6)修改密码用户可以根据自己的意愿修改密码(7)退出用户无需再进行任何业务时,选择退出系统即退出系统。

2、设计需求分析A.界面设计简洁。

B.操作简单。

C.信息分类简单明了,准确。

3、ATM功能模块图4、Java类和自定义类的层次关系MF类、denlu类、qukuan类、cunkuan类、chaxun类和gaimi类都继承了Java 类的JFrame类5、流程图四、算法设计1、概要设计(1) Class Account 主类(2) Class MF 主界面类(3) Class ZC 注册类(4)Class denlu 登录类(5)Class qukuan 取款类(6)Class cunkuan 存款类(7)Class chaxun 查余额类(8)Class gaimi 改密码类2、详细设计(1) Class Account创建客户,初始化客户信息功能以及保存客户信息,例如:用户名、密码、原有余额、取款后卡里的余额以及存款后卡里的余额。

c语言模拟ATM机程序

c语言模拟ATM机程序
case 3: Zhuanzhang(&Y,&a[6]);break;
case 4: Xiugai(&a[6]);break;
case 5: Cunkuan(&Y);break;
case 6: exit(0);break;
default:printf("输入错误,请重新输入\n");
}
lp2:printf("继续操作请按1,退卡请按2\n");
else
{printf("非法操作,强制退出\n");
}
}
void Qukuan()
{
int i,j;
printf("1、100\t2、200\t3、500\t4、800\t5、请输入金额\n");
scanf("%d",&i);
switch(i)
{
case 1: panduan(100);break;
printf请选择服务项目n1取款t2查询服务t3转账服务t4修改密码t5存款t6退卡n
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
long int Y=100000;int c=0;char a[6]={'1','2','3','4','5','6'};
else
lp4:{
printf("请输入新密码:\n");
k=getch();
while(k!='\r'&&l<6)

python模拟银行ATM程序设计

python模拟银行ATM程序设计

第2次综合训练报告题目:银行ATM模拟程序******专业:安全工程班级:通风15-1班指导教师:***2016 年5 月9 日目录1 摘要 (1)2.设计思路 (1)3.源程序 (6)4.代码分析 (2)参考资料 (3)银行ATM模拟程序1 摘要自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一张信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。

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

实现的主要功能有:账户信息查询、存款操作、取款操作、修改密码功能、退出系统功能。

用户任意选择1张银行卡(输入1位1~3的数字),输入初始密码123456即可进入ATM操作系统菜单(如图1所示),若输入密码连续错误三次则锁卡自动退出系统(如图2所示),系统菜单各功能(如图3所示)。

编写程序时的环境是Python3.4,所以代码中print及input函数可能与python2.X版本有一些差别。

参考了教材中第八章面向对象程序设计,编写了两个类包括ATM机类和银行卡Card 类,编写了若干个函数以实现整个程序模拟ATM机的各种功能。

变量和函数的命名主要使用了Camel命名法,类的命名主要使用了Pascal命名法,程序共189行(含空行),因为时间比较仓促,可能有些地方写的比较乱,有些地方命名也不规范。

另外因为对文件的操作不熟练,在网上也没找到太多相关的资料,请多包涵。

图1图2图32设计思路程序设计灵感来自银行ATM机,在这里将ATM机的各种功能抽象与简化,设计了银行ATM 模拟程序。

根据我们日常的生活经验,我们要使用ATM机就需要一张银行卡。

运用面向对象的编程方法,把ATM机和银行卡简化并抽象为两个类:1)银行卡类,主要用来存储账户信息,包括卡号、密码、用户名、余额四个属性,另外写了一个构造方法。

银行ATM自动取款机模拟程序共42页

银行ATM自动取款机模拟程序共42页
银行ATM自动取款机模拟程序
36、如果我们国家的法律中只有某种 神灵, 而不是 殚精竭 虑将神 灵揉进 宪法, 总体上 来说, 法律就 会更好 。—— 马克·吐 温 37、纲纪废弃之日,便是暴政兴起之 时。— —威·皮 物特
38、若是没有公众舆论的支持,法律 是丝毫 没有力 量的。 ——菲 力普斯 39、一个判例造出另一个判例,它们 迅速累 聚,进 而变成 法律。 ——朱 尼厄斯
40、人类法律,事物有规律,这是不 容11、越是没有本领的就越加自命不凡。——邓拓 12、越是无能的人,越喜欢挑剔别人的错儿。——爱尔兰 13、知人者智,自知者明。胜人者有力,自胜者强。——老子 14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。——歌德 15、最具挑战性的挑战莫过于提升自我。——迈克尔·F·斯特利
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA 期中课程设计报告报告题目:ATM模拟程序姓名:刘佳学号:2009118287学院:信息科学与技术学院专业:计算机科学与技术班级:2009级计科(2)班一、课程设计目的和内容目的:课程设计的主要目的是结合面向对象程序设计课程,培养面向对象软件开发的思维,初步了解软件开发的一般流程,提高用JAVA编程的实际动手能力并增强大家对面向对象的了解。

内容:设计ATM取款机主要包括登录页面、选择服务、存款、取款、查询余额、修改密码和退出等功能。

注:各种按钮的事件和功能简单模拟ATM取款机的要求。

二、系统需求分析(1)模拟ATM柜员机程序;(2)修改密码。

当用户需要修改密码时,可以用这个功能,新密码长度不小于6位,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

(3)取款。

用户根据自己需要取多少钱,输入要取的金额,每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

(4)查询余额。

用户需要知道自己帐户还剩多少钱时,可以查询自己帐户的余额。

(5)存款。

用户可以存款,金额为100的倍数,不能出现负存款。

(6)锁机。

当用户3次输入密码错误时,停止操作。

三、程序流程图四、程序流程图五、思路分析1、要写这个程序之前我看了书上的选举界面,想仿照这个例子的布局和参数传递来做ATM2、首先是写出各个界面,最初看了书上的选举界面的card布局,但是与我想要的ATM界面布局有所差异,所以后来想到设置窗口为card布局,再在窗口中添加每个面板3、每个面板就是一个出现的界面都是用方法写的以方便窗口调用(程序共有七个界面)4、接下来就是把每个每个面板串起来,这就要用事件来触发它,添加简单的事件。

5、把每个界面串起来后,要突破的第一个难关就是,用户登陆。

(写程序时最初考虑的是用输入输出流来做,因而我就要先写一个文本来存放我的用户名和密码以及用户的钱,首先就是读数据,我看了书上的考试系统的一个例子,我读数据则是在同一个文本中读出多个用户的信息,我则用了两次循环,把用户名、密码、钱读入后,再与我在窗口中输入的信息进行匹配)经过多次修改用户登陆成功了6、在用户登陆的时候,我们不得不考虑这样的问题,如果用户名或者是密码输入错误,我们应该怎样做,应该可以重新输入,首先的思想是光标重定位,但是当学习了线程的休眠以后就调用线程,达到了同样的效果。

7、现在就进入了选择业务的界面,会看到取款,查询余额等按钮选项。

进入第二个难关就是用输入输出流来修改密码,为了要实现这个功能,我把书上第十章的所有例子运行了一遍,看有哪些对于这个功能的实现能够有所帮助,其中发现了创建一个新文本来覆盖,我便在程序中使用了这个功能,用参数来传递修改的变量,后来在记事本中的替换功能中启发,想把改变的字符替换掉,但是这功能没有实现,最后用创建一个新的同名文本覆盖的方法实现了对于密码的修改和取款等变量改变的操作。

8、在实现大体的功能后,便对界面进行美化,首先使用了J类的Button,然后就是初始界面的“欢迎来到ATM取款机”用了线程的方法使它移动,并且设置了字体的一些样式,使字体看起来更加美观,学习了Java util类中的Date后,便在一些界面中加入了计时器。

9、由于用输入输出流做出来的ATM如果要随意的添加或者删除用户的话,其中的代码也会有一点改变,这显得有一些不方便,所以在学习Java连接数据库后,我便尝试用数据库做这个程序。

10、数据库做这个程序的主要思想就是参数传递。

相对于输入输出流要简单一点,而且它可以任意的添加或者删除用户。

因此程序的最后版本就是数据库。

七、调试与运行情况进入初始界面进入输入用户名的界面输入用户名错误时出现的界面(下面的“非法……”这一串字符会在两秒后消失这是调用线程的休眠方法)输入用户名正确后出现输入密码的界面输入密码错误后输入的界面(下面的“密码……”这一串字符会在两秒后消失这是调用线程的休眠方法)当用户名和密码都输入正确后便进入选择业务界面现在进入取款界面如果取100元钱的话,系统会出现以下提示如果选择其他的按钮,会出现以下界面如果选择余额查询的按钮会出现以下界面如果选择存钱这个按钮会出现以下界面如果你输入的金额是非法的(例如:有非数字的)便会出现以下界面现在进入修改密码界面如果你输入的原密码与你的密码不能匹配会出现以下提示信息如果你没有输入新密码或者输入时不小心敲了空格键会出现以下提示信息如果输入新密码和确认密码不相同会出现以下提示信息当你的旧密码输入正确并且新密码和确认密码相同后会出现以下提示信息八、程序代码ATM.javaimport java.sql.*;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.Date.*;import java.awt.color.*;import javax.swing.Timer;class frame extends Frame implements ActionListener,Runnable{ Panel Panel1,Panel2,Panel3,Panel4,Panel5,Panel6,Panel7,panel1,panel2,panel3 ,panel4,panel5,panel6,panel7,panel8,panel9,panel10,panel11,panel12,pa nel13,panel14;JButtonbutton1,button2,button3,button4,button5,button6,button7,button8,butto n9,button10,a1,a2,a3,a4,a5,b1,b2,b3,b4,b5,b6,b7,b8,c1,c2,d1,d2;Labellabel1,label2,label3,label4,label5,label6,label7,label8,label9,label1 0,label11,label12,label13,label14;TextField text,text1,text2,text3,text4;CardLayout card=new CardLayout();//系统界面布局方式float gmoney=0;int state=0;//判别多个状态 1、修改密码;2、数据输入;3、菜单 String gid,pwd;Thread Scrollwords=null;Account act=new Account();SQL sql1=new SQL();Timer time;boolean boo;Box baseBox ,boxV1,boxV2;frame(String s)//主窗口{ super(s);Scrollwords=new Thread(this);//定义一个滚动字体的线程 time=new Timer(1000,this);//定义一个时间器this.showWelcome();//------------------------------- this.showInput();this.showMenu();this.showGetMoney();//主窗口调用各个方法实现各个界面 this.showQueryLeft();this.showChangeID();this.showXT();//------------------------------------setLayout(card);add(Panel1,"Panel1");add(Panel2,"Panel2");add(Panel3,"Panel3");add(Panel4,"Panel4");add(Panel5,"Panel5");add(Panel6,"Panel6");add(Panel7,"Panel7");addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});//添加window adapter 适配器setBounds(100,100,400,280);setVisible(true);Scrollwords.start();//调用线程的run方法}public void showWelcome()//进入欢迎界面{ Panel1=new Panel();Panel1.setBounds(100,100,400,280);Panel1.setLayout(new GridLayout(3,3,10,10));label1=new Label("欢迎来到ATM提款机");label1.setAlignment(Label.CENTER);//-------------------------label1.setFont(new Font("Serif",Font.BOLD,30));//设置标签的位置,字体样式,字体颜色label1.setForeground(Color.red);//----------------------------button1=new JButton("进入");button2=new JButton("退卡");button1.addActionListener(this);button2.addActionListener(this);panel1=new Panel();panel1.add(button1);panel1.add(button2);Panel1.add(label1);Panel1.add(panel1);}public void run()//字体的移动{ while(true){ int x=label1.getBounds().x;int y=120;x=x+5;label1.setLocation(x,y);if(x>380){ x=10;label1.setLocation(x,y);}try{ Scrollwords.sleep(100);}catch(InterruptedException e){}if(boo){ return; //结束run方法,导致线程死亡。

相关文档
最新文档