2、输入卡密码输入之后有的可以直接进入取款画面,有的还需要按确认键。
3、之后你在屏幕上可以看到"查询""取款""转账""退卡"等选择相对应的按键,就是屏幕两边的8个键,不要着急,看清了再按选项旁边对应的键,取款就按下"取款"。
4、按下"取款"之后要输入取款的金额就可以了。
5、眼睛一定要盯着"出钞口",出钞后的2-5秒如果无人取钞,ATM会把吐钞吞回的。取款时一定清点,发现有可疑的纸币就把纸币冠字编号对准ATM的摄像头多停留几秒,取款完成后按屏幕上提示的"退卡"退出卡片。
如下,实际过程中还需要加个菜单选择,另外要对用户输入进行合法性检查。#include<stdio.h>
int main()
{
int n
char ch
printf("请输入您要取款的金额:")
scanf("%d",&n)
printf("请确认您的取款金额(y 或者n):")
ch = getchar()
if(ch == 'y' &&ch =='Y') //这个是你要的算法
printf("取款%d成功\n",n)
//同样的这里可以加入其它的判断,手机打字不便,自己根据需要加。
return 0
}
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<conio.h>
void
sys(const
char
*ex)
{
printf(ex)
fflush(stdin)
getch()
}
struct
atm
{
float
money
char
card[20]
char
pass[20]
}
struct
atm
*creat()
{
struct
atm
*p
p=(struct
atm
*)malloc(sizeof(struct
atm))
printf("请输入密码:")
gets(p->pass)getchar()
printf("请输入卡号:")
gets(p->card)getchar()
printf("卡号为=%s,密码为=%s\n",p->card,p->pass)
printf("请输入预存款金额:")
scanf("%f",&p->money)
return
p
}
struct
atm
*qukuan(struct
atm
*p)
{
float
money
printf("请输入取款金额:")
scanf("%f",&money)
if(money>p->money){printf("余额不足!\n")return
p}
p->money-=money
return
p
}
void
print(struct
atm
*p)
{
printf("当前余额为%.2f,可取款金额为%d\n",p->money,floor(p->money)/100)
}
int
yanzheng(struct
atm
*p)
{
char
pass[20]
printf("你好,请输入密码:")
gets(pass)
if(strcmp(pass,p->pass)==0)
return
1
return
0
}
void
main()
{
struct
atm
*p
int
t=0
p=creat()
do
t++
while(!yanzheng(p)&&t<3)
if(t==3){printf("密码连续三次输入错误,退出程序!\n")return
1}
while(1)
{
system("cls")
printf("****欢迎您使用ATM取款机!****\n")
printf("1:\t取款\n")
printf("2:\t查看余额\n")
printf("0:\t退出\n")
printf("请选择:")
scanf("%d",&t)
fflush(stdin)
switch(t)
{
case
1:qukuan(p)break
case
2:print(p)break
}
if(!t)
{
sys("请按任意键退出...")
break
}
sys("请按任意键返回...")
}
}