国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

詳細解析C++編寫的ATM自動取款機模擬程序

2019-11-17 05:30:37
字體:
來源:轉載
供稿:網友

  學習c++有一段時間了,前兩天有個朋友要我幫她做個模擬ATM自動取款機的程序,于是花了一個晚上寫了出來,其實這個程序也很簡單,但是我覺得它對于剛學c++的人來說比較有用處,因為它可以幫助你更加深刻的理解面向對象程序設計的真諦-------以現實世界為模型編寫程序。學習c++的真正目的也就在于此,真正的理解面向對象程序設計!

// ************************************// * *// * function.h *// * *// ************************************ #includeclass consumer;class ATM // ATM取款機{public: ATM(consumer& cn):cnsm(cn){} void welcome(); // 登陸界面 bool check_passwd(char n[],char pwd[]); // 核對密碼 void change_passwd(); // 修改密碼 void fetchmoney(); // 取款 void information(); // 查詢信息 void exitATM(); // 退出系統 void functionshow(); // 功能界面 void lock(); // 鎖機PRivate: int times; // 記錄密碼輸入次數 consumer& cnsm;};class consumer// 用戶{public: friend class ATM; consumer(char Name[],char Num[], float Money,char PassWord[]);protected: char* get_name(); // 取得姓名 char* get_num(); // 取得卡號 char* get_passwd(); // 取得密碼 float get_money(); // 取得余額 void set_passwd(char pwd[]); // 設置密碼 void set_money(float m); // 取錢private: char passwd[8]; // 用戶密碼 char name[20]; // 用戶姓名 char num[20]; float money;};


// ************************************// * *// * consumer類的成員函數 *// * *// ************************************ #include"function.h"#includeconsumer::consumer(char Name[],char Num[],float Money,char Password[]){ strcpy(name,Name); strcpy(num,Num); money=Money; strcpy(passwd,Password);}float consumer::get_money(){ return money;}char* consumer::get_name(){ return name;}char* consumer::get_num(){ return num;}char* consumer::get_passwd(){ return passwd;}void consumer::set_money(float m){ money-=m;}void consumer::set_passwd(char pwd[]){ strcpy(passwd,pwd);}


// ************************************// * *// * ATM類的成員函數 *// * *// ************************************ #include "function.h"#include #include
void ATM::welcome(){ times=0; cout<<"$ 歡迎使用若雪銀行ATM自動取款機!~! "<//"; cin>>n; while(n<1n>4) { cout<<"請輸入正確的操作序號!"<//"; cin>>n; } switch(n) { case 1: change_passwd(); break; case 2: fetchmoney(); break; case 3: information(); break; case 4: exitATM(); break; } }while(true); }void ATM::change_passwd(){ char pwd[8],repwd[8]; times=0; do { cout<>pwd; if(!check_passwd(cnsm.get_num(),pwd)) times++; else break; }while(times<3); if(times==3) lock(); int t=0; do { cout<<"請輸入新密碼:"; cin>>pwd; cout<<"請再輸入一次新密碼:"; cin>>repwd; if((t=strcmp(pwd,repwd))!=0) cout<<"你輸入的兩次密碼不一樣, 請重新輸入!"<//"<>m; while(m<=0) { cout<<"請輸入正確的數字!"<// "; cin>>m; } if(cnsm.get_money()-m<0) { cout<<"對不起,你的余額不足!" <// "; cin>>ch; while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y') { cout<<"$ >//"; cin>>ch; } }while(ch=='y'ch=='Y');}void ATM::information(){ cout<<"**********************************"< cout<<"* 卡號: "<


// ************************************// * *// * ATM.cpp *// * *// ************************************ #include#include"function.h"void main(){ consumer c1("jim","12345",5200.3f,"123"); // 先構造一個用戶 ATM atm(c1); atm.welcome();}


上一篇:限次使用新法

下一篇:橡皮筋畫線法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 胶州市| 垣曲县| 富民县| 凤山县| 建瓯市| 黄山市| 图们市| 兴安盟| 武强县| 咸丰县| 故城县| 公主岭市| 江川县| 温州市| 宁强县| 临夏市| 台南市| 武威市| 门头沟区| 玉田县| 镇远县| 孟连| 赫章县| 红原县| 徐州市| 莎车县| 黄山市| 威远县| 仲巴县| 文成县| 宿州市| 宁晋县| 曲松县| 六枝特区| 成都市| 阳江市| 繁峙县| 夹江县| 荔波县| 定结县| 迭部县|