2 模拟ATM机取款业务,密码有三次机会,密码如果输入正确的话,提示输入金额,金

2 模拟ATM机取款业务,密码有三次机会,密码如果输入正确的话,提示输入金额,金,第1张

假设一个简单的ATM机的取款过程是这样的:

首先提示用户输入密码(pssword),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”结束交易。如果用户密码正确,载体是用户输入金额(amount),ATM机只能输出100元的纸币,一次取钱数要求最低100,最高2000元。

如果用户输入的金额符合上述要求,则打印输出用户取的钱数,最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。

假设用户密码是111111。

int main(){ char pwd[10];

int loginSuccess=0;

int count=1;

int amount;

int amountsuccess=1;

do{printf("请输入密码:");

gets(pwd);

if(strcmp(pwd,"111111")==0),

{//这里函数等于0表示正确,取款业务do{loginSuccess=1;if(amountsuccess) printf("请输入金额:");

else,printf("您输入的金额不合法,请重新输入");

scanf("%d",&amount);

if(amount%100==0&&amount=100),{printf("您取走了%d元",amount);

amountsuccess=1;}elseamountsuccess=0;

}while(!amountsuccess);

//1退出}else count++;

}while(countif(count>3&&!loginSuccess)printf("登录系统失败,请取走您的卡");

return 0。

package demo;

import javautilScanner;

public class Test3 {

public static void main(String[] args) {

Scanner scanner =new Scanner(Systemin);

int cnt=3;

String username = null;

String password = null;

double money = 1000;

String targetName = "admin33";

double targetMoney = 1000;

while(true){

if(username!=null&&password!=null){

if("admin"equals(username) && "123"equals(password)){

Systemoutprintln("欢迎光临");

while(true){

Systemoutprintln("请选择您的 *** 作 1 取钱 2 存钱 3 转账 4 查询 5 退出 ");

int n = scannernextInt();

if(n==1){//取钱

Systemoutprintln("请输入金额");

int getter = scannernextInt();

if(getter>=0){

if(getter<=5000){

if(getter<=money){

money-=getter;

}else{

Systemoutprintln("余额不足");

}

}else{

Systemoutprintln("单笔只能取5000及以下");

}

}else{

Systemoutprintln("银行不到给");

}

}else if(n==2){//存钱

Systemoutprintln("请输入金额");

int save = scannernextInt();

if(save>=0){

money+=save;

}

}else if(n==3){//转账

Systemoutprintln("请输入目标账户");

String target = scannernext();

if(targetequals(targetName)){

Systemoutprintln("请输入金额");

int getter = scannernextInt();

if(getter>=0){

if(getter<=5000){

if(getter<=money){

money-=getter;

targetMoney+=getter;

}else{

Systemoutprintln("余额不足");

}

}else{

Systemoutprintln("单笔只能取5000及以下");

}

}else{

Systemoutprintln("银行不到给");

}

}

}else if(n==4){//查询

Systemoutprintln(money);

}else if(n==5){//退出

Systemexit(0);

}else{

Systemoutprintln("没有该项服务");

}

}

}else{

cnt--;

Systemoutprintln("输入错误,您还有"+cnt+"次机会");

username=null;

password=null;

if(cnt<=0){

Systemoutprintln("对不起,您的账号被冻结,请到最近的营业厅解除冻结");

Systemexit(0);

}

}

}else{

Systemoutprintln("请输入您的账号");

username = scannernext();

Systemoutprintln("请输入您的密码");

password = scannernext();

}

}

}

}

最后一列为备注 1、 管理员表(tb_admin) 字段 类型 约束 备注 aId number(6) 主键 --管理员编号 aName varchar2(10) 唯一、非空 --管理员登陆名 aPassword varchar2(16) 非空 --管理员登陆密码 aLastDate date 非空 --上次登陆时间 aNowDate date 非空 --本次登陆时间 2、 yhk登陆表(tb_login) 字段 类型 约束 备注 lId number(8) 主键 --登录ID lCardNumber varchar2(19) 引用yhk信息表 卡号 lPassword number(6) 非空 yhk密码 bIsLock char(1) 默认1 是否被锁,0表示被锁,1表示开启 lTime number(10) 初始为0 登陆次数 aLastDate date 非空 上次登陆时间 aNowDate date 非空 本次登陆时间 3、 客户详细资料表(tb_userInfo) 字段 类型 约束 备注 usId number(8) 主键 客户ID usName varchar2(10) 非空 客户姓名 usIDNumber varchar2(18) 非空 客户身份z号码 usSex char(1) 默认0 客户性别,0表示男,1表示女 usTel varchar2(11) 非空 客户电话 usAddress varchar2(50) 非空 客户地址 4、 银行支行表(tb_Branch) 字段 类型 约束 备注 bId number(3) 主键 支行ID bName varchar2(20) 唯一、非空 支行名 bAddress varchar2(100) 非空 支行地址 5、 yhk信息表(tb_CardInfo) 字段 类型 约束 备注 bCardID number(19) 主键 卡号 bBalance number(8,2) 默认000 余额 bUserId number(8) 引用客户详细资料表 卡对应用户ID bBranchID number(4) 引用支行表 支行ID bDate date 默认系统时间 开户时间 6、 yhk交易类型表(tb_TransType) 字段 类型 约束 备注 tId number(2) 主键 类型ID tType nvarchar2(6) 唯一 类型(转账、存款、取出等) 7、 yhk个人账户存、取款记录表(tb_ Pacount) 字段 类型 约束 备注 tId number(10) 主键 交易记录流水号 tType number(2) 引用交易类型表 交易类型ID tCardID number(19) 引用yhk信息表 交易卡号 tamount number(10) 非空 交易金额 tDate date 非空 交易时间 8、 yhk转账等交易记录表(tb_TransInfo) 字段 类型 约束 备注 tId number(10) 主键 交易记录流水号 tType number(2) 引用交易类型表 交易类型ID tCardIDout number(19) 引用yhk信息表 交易金额转出卡号 tCardIDIn number(19) 引用yhk信息表 交易金额转入卡号 tamount number(10) 非空 交易金额 tDate date 非空 交易时间

#include

#include

int main(void)

{

int i;

int c;

int a[4];

FILE fp;

fp = fopen("D:\\testtxt","r+");

fseek(fp,0,6789);

for (i = 0; i < 4; ++i)

a[i] = fgetc(fp);

for (i = 0; i < 4; ++i)

{

c = a[i];

a[i] = a[4-i];

c[4-i] = c;

fseek(fp,0,6789+i);

fputc(a[i],fp);

}

fclose(fp);

return 0;

}

试试

以上就是关于2 模拟ATM机取款业务,密码有三次机会,密码如果输入正确的话,提示输入金额,金全部的内容,包括:2 模拟ATM机取款业务,密码有三次机会,密码如果输入正确的话,提示输入金额,金、Java编程实现程序用于模拟ATM取款机。、一个用java模拟ATM机的代码且数据库为mysql,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9511480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存