辽工大ava6程序设计项目文档1记事本ATM提款机.docx

上传人:b****2 文档编号:24224916 上传时间:2023-05-25 格式:DOCX 页数:18 大小:249.08KB
下载 相关 举报
辽工大ava6程序设计项目文档1记事本ATM提款机.docx_第1页
第1页 / 共18页
辽工大ava6程序设计项目文档1记事本ATM提款机.docx_第2页
第2页 / 共18页
辽工大ava6程序设计项目文档1记事本ATM提款机.docx_第3页
第3页 / 共18页
辽工大ava6程序设计项目文档1记事本ATM提款机.docx_第4页
第4页 / 共18页
辽工大ava6程序设计项目文档1记事本ATM提款机.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

辽工大ava6程序设计项目文档1记事本ATM提款机.docx

《辽工大ava6程序设计项目文档1记事本ATM提款机.docx》由会员分享,可在线阅读,更多相关《辽工大ava6程序设计项目文档1记事本ATM提款机.docx(18页珍藏版)》请在冰豆网上搜索。

辽工大ava6程序设计项目文档1记事本ATM提款机.docx

辽工大ava6程序设计项目文档1记事本ATM提款机

 

软件学院

课程设计报告书

 

课程名称面向对象课程设计

设计题目ATM取款模拟机

专业班级软件(13)7班

组员王欣鸿、徐越、杨钰吉、苟永浩

指导教师史庆伟

 

2015年6月

目录

1设计时间1

2设计目的1

3设计题目1

4设计任务1

5设计内容1

5.1需求分析1

5.2总体设计2

5.2.1类之间的关系2

5.3程序代码3

6运行与测试9

7总结与展望13

参考文献14

成绩评定14

1设计时间

2015年6月14日-2015年6月16日

2设计目的

《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。

其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。

3设计题目

模拟ATM取款机

4设计任务

设计ATM取款机

实现JAVA程序的新建账户、存款、取款、转账、查询余额、修改密码等操作。

5设计内容

5.1需求分析

ATM取款机可以新建一个账户,并且实现转账操作,但账户主人是同一个人,可以对各个账户进行查询余额、存款、取款、修改密码等基本操作。

并且退出后需要重新校验密码,重新登陆。

 

5.2总体设计

5.2.1类之间的关系

图5-2-1

 

5.3程序代码

importjava.util.*;

publicclassATM{

publicstaticvoidmain(String[]args){

ATMCb=newATMC();

Scannerinput=newScanner(System.in);

intchoise=0;

booleanbb=true;

while(bb)

{b.LogOn();

menu:

while(true)

{

System.out.print("ATM取款机模拟系统\n");

System.out.print("[1]为此用户创建新卡\n");

System.out.print("[2]修改密码\n");

System.out.print("[3]存钱\n");

System.out.print("[4]取钱\n");

System.out.print("[5]转账\n");

System.out.print("[6]查询余额\n");

System.out.print("[7]返回菜单\n");

System.out.print("[8]退出\n");

System.out.print("请选择相关序号完成操作:

\n");

choise=input.nextInt();

switch(choise)

{

case1:

b.BuildNewCard();

break;

case2:

b.ChangePassword();

break;

case3:

b.SaveMoney();

break;

case4:

b.GetMoney();

break;

case5:

b.TransMoney();

break;

case6:

b.CheckCount();

break;

case7:

breakmenu;

case8:

System.out.println("已经退出系统");

System.exit(0);

break;

}

}

}

}

}

classATMC

{

intcount;

privatecardUsingCard;

cardhead;

cardlast;

cardtemp;

Scannerinput;

ATMC()

{

head=newcard();

head.CardId=123456;

head.Money=10000;//给出第一张卡密码等信息

head.Password=123456;

head.next=null;

last=head;

this.count++;

input=newScanner(System.in);

}

booleanLogOn()//登陆

{

inttime=0;//计算错误次数

cardid;

System.out.println("请输入卡号:

\n");

intCardId=input.nextInt();//输入卡ID

if((temp=SearchCard(CardId))==null)//检查卡ID

{

returnfalse;//ID卡不存在

}

time=0;

System.out.println("请输入密码:

\n");

if(!

CheckPassword(temp,input.nextInt()))//匹配密码

{

returnfalse;//密码正确

}

UsingCard=temp;

returntrue;//密码不正确

}

voidBuildNewCard()//建立新卡

{

intPassword=0;

while(true)

{

System.out.println("申请新卡请创建密码:

\n");

while((Password=input.nextInt())%111111==0)//检查新密码

{

System.out.println("创建密码无效!

请重新输入:

\n");

//password=input.nextInt();

}

System.out.println("请再次输入密码:

\n");

if(Password==input.nextInt())

{

break;

}

System.out.println("两次输入的密码不一致,请重新输入!

!

!

!

!

\n");

}

temp=newcard();

temp.CardId=123456+count;

temp.Money=0;

temp.Password=Password;

temp.next=null;

last.next=temp;

last=last.next;

System.out.println("创建成功!

\n");

System.out.println("新卡ID:

\n"+temp.CardId+"\n\n\n");

this.count++;

}

voidSaveMoney()//存钱

{

intMoney=0;

System.out.println("存入钱数:

\n");

while((Money=input.nextInt())%100!

=0||Money<0)//检查钱数

{

System.out.println("输入有误,请重新输入!

\n");

}

UsingCard.Money+=Money;

//检测通过后存钱

System.out.println("成功存款"+Money+"元\n\n\n");

}

voidGetMoney()//取钱

{

intMoney=0;

System.out.println("取出钱数:

\n");

while((Money=input.nextInt())%100!

=0||Money<0||Money>5000||Money>UsingCard.Money)//检查钱数

{

System.out.println("输入有误,请重新输入!

\n");

}

UsingCard.Money-=Money;//取钱数

System.out.println("成功取款"+Money+"元\n\n\n");

}

booleanChangePassword()//改密码

{

intPassword;

System.out.println("输入原密码:

\n");

if(!

CheckPassword(UsingCard,input.nextInt()))//检查登陆密码

{

returnfalse;

}

System.out.println("输入新密码:

\n");

while((Password=input.nextInt())%111111==0||Password<=100000||Password>999999)

{

System.out.println("创建密码无效!

请重新输入:

\n");

}

System.out.println("再次输入:

\n");

if(Password!

=input.nextInt())

{

System.out.println("两次输入密码不一致,修改失败\n");

returnfalse;

}

UsingCard.Password=Password;

System.out.println("密码修改成功\n\n\n");

returntrue;

}

cardSearchCard(intCard)//寻找卡的ID

{

inttime=0;

while(time<=3)//3次输入机会

{

temp=head;

while(temp!

=null)

{

if(temp.CardId==Card)

{

returntemp;

}

temp=temp.next;

}

System.out.println("卡ID不存在!

\n请输入正确的ID:

");

Card=input.nextInt();

time++;

}

returnnull;

}

booleanCheckPassword(cardcard,intPassword)//检查密码是否正确

{

inttime=0;

while(time<=3)//3次机会重新输入

{

if(card.Password==Password)

{

returntrue;

}

System.out.println("密码不正确....请重新输入.....");

Password=input.nextInt();

time++;

}

System.exit(0);

returnfalse;

}

booleanTransMoney()

{

intMoney=0,Id=0;

System.out.println("输入转出钱数:

\n");

while((Money=input.nextInt())>UsingCard.Money||Money<0)//检查钱数

{

System.out.println("输入有误!

");

}

System.out.println("输入收款人ID:

\n");

if((temp=SearchCard(input.nextInt()))==null)//检索将要改变数据的卡

{

System.out.println("输入错误,系统没有找到卡!

");

returnfalse;

}

temp.Money+=Money;

UsingCard.Money-=Money;

System.out.println("成功转账"+Money+"元");

System.out.println("当前用户余额为:

"+UsingCard.Money+"\n\n\n");

returntrue;//改变钱数

}

voidCheckCount()//显示卡的基本信息

{

System.out.println("ID:

\n"+UsingCard.CardId+"余额:

\n"+UsingCard.Money+"\n\n\n");

}

}

classcard

{

intMoney;

intCardId;

intPassword;

cardnext;

}

 

6运行与测试

创建新卡

修改密码

查询余额

存款

取款

转账

返回菜单

退出

7总结与展望

通过本次课程设计我学会了JAVA语言中的类的编写,初次根据书上的代码实现某些具体的功能,通过编写这个模拟取款机程序,我学会了选择分支结构的方法的编写,通过ATM类的拓展来调用其他类的拓展,如ATMC类,这次编写程序时并不是很顺利,我查阅了很多资料,根据不同的程序总结出了这个程序的思路,可以说是用其他程序拼接出来的,不过最终经过与同组同学的讨论得出了这的程序代码。

今后我们会加倍努力的学习JAVA语言争取能过有独立的编写思路,形成一套属于自己的风格和方式,要加强对某些类的熟悉程度,因为这次我们大多数是按照书边理解边写出来的,所以这在一定程度上也影响了此次课程设计的总体效率。

 

参考文献

[1]屈辉立,陈可明,石武信.JSP网站编程教程[M].第1版,北京:

北京希望电子出版社,2005

[2]刘万军等人,Java6程序设计实践教程[M],北京:

清华大学出版社,2006

成绩评定

成绩教师签字

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1