程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++編寫的ATM自動取款機模擬程序分析

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

編輯:C++入門知識
學習c++有一段時間了,前兩天有個朋友要我幫她做個模擬ATM自動取款機的程序,於是花了一個晚上寫了出來,其實這個程序也很簡單,但是我覺得它對於剛學c++的人來說比較有用處,因為它可以幫助你更加深刻的理解面向對象程序設計的真谛-------以現實世界為模型編寫程序。 <!-- frame contents --> <!-- /frame contents --> 學習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[], floatMoney,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" #include<string.h>consumer::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 #includevoid 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<<"**********************************"<
  
  
  
// ************************************ // * * // * ATM.cpp * // * * // ************************************ #include#include"function.h" void main() { consumer c1("jim","12345",5200.3f,"123"); // 先構造一個用戶 ATM atm(c1); atm.welcome(); }
更多內容請看ATM網絡技術教程  ATM協議  ATM應用和解決方案專題,或
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved