c語言寫的簡易ATM取款機
阿新 • • 發佈:2019-02-17
#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
#include<string.h>
#include<windows.h>
char ch[7]={"123456"};
int menu();
int login();
int deposit();
int GetCash();
int Transf();
void Checkmoney();
int checkPass();
void modiPass();
void Exit();
int i,n; //金額
int main()
{
int x;
//modiPass();
while(1)
{
checkPass();
menu();
while(1)
{
printf("\n請選擇業務:");
while(1)
{
scanf("%d",&x);
if(x>6||x<0)
{
printf("\n輸入有誤,請重新輸入:");
}
else break;
}
switch(x)
{
case 1:deposit();break;
case 2:GetCash();break;
case 3:Transf();break;
case 4:Checkmoney();break;
case 5:modiPass();break;
case 6:Exit();x = 6;break;
default:break;
}
if(x == 6)break;
}
}
return 0;
}
/////選單
int menu()
{
system("cls");
printf("\t\t\tPlease Select Service\n\n");
printf("\t\t1.存款業務 2.取款業務\n");
printf("\n\n\t\t\t\t**電子現金**\n");
printf("\t\t3.轉賬業務 4.查詢業務\n\n");
printf("\t\t5.修改密碼 6.退卡\n\n");
}
////存款業務
int deposit()
{
int m;
printf("請輸入您的存入金額\n");
scanf("%d",&m);
printf("成功存入 %d 元\n",m);
i+=m;
return i;
}
////取款業務
int GetCash()
{
int n;
if(i<=0)
{
printf("餘額不足\n");
return i;
}
printf("請輸入您的取出金額\n");
while(1)
{
scanf("%d",&n);
if(n>i)
{
printf("請輸入少於 %d 元\n",i);
}
else break;
}
printf("成功取出 %d 元\n",n);
i-=n;
return i;
}
int Transf()
{
int n;
long int number;
if(i<=0)
{
printf("餘額不足\n");
return i;
}
printf("請輸入您要轉帳的銀行卡號\n");
scanf("%d",&number);
printf("請輸入您的轉出金額\n");
while(1)
{
scanf("%d",&n);
if(n>i)
{
printf("請輸入少於 %d 元\n",i);
}
else break;
}
printf("成功向 %d 賬號轉賬 %d 元\n",number,n);
i-=n;
return i;
}
void Checkmoney()
{
if(i<=0)
printf("您的賬戶餘額為: 0 元\n");
else
printf("您的賬戶餘額為: %d 元\n",i);
}
int checkPass()
{
system("cls");
char m[7];
printf("@@@@@@@@中國建設銀行@@@@@@@\n");
printf("**China Construction Bank**\n\n");
printf("正在進行IC卡認證,請稍後...\n\n");
printf("請輸入密碼(系統預設初始密碼為123456):\n");
printf("Please input your Press Enter\n\n");
while(1)
{
for(n=0;n<6;n++)
{
m[n]=getch();
printf("*");
}
if(strcmp(ch,m)==0)
{
printf("\n\n\t\t 正在進行ID認證,請稍候");
//Sleep(400);
printf(".");
Sleep(400);
printf(".");
Sleep(400);
printf(".");
Sleep(400);
printf(".");
//Sleep(2000);
printf("\n\n\t\t 登入成功! \n");
break;
}
else puts("\n密碼錯誤,請重新輸入密碼:\n");
}
return 0;
}
void modiPass()
{
char mi[7];
printf("請輸入原來的密碼:\n");
while(1)
{
for(n=0;n<6;n++)
{
mi[n]=getch();
printf("*");
}
printf("\n");
if(strcmp(mi,ch)==0)
{
puts("請輸入新的密碼:\n");
for(n=0;n<6;n++)
{
ch[n]=getch();
printf("*");
}
printf("\n");
if(strcmp(mi,ch)!=0){printf("密碼修改成功!\n");break;}
else printf("密碼修改失敗(新密碼與舊密碼相同),請重新修改.\n請輸入原來的密碼:\n");
}
else printf("密碼錯誤,請重新輸入:\n");
}
}
void Exit()
{
printf("交易結束,請取回您的卡\n");
Sleep(1000);
}
#include<stdlib.h>
#include <conio.h>
#include<string.h>
#include<windows.h>
char ch[7]={"123456"};
int menu();
int login();
int deposit();
int GetCash();
int Transf();
void Checkmoney();
int checkPass();
void modiPass();
void Exit();
int i,n; //金額
int main()
{
int x;
//modiPass();
while(1)
{
checkPass();
menu();
while(1)
{
printf("\n請選擇業務:");
while(1)
{
scanf("%d",&x);
if(x>6||x<0)
{
printf("\n輸入有誤,請重新輸入:");
}
else break;
}
switch(x)
{
case 1:deposit();break;
case 2:GetCash();break;
case 3:Transf();break;
case 4:Checkmoney();break;
case 5:modiPass();break;
case 6:Exit();x = 6;break;
default:break;
}
if(x == 6)break;
}
}
return 0;
}
/////選單
int menu()
{
system("cls");
printf("\t\t\tPlease Select Service\n\n");
printf("\t\t1.存款業務 2.取款業務\n");
printf("\n\n\t\t\t\t**電子現金**\n");
printf("\t\t3.轉賬業務 4.查詢業務\n\n");
printf("\t\t5.修改密碼 6.退卡\n\n");
}
////存款業務
int deposit()
{
int m;
printf("請輸入您的存入金額\n");
scanf("%d",&m);
printf("成功存入 %d 元\n",m);
i+=m;
return i;
}
////取款業務
int GetCash()
{
int n;
if(i<=0)
{
printf("餘額不足\n");
return i;
}
printf("請輸入您的取出金額\n");
while(1)
{
scanf("%d",&n);
if(n>i)
{
printf("請輸入少於 %d 元\n",i);
}
else break;
}
printf("成功取出 %d 元\n",n);
i-=n;
return i;
}
int Transf()
{
int n;
long int number;
if(i<=0)
{
printf("餘額不足\n");
return i;
}
printf("請輸入您要轉帳的銀行卡號\n");
scanf("%d",&number);
printf("請輸入您的轉出金額\n");
while(1)
{
scanf("%d",&n);
if(n>i)
{
printf("請輸入少於 %d 元\n",i);
}
else break;
}
printf("成功向 %d 賬號轉賬 %d 元\n",number,n);
i-=n;
return i;
}
void Checkmoney()
{
if(i<=0)
printf("您的賬戶餘額為: 0 元\n");
else
printf("您的賬戶餘額為: %d 元\n",i);
}
int checkPass()
{
system("cls");
char m[7];
printf("@@@@@@@@中國建設銀行@@@@@@@\n");
printf("**China Construction Bank**\n\n");
printf("正在進行IC卡認證,請稍後...\n\n");
printf("請輸入密碼(系統預設初始密碼為123456):\n");
printf("Please input your Press Enter\n\n");
while(1)
{
for(n=0;n<6;n++)
{
m[n]=getch();
printf("*");
}
if(strcmp(ch,m)==0)
{
printf("\n\n\t\t 正在進行ID認證,請稍候");
//Sleep(400);
printf(".");
Sleep(400);
printf(".");
Sleep(400);
printf(".");
Sleep(400);
printf(".");
//Sleep(2000);
printf("\n\n\t\t 登入成功! \n");
break;
}
else puts("\n密碼錯誤,請重新輸入密碼:\n");
}
return 0;
}
void modiPass()
{
char mi[7];
printf("請輸入原來的密碼:\n");
while(1)
{
for(n=0;n<6;n++)
{
mi[n]=getch();
printf("*");
}
printf("\n");
if(strcmp(mi,ch)==0)
{
puts("請輸入新的密碼:\n");
for(n=0;n<6;n++)
{
ch[n]=getch();
printf("*");
}
printf("\n");
if(strcmp(mi,ch)!=0){printf("密碼修改成功!\n");break;}
else printf("密碼修改失敗(新密碼與舊密碼相同),請重新修改.\n請輸入原來的密碼:\n");
}
else printf("密碼錯誤,請重新輸入:\n");
}
}
void Exit()
{
printf("交易結束,請取回您的卡\n");
Sleep(1000);
}