開發一個簡單的民航訂票系統,核心功能包含:
customer.txt;超 2 次禁止訂票。struct Visitor {
char IDnumber[19]; // 18 位 + '\0'
int boughtNum; // 已購票數
int creditLost; // 失信次數
};
struct Flight {
string flightNumber;
string company;
int startMonth, startDay, startHour, startMinute;
string arriveTime;
string departCity, arriveCity;
int price;
int ticketsLeft;
bool isDelayed;
};
customer.txt,若該身份證失信次數 ≥ 2,拒絕。boughtNum >= 2,拒絕。Flight,確認余票 > 0。ticketsLeft--、boughtNum++、寫入訂單檔、更新 customer.txt。ticketsLeft++、boughtNum--、標記訂單為已退、更新檔案。loadCustomers()、saveCustomers()、loadFlights()、saveFlights()。time_t 或 chrono,避免手動拆解年月日時分。getline(cin, str) 並去除空白,而非逐字元 getch()。將複雜業務拆解為「驗證 → 檢查 → 執行 → 持久化」四步,每步單獨成函式,主流程清晰易維護。先把核心邏輯跑通,再補充異常處理與介面美化。