#include<stdio.h>
#include<stdlib.h>int cunkuan(int);//存款函数
void chaxun(int);//查询函数
int qukuan(int);//取款函数
void password();//修改密码函数//变量说明 mima初始密码 pass用户输入密码 newpass修改后密码  qrpass确认密码 ckmoney存款金额 qkmoney取款金额 fmoney初始余额 money卡内余额times取款次数
void main()
{
 int i=0,j=0 ,mima=000000,fmoney=0,pass,money;
 char a,c;
 printf("请输入你的银行卡密码!(初始密码为/"000000/")/n");
 scanf("%d",&pass);
 while(i<2)
{
if(pass==mima)
{
while(j!=5)
{
 system("cls"); 
 getchar();
 printf("欢迎进入ATM银行自助系统/n/n请在下面主菜单中选择相应的功能.../n1.存款/n2.查询余额/n3.取款/n4.修改密码/n5.退出/n");
 scanf("%d",&j);
switch(j)
{
 case 1:
do
{
 money=cunkuan(fmoney);
 fmoney=money;
 getchar();
 printf("是否继续?/"Y/"继续存款,其它任意键返回主菜单...");
 scanf("%c",&a);
}while(a=='y'||a=='Y');
break;
 case 2:
chaxun(fmoney);
break;
 case 3:
   do
   {
    money=qukuan(fmoney);
    fmoney=money;
getchar();
printf("是否继续?/"Y/"继续取款,其它任意键返回主菜单...");
scanf("%c",&c);
   }while(c=='y'||c=='Y');
   break;
 case 4:
password();
break;
 case 5:
printf("感谢你使用本ATM系统!再见!/n");
return;
 default:
printf("功能选择错误!请重新选择!按回车继续!/n");
getchar();
}
}
}
else
{
printf("密码输入错误!请重新输入!/n");
scanf("%d",&pass);
i++;
}
}
 if(i>=2)
 {
  printf("当日密码输错3次!你的银行卡已被吞!请携带本人身份证与银行联系!(为保证您的合法权益不受侵犯请不要轻易相信旁边粘贴着的电话号码!)/n");
  return;
 }
}int cunkuan(int fmoney1)
{   
system("cls");
int ckmoney,money1;
printf("欢迎进入存款系统!/n/n本系统只能接受面值为100元的人民币!单次最大存款额度为人民币5000元!/n请输入您的存款金额:");
scanf("%d",&ckmoney);
if(ckmoney<=5000&&ckmoney%100==0)
{
  money1=fmoney1+ckmoney;
  printf("交易成功!/n你的存款金额为%d.00元,你卡上的余额为%d.00元。/n",ckmoney,money1);
  return money1;
}
else if(ckmoney>5000)
{
  printf("交易失败!/n你的单次存款额度超过人民币5000元!请重试!/n");
  money1=fmoney1;
  return money1;
}
else if(ckmoney%100!=0)
{
  printf("交易失败!/n你存入的钱中至少有一张不是100元面值的人民币!本柜员机只能接受面值为100元的人民币!请重试!/n");
  money1=fmoney1;
  return money1;
}
}void chaxun(int ye)
{
  char b;
  do
   {
 system("cls");
     getchar();
     printf("欢迎进入查询余额系统!/n/n你卡上的余额为RMB%d.00元/n是否继续?/"Y/"继续,其它任意键返回主菜单...",ye);
     scanf("%c",&b);
  }while(b=='y'||b=='Y');
}int qukuan(int ye)
{
 int qkmoney;
 static int time=0;
 system("cls");
 printf("欢迎进入取款系统!/n/n本柜员机每次最多取款RMB2000元(只能取面值为100元的人民币),每天最多取款三次。/n请输入你的取款金额:");
 scanf("%d",&qkmoney);
 if(qkmoney<=ye&&qkmoney<=2000&&qkmoney%100==0&&time<3)
  {
   ye=ye-qkmoney;
   printf("交易成功!/n你的取款金额为%d.00元,你卡上的余额为%d.00元。/n",qkmoney,ye);
   time++;
   return ye;
  }
  else if(qkmoney>ye)
  {
    printf("交易失败!/n你的卡上余额不足!/n请重试!/n");
return ye;
  }
  else if(qkmoney>2000)
  {
   printf("交易失败!/n本柜员机每次最多取款RMB2000元!/n请重试!/n");
   return ye;
  }
  else if(qkmoney%100!=0)
  {
   printf("交易失败!/n本柜员机只能提供面值为100元的人民币/n请重试!/n");
   return ye;
  }
  else if(time>=3)
  {
   printf("你单日取款次数超过3次!你24小时内将不能再取款!如确需用钱,请到银行柜台操作");
   return ye;
  }
}void password()
{
  char d;
  do
  {
system("cls");
int newpass,qrpass;
printf("欢迎进入修改密码界面/n/n请输入你的新密码/n");
scanf("%d",&newpass);
printf("请确认你的新密码/n");
scanf("%d",&qrpass);
if(newpass==qrpass)
{
 printf("密码修改成功!修改后的密码为%d/n",newpass);
}
else
{
 printf("密码修改失败!你输入的确认密码和你的修改密码不一致(你原来的密码没有被修改)!请重试!/n");
}
getchar();
printf("是否继续?/"Y/"继续,其它任意键返回主菜单...");
    scanf("%c",&d);
  }while(d=='y'||d=='Y');
}