#include <iostream>
#include <ctime>
using namespace std;
int main() {
    int temp;
    struct tm *local;
    time_t t;
    char* dt;
    while(true) {
        cout << "要執行下面哪項動作?\n1) 記帳 2) 觀看紀錄 3) 離開\n";
        cin >> temp;
        switch(temp) {
            case 1: {
                int type;
                int amount;
                cout << "紀錄 1) 今日帳款 2) 選擇日期\n";
                cin >> temp;
                switch(temp) {
                    case 1:
                        t = time(NULL);
                        dt = ctime(&t);
                        local = localtime(&t);
                        cout << 1900 + local->tm_year << "年" 
                             << 1 + local->tm_mon << "月"
                             << local->tm_mday << "日" << endl;
                        cout << "分類: 1) 食 2) 衣 3) 住 4) 行 5) 育 6) 樂 7) 其他\n";
                        cin >> type;
                        cout << "金額: ";
                        cin >> amount;
                        writeToFile(1900 + local->tm_year, 1 + local->tm_mon, type, amount);
                        break;
                    case 2: {
                        int getYear, getMonth;
                        cout << "年份: ";
                        cin >> getYear;
                        cout << "月份: ";
                        cin >> getMonth;
                        cout << "分類: 1) 食 2) 衣 3) 住 4) 行 5) 育 6) 樂 7) 其他\n";
                        cin >> type;
                        cout << "金額: ";
                        cin >> amount;
                        writeToFile(getYear, getMonth, type, amount);
                        break;
                    }
                }
                break;
            }
            case 2: {
                int year;
                int month;
                cout << "欲觀看年份: ";
                cin >> year;
                cout << "欲觀看月份(輸入 0 觀看整年紀錄): ";
                cin >> month;
                readFile(year, month);
                break;
            }
            case 3:
                exit(0);
                break;
        }
    }
    return 0;
}
說明:
程式的主選單提供三個選項:1.記帳,2.觀看紀錄,3.離開。當選擇記帳時,使用者可以選擇記錄當日款項或指定日期,並輸入分類與金額。當選擇觀看紀錄時,使用者可以輸入年份和月份來查看該時間段的記錄。如果輸入0,則查詢整年度的紀錄。最後,使用者可隨時選擇離開程式。
!!以上內容是跟著第一次學C++就上手第二版一起跟著實作!!
今天把記帳小專案做完了,我覺得進步蠻多的,一切都很順利!明天就來記錄最後一天的心得囉,期待完賽!