1. 先建個 test1.txt ,裡面放個1000意思一下

2. 程式碼如下 :

#include <iostream>

using namespace std;

class eCash {
    public:
        eCash() {
            Money = 0;
            file = fopen("test1.txt", "r");
            fscanf(file, "%d", &Money);
            fclose(file);
            ID = 123;        
        }

    int login() {
        int ID1 = 0;
        cout << "請輸入帳號登入:";
        cin >> ID1;
        if( ID1 == ID ) {
            cout << "Login Success!\n";
            return 0;
        }
        else {
            cout << "Login Error!\n";
            logout();
        }
    }
    int logout() {
        cout << "Thanks, Bye Bye.\n";
        return 1;
    }
    void save( int Money1 ) {
        file = fopen("test1.txt", "w+");
        fscanf(file, "%d", &Money);
        Money = Money + Money1;
        cout << "您的餘額還有" << Money << "元\n";
        fprintf(file,"%d", Money);
        fclose(file);
    }
    void consume( int Money1 ) {
        if( Money >= Money1 ) {
        file = fopen("test1.txt", "w+");
        fscanf(file, "%d", &Money);
            Money = Money - Money1;
            cout << "您的餘額還有" << Money << "元\n";
        fprintf(file, "%d", Money);
        fclose(file);
        }
        else {
            cout << "您的餘額不足喔!只有" << Money << "元\n";
        }
    }
    void query() {
        file = fopen("test1.txt", "r");
        fscanf(file,"%d", &Money);
        cout << "您的餘額還有" << Money << "元\n";
        fclose(file);
    }

    private:
        int Money;
        int ID;
        FILE *file;
};

int main() {
    int Money1 = 0;
    char input = ' ';
    eCash ecash;
   
    if( ecash.login() == 0 ) {
   
    do {
        cout << "===============\n";
        cout << "輸入's': 儲值\n";
        cout << "輸入'c': 消費\n";
        cout << "輸入'q': 查詢餘額\n";
        cout << "輸入'e': 離開\n";
        cout << "===============\n";
        cout << "請輸入您的選擇:";
        cin >> input;
        switch( input ) {
            case 's':
                cout << "請輸入儲值金額:";
                cin >> Money1;
                ecash.save(Money1);
                break;
            case 'c':
                cout << "請輸入您的消費金額:";
                cin >> Money1;
                ecash.consume(Money1);
                break;
            case 'q':
                ecash.query();
                break;
            case 'e':
                ecash.logout();
                break;
        }
    } while( input != 'e' );
}
return 0;
}

arrow
arrow
    全站熱搜

    Walter Blyss 發表在 痞客邦 留言(2) 人氣()