資源簡介
C++模擬ATM機界面設計 ATM機模擬界面設計 類似于生活中我們用ATM機取錢是所遇到的這種操作,通過c++語言實現
代碼片段和文件信息
#include
#include
#include
using?namespace?std;
class?BankCard;//銀行卡類的提前聲明
class?ATM//ATM取款機類的定義
{
public:
ATM(BankCard&?bc):BankCardAtATM(bc)//bc是BankCard類的引用型變量,
{
//因為ATM類中有BankCard類的私有數據成員,所以必須調用BankCard類的構造函數初始化變量bc
totalmoney?=?200000.0;
oncemoney?=?5000.0;
leftmoney?=?20000.0;
}
void?welcome();//登陸界面
bool?checkpasswd(char?n[]char?pwd[]);//核對所輸卡號,密碼是否正確
void?changepasswd();//修改密碼
void?fetchmoney();//取款
void?information();//顯示插入ATM機中的銀行卡信息
void?exitATM();//退出系統
void?functionshow();//功能界面
void?lock();//鎖卡,退出系統
void?Clear();//清屏
????private:
int?times;//記錄密碼次數
float?totalmoney;//記錄本ATM機存款總額
float?leftmoney;//記錄取款機剩余金額
float?oncemoney;//記錄取款單筆最高金額
BankCard&?BankCardAtATM;//插入ATM機的銀行卡信息
};
//BankCard類的聲明
class?BankCard//銀行卡類
{
public:
friend?class?ATM;//將ATM類設置為BankCard類的友元類
BankCard(char?Name[]char?Num[]float?Moneychar?Password[]);
protected:
char*?getname();//取得銀行卡姓名
char*?getnum();//取得銀行卡號
char*?getpasswd();//取得銀行卡密碼
float?getmoney();//取得銀行卡余額
void?setpasswd(char?pwd[]);//設置銀行卡密碼
void?setmoney(float?m);//更新銀行卡金額
private:
char?passwd[8];//存儲用戶密碼
char?name[20];//存儲用戶姓名
char?num[20];//存儲銀行卡號
float?money;//存儲銀行卡金額
};
BankCard::BankCard(char?Name[]char?Num[]float?Moneychar?Password[])
{
strcpy(nameName);
strcpy(numNum);
money?=?Money;
strcpy(passwdPassword);
}
float?BankCard::getmoney()//取得銀行卡金額
{
return?money;
}
char*?BankCard::getname()//取得銀行卡姓名
{
return?name;
}
char*?BankCard::getnum()//取得銀行卡號
{
return?num;
}
char*?BankCard::getpasswd()//取得銀行卡密碼
{
return?passwd;
}
void?BankCard::setmoney(?float?m)//更新銀行卡余額
{
money-=?m;
}
void?BankCard::setpasswd(char?pwd[])//設置銀行卡密碼
{
strcpy(passwdpwd);
}
//ATM類的成員函數實現
void?ATM::welcome()//顯示歡迎界面
{???char?ch;
????char?num[8];
char?pwd[8];
times?=?0;
cout<<“\t\t歡迎使用本行的ATM自動取款機!“< int?i?=?0;
do
{
i?=?0;
cout< do
{
cin.get(ch);
num[i++]=ch;
}while?(ch!=‘\n‘);
num[i-1]=‘\0‘;
i?=?0;
cout< do
{
???? cin.get(ch);
pwd[i++]=ch?;
}while?(ch!=‘\n‘);
pwd[i-1]=‘\0‘;
if(!checkpasswd(numpwd))//檢查卡號、密碼是否正確
{
cout< times++;
}
else
{
functionshow();//檢查合格,顯示功能界面
}
}while(times<3);//卡號、密碼輸錯超過3次,鎖卡退出系統
lock();
}
bool?ATM::checkpasswd(char?num[]char?pwd[])//檢查卡號、密碼是否正確
{
if(strcmp(numBankCardAtATM.getnum())==0?&&
??strcmp(pwdBankCardAtATM.getpasswd())==0)
return?true;
else
return?false;
}
void?ATM::functionshow()//顯示功能菜單
{
int?n;
do
{
評論
共有 條評論