ATM机程序Linux,c语言模拟银行ATM机程序
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Calendar;
public class userlogin {
static ATM1 atm =new ATM1(); // 创建一个实例
static String[] a =new String[10]; //最近9次交易的清单
static int k=0;
public static String selectTime (){
//用于获取交易时间
Calendar c = Calendar.getInstance();
String
time1=c.get(Calendar.YEAR)+"年"+c.get(Calendar.MONTH)+"月"+
c.get(Calendar.DATE)+"日"+
c.get(Calendar.HOUR_OF_DAY)+"时"+
+
c.get(Calendar.MINUTE)+"分"+c.get(Calendar.SECOND)+"秒";
return time1;
}
public static void login(){
//登录页面
int
username,userpass,name,pass; //账号与密码
name=atm.getusername();
pass=atm.getuserpass();
System.out.println("欢迎使用银行自主服务终端机");
try{
BufferedReader in =new
BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入账号:");
String
inputLine=in.readLine();
username
=Integer.valueOf(inputLine).intValue();
System.out.println("请输入密码:");
String
inputLine1=in.readLine();
userpass
=Integer.valueOf(inputLine1).intValue();
}catch(Exception
exc){
return;
}
if((userpass==pass)&&(username==name)){
int choice=-1;
while(choice!=0){
choice=selectServer();
handle(choice);
}
}
else
System.out.println("账号或密码错误");
}
//
public static int selectServer(){
//显示服务并返回用户的选择结果
System.out.println("\n\n=============\n");
System.out.println("1.查询余额");
System.out.println("2.取款");
System.out.println("3.存款");
System.out.println("4.修改密码");
System.out.println("5.转账");
System.out.println("6.打印清单:");
System.out.println("0.退出");
System.out.println("\n\n=============\n");
//用户选择
int choice=-1;
try{
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
System.out.println("请选择服务(0--6):\n");
String inputLine=in.readLine();
choice =Integer.valueOf(inputLine).intValue();
}catch(Exception exc){
}
return choice;
}
//对用户的选择结果choice分别作处理
public static void handle(int choice){
switch(choice){
//查询帐户当前的余额
case 1:
double balance =atm.getBalance();
System.out.println("您的余额为:" +balance );
break;
//向帐户取款,取款金额为amount
case 2:
double amount;
int choice1; //是否确定取款
System.out.println("请输入取款金额:");
try{
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
String inputLine=in.readLine();
amount =Double.valueOf(inputLine).doubleValue();
}
catch(Exception exc){
return;
}
System.out.println("您确定取"+amount+"元吗?");
System.out.println("确定请按1");
System.out.println("取消请按0");
try{
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
String inputLine=in.readLine();
choice1 =Integer.valueOf(inputLine).intValue();
}
catch(Exception exc){
return;
}
boolean isa,iswithdraw=false;
if(choice1==1){
isa=true;
iswithdraw =atm.withdraw(amount);
}
else isa=false;
if(iswithdraw && isa){
System.out.println("交易成功");
if(k<9){
k=k+1;
a[k]=selectTime()+"取款 "+amount+"元";
}else {
k=0;
k++;
}
try{
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
System.out.println("是否打印凭条:");
System.out.println("1.打印凭条");
System.out.println("0.不打印凭条");
String
inputLine=in.readLine();
int choice2
=Integer.valueOf(inputLine).intValue();
if(choice2==1)System.out.println(selectTime()+"取款
"+amount+"元");
}
catch(Exception
exc){
return;
}
}
else System.out.println("交易失败");
break;
//向帐户存款,存款金额为amount
case 3:
double amount1;
try{
System.out.println("请输入存款金额:");
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
String inputLine=in.readLine();
amount1 =Double.valueOf(inputLine).doubleValue();
atm.deposit(amount1);
System.out.println("交易成功");
if(k<9){
k=k+1;
a[k]=selectTime()+"存款 "+amount1+"元";
}else {
k=0;
k++;
}
try{
BufferedReader in1 =new BufferedReader(new
InputStreamReader(System.in));
System.out.println("是否打印凭条:");
System.out.println("1.打印凭条");
System.out.println("0.不打印凭条");
String
inputLine1=in1.readLine();
int choice2
=Integer.valueOf(inputLine1).intValue();
if(choice2==1)System.out.println(selectTime()+"存款
"+amount1+"元");
}
catch(Exception
exc){
return;
}
}
catch(Exception exc){
}
break;
//修改帐户密码
case 4:
System.out.println("请输入新密码:");
int userpass1,userpass2;
try{
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
String inputLine=in.readLine();
userpass1 =Integer.valueOf(inputLine).intValue();
}
catch(Exception exc){
return;
}
System.out.println("请再次输入密码:");
try{
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
String inputLine=in.readLine();
userpass2 =Integer.valueOf(inputLine).intValue();
}
catch(Exception exc){
return;
}
if(userpass1==userpass2){
atm.updatepass(userpass2);
System.out.println("修改密码成功:");
System.out.println("您新密码为:"+atm.getuserpass());
}
else System.out.println("修改密码失败:");
break;
//退出
case 0:
System.out.println("谢谢使用ATM再见");
break;
case 5:
int user;
double amount11;
try{
System.out.println("请输入转入账号:");
BufferedReader in =new BufferedReader(new
InputStreamReader(System.in));
String inputLine=in.readLine();
user =Integer.valueOf(inputLine).intValue();
System.out.println("请输入转账金额:");
String inputLine1=in.readLine();
amount11 =Double.valueOf(inputLine1).doubleValue();
atm.withdraw(amount11);
System.out.println("交易成功");
if(k<9){
k=k+1;
a[k]=selectTime()+"向"+user+"转账 "+amount11+"元";
}else {
k=0;
k++;
}
try{
BufferedReader in1 =new BufferedReader(new
InputStreamReader(System.in));
System.out.println("是否打印凭条:");
System.out.println("1.打印凭条");
System.out.println("0.不打印凭条");
String
inputLine11=in1.readLine();
int choice2
=Integer.valueOf(inputLine11).intValue();
if(choice2==1)System.out.println(selectTime()+"存款
"+amount11+"元");
}
catch(Exception
exc){
return;
}
}
catch(Exception exc){
}
break;
case 6:
for(k=1;k<10;k++)
System.out.println(a[k]);
}
}
//主程序
public static void main (String [] args){
System.out.println("刚开始时帐号为123,密码为123");
login();
}
}
ATM机程序Linux,c语言模拟银行ATM机程序相关推荐
- 大学生妙用C语言模拟银行ATM,被某公司直接破格录取,月薪上万
ATM(Automatic Teller Machine的缩写)即自动取款机,因大部分用于取款,所以又称自动取款机.它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替 ...
- c语言模拟银行ATM的程序,简单模拟银行ATM取款系统 | C/C++程序员之家
学习C#,第一次C#实验课,模拟ATM取款系统,锻炼基本的C#语法以及选择控制语句! 实现功能: 1.取款 2.余额查询 3.修改密码 4.退出 [cpp] using System; using S ...
- c语言银行自动取款系统,[c语言]模拟银行atm机,实现存款、取款等业务
可以使用结构体来存储账号.密码.余额等. // // main.c // testATM // // Created by 赵亚北 on 14-7-10. // Copyright (c) 2014年 ...
- python循环案例:模拟银行ATM存款取款
案例:模拟银行ATM存款取款 1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式): 2.提示用户输入银行卡和密码,遍历每张卡的信息验证是否成功: 3.如果用 ...
- python循环结构练习(五)—— 模拟银行ATM存款取款
一. 场景描述案例:模拟银行ATM存款取款 1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式): 2.提示用户输入银行卡和密码,遍历每张卡的信息验证是否成功 ...
- Java 多线程 模拟银行ATM实时存取钱
近期想回顾一些知识: 一.Java 多线程 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用了更小的资源开 ...
- 模拟银行ATM存款存取款的相关功能
模拟银行ATM存款存取款的相关功能 具体需求: 模拟.3张银行卡,1001,1002,1003,分别设置密码和余额(可以用9个变里分别保存卡号.密码和余额) 提示用户输入银行卡和密码 如果用户输入正确 ...
- 三菱PLC程序 三菱F5U 系列PLC程序,ST语言编程,配触摸屏程序,恒压测试设备,可递增,可一直保持恒压,递增的阶梯和递增的先后顺序都可在触摸屏上设置
三菱PLC程序 三菱F5U 系列PLC程序,ST语言编程,配触摸屏程序,恒压测试设备,可递增,可一直保持恒压,递增的阶梯和递增的先后顺序都可在触摸屏上设置,有监控曲线和历史记录,PLC采用ST语言进行 ...
- 用Java程序模拟银行ATM机,实现包括存款、取款、查询、转账功能的简单应用
(1)想象现实世界中的相关操作沙及哪些实体呢?一个是储户,一个是ATM机.因 此根据面向对象中的抽象原则,可将其抽象为两个类:代表储户的账户信息类,代表银行 ATM机的ATM类.外加一个主类(负责实例 ...
最新文章
- 分享Kali Linux 2016.2第42周镜像文件
- 第12章 样式(三)
- mysql etc my.cnf_mysql配置文件 /etc/my.cnf 详细解释
- 【常见Web应用安全问题】
- 第五届新疆ACM H-虚无的后缀
- 【英语学习】【English L06】U03 House L2 Let's look for an apartment online
- OpenShift Security (13) - 利用Log4j漏洞攻击容器
- matlab机液位置伺服系统,基于MATLAB的电液位置伺服系统仿真分析
- hnu 暑期实训之web导航
- jQuery实现Ajax
- msdp rpf 规则1
- Python AutoCAD 绘图
- Google 分析 SDK 之渠道统计
- 叮叮书店 about.html,网页编程HTML+CSS网站设计
- 阿里天池:淘宝用户行为分析项目
- 期货开户手续费是怎么查询?
- 2021年网易云音乐实时计算平台发展和挑战
- 7-10 公路村村通 (最小生成树Prim算法) | PTA数据结构与算法——C语言实现
- Python的特点及数据的存储单位(¥4)
- (基础)详解Python实现图像分割增强的两种方法
热门文章
- 《iOS防护02》破解ptrace防护
- python统计奇数和偶数的个数_Python 统计位数为偶数的数字的代码
- QSystemTrayIcon退出后系统托盘图标不消失问题
- NLP入门之综述阅读-自然语言处理发展及应用综述
- 收藏 |2019互联网安全与DDoS态势研究报告解读Pro版
- Cadence原理图DRC检查介绍
- ubuntu上传文件到百度网盘
- Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution | 摘要翻译 |
- Dockerfile+elasticsearch7.12.1(配置密码及证书)+kibana7.12.1+cerebro0.83搭建集群
- 谷歌浏览器,查找CSS选择器