簡單C++程式的編寫5:模擬ATM機
阿新 • • 發佈:2018-12-21
運用C++語言,模擬24小時運營的ATM機,實現其五大功能:
1、餘額查詢
2、取款
3、存款
4、轉賬
5、密碼修改
程式碼:
#include<iostream.h> #include<conio.h> char *password() //定義輸入密碼的函式 { int j; char *n=new char[4]; //定義指向一個具有4個char型元素陣列的首地址 for(j=0;j<4;j++) //輸入密碼,並以*顯示 { n[j]=getch(); cout<<"*"; } cout<<"\n"; return n; } int login(char *m) //定義賬戶的登入函式 { int i,j; char *n; cout<<" 登入 "<<endl; cout<<"************"<<endl; for(i=1;i<4;i++) //記錄輸錯密碼的次數 { cout<<"請輸入密碼:"<<endl; n=password(); for(j=0;j<4;j++) //判斷密碼是否錯誤 { if((*m++)!=(*n++)) { cout<<"密碼錯誤!"<<endl; break; } } if(j==4) { cout<<"登入成功!"<<endl; break; } } return i; } //呼叫getch函式的標頭檔案 double yue(double a) //定義查詢餘額的函式 { cout<<"當前餘額:"<<a<<"元"<<endl; return a; } double qukuan(double a) //定於取款的函式 { int b; while(1) //判斷輸入的格式是否正確 { cout<<"請輸入取款金額:"<<endl; cout<<"(注意:金額需為100的整數倍,且在100~10000)"<<endl; cin>>b; if((b%100)!=0) cout<<"輸入錯誤,請重新輸入"<<endl; else break; } cout<<"取款成功!\n"<<"請取走您的鈔票"<<endl; a-=b; return a; } double cunkuan(double a) //定義存款的函式 { int b; cout<<"請把鈔票放入指定位置!"<<endl; while(1) { cout<<"請輸入存款的金額:"<<endl; cin>>b; if((b%100)!=0) cout<<"輸入錯誤,請重新輸入"<<endl; else break; } cout<<"存款成功!\n"<<"請及時檢視!"<<endl; a+=b; return a; } double zhuanzhang(double a) //定義轉賬的函式 { char user[19]; double b; cout<<"請輸入對方的賬號:"<<endl; cin>>user; while(1) { cout<<"請輸入轉賬金額:"<<endl; cin>>b; if(b<0) cout<<"輸入錯誤,請重新輸入"<<endl; else break; } cout<<"轉賬成功!\n"<<"請及時檢視!"<<endl; a-=b; return a; } char *mima(char m[4]) //定義修改密碼的函式 { int i; char *s1=new char[4],*s2=new char[4]; while(1) { cout<<"請輸入舊密碼:"<<endl; s1=password(); for(i=0;i<4;i++) { if(s1[i]!=m[i]) { cout<<"密碼錯誤!"<<endl; break; } } if(i==4) { cout<<"密碼正確!"<<endl; break; } } cout<<"請輸入新密碼:"<<endl; s2=password(); cout<<"密碼修改成功!"<<endl; return s2; } void main() { int a,i; double balance; char name[10],account[19],*word[4]; cout<<"**歡迎使用24小時運營ATM機**"<<endl; cout<<"為了方便您的操作,請提供以下資訊:\n"<<endl; cout<<"請輸入您的姓名:"; cin>>name; cout<<"請輸入您的賬號:"; cin>>account; cout<<"請輸入您的密碼:"; *word=password(); cout<<"請輸入您的餘額:"; cin>>balance; cout<<"\n"; i=login(*word); if(i==4) cout<<"密碼錯誤三次,你的賬號已被凍結!"<<endl; else { cout<<"****ATM為您服務****"<<endl; cout<<"請選擇操作對應的標號:\n"<<endl; while(1) { cout<<"1-查詢餘額"<<endl; cout<<"2-取款 "<<endl; cout<<"3-存款 "<<endl; cout<<"4-轉賬業務"<<endl; cout<<"5-密碼修改"<<endl; cout<<"0-退卡\n"<<endl; cin>>a; if(a==0) { cout<<"退卡成功!"<<endl; break; } else switch(a) //判斷使用什麼功能 { case 1: yue(balance);break; case 2: balance=qukuan(balance);break; case 3: balance=cunkuan(balance);break; case 4: balance=zhuanzhang(balance);break; case 5: *word=mima(*word);break; } cout<<"\n是否繼續?"<<endl; } } }