⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atm.txt

📁 看了一本书上的例程
💻 TXT
字号:
#include<stdio.h>
#include<string.h>
 struct ATM
{ unsigned long ID_NO;
  unsigned int password;
  char name[10];
  float balance;
  unsigned long iid;
};
 int i=0;
 ATM TestAcc[10];
 int check(unsigned long,unsigned int);
 ATM Getvalue(unsigned long id,unsigned int pw,char *n,float m,ATM k);
 int deposit(unsigned long id,unsigned int pw,float m);
 int drawing(unsigned long id,unsigned int pw,float m);
 float chk_balace(unsigned long id,unsigned int pw);

 ATM Getvalue(unsigned long id,unsigned int pw,char*n,float m,ATM K)
 { K.ID_NO=id;
   K.password=pw;
   K.balance=m;
   K.iid=K.ID_NO;
   strcpy(K.name,n);
   return K;
 }

 int deposit(unsigned long id,unsigned int pw,float m)
 {  if(check(id,pw))
	 {  TestAcc[i].balance+=m;
        return 1;  
     }
    else return 0;
 }
 
 int drawing(unsigned long id,unsigned int pw,float m)
 {  if(check(id,pw))  
     {  if(TestAcc[i].balance>=m)
         { TestAcc[i].balance-=m;
           printf("您提了%f元,现在余额为%f元\n",m,TestAcc[i].balance);
           return 1;
		  }
        else printf("余额不足!\n");
        return 0;
	}
    else { printf("密码有误!"); 
           return 0;
	     }
 }


 float chk_balance(unsigned long id,unsigned int pw)
 {  if(check(id,pw))  return TestAcc[i].balance;
    else return (float)0;
 }

 int check(unsigned long id,unsigned int pw)
 { if(id==TestAcc[i].ID_NO && pw==TestAcc[i].password) return 1;
   else return 0;
 }


 void main()
 { int choice; int j=0,p=0; unsigned long id;
   unsigned int pw,pw1;
   char name[10];
   float m=0.0,n=0.0;
   int x=0;
   do
   { printf("\n自动柜员机\n");
     printf("--------------");
	 printf("<1> 开户\n");
	 printf("<2> 存款\n");
	 printf("<3> 提款\n");
	 printf("<4> 余额查询\n");
	 printf("<5> 利息查询\n");
	 printf("<6> 结束\n");
	 printf("--------------");]
     printf("请选择:");
	 scanf("%d",&choise);
	 if(choise==6) break;
     if(choise>1 && choise<=5)
	 {  printf("请输入帐号:");
	    scanf("%d",&id);
		for(j=0;j<p;j++)
		  if(TestAcc[j].idd==id) i=j;
		printf("请输入密码:");
		scanf("%d",&pw);
	 }
	 else 
	 if(choise==1)
	 { printf("请输入开户帐号:");
	   scanf("%d",&id);
	   printf("请输入开户密码:");
	   scanf("%d",&pw);
	   printf("请再次输入密码:");
	   scanf("%d",&pw1);
	 }
	 else 
	 { printf("输入有误,请输入1~6之间的数字!);
	   continue;
	 }
 switch(choise)
 { case 1:
     if(pw1!=pw)
	 { printf("密码不正确,开户失败!");
	   break;
	 }
	 printf("请输入姓名:\n");
	 scanf("%s",name);
	 if(p<10)
	 { TestAcc[p]=Getvalue(id,pw,name,0,TestAcc[p]);
	   printf("开户成功!\n");
	   p++;
	 }
	 else printf("帐户已满,不能开户");
	 break;
 case 2:
	 printf("请输入存款金额:");
	 scanf("%f",&m);
	 if(deposit(id,pw,m))  printf("存款作业成功! 您目前的存款余额是: %f元\n",chk_balance(id,pw));
     else printf("存款作业失败! 可能是帐号或密码有误!\n");
     break;
 case 3:
	 printf("请输入提款金额: ");
	 scanf("%f",&m);
	 if(drawing(id,pw,m))  printf("提款作业成功!您目前的存款余额是%f元\n",chk_balance(id,pw));
     else printf("提款作业失败!可能是帐号或密码有误,或者存款余额不足\n");
	 break;
 case 4:
	 m=chk_balance(id,pw);
	 if(m)  printf("查询作业成功!您目前的余额是: %f元\n",m);
	 else printf("查询作业失败!可能是帐号或秘密有误!\n");
	 break;
 case 5:
	 n=chk_balance(id,pw);
	 if(n)
	 { printf("请输入存款的种类:\n");
	   printf("<1>定期\n<2>活期\n<3>取消\n");
	   scanf("%d",&x);
	   do
	   { if(x==1) printf("您的定期存款是%f元!\n 定期存款利率是%f元!\n",n,n*0.065);
	     else if(x==2) printf("您的活期存款是%f元!\n 活期存款利率是%f元!\n",n,n*0.035);
           else if(x==3) printf("您取消了利息查询!\n");
		     else  { printf("输入错误,请输入1~3的数字!\n"); break; }
	     break;
	   }while(x!=3);
	 }
	 else printf("查询作业失败! 可能是帐号或密码有误!\n");
	 break;
 }
}while(choise!=6);
printf("谢谢使用!");
}

         

















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -