首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 實現航空訂票系統:結構體、輸入驗證與排序輸出

     編輯:關於C++

需求分析

  • 頭等艙 5 座 (1-5),經濟艙 20 座 (1-20)。
  • 輸入姓名 → 檢查重複 → 輸入艙位 (F/E) → 顯示可用座位 → 輸入座位號 → 完成訂票。
  • 姓名輸入 "." 結束,輸出所有訂票信息按艙位/座位排序。

數據結構設計

struct Seat { char type; int number; bool reserved; } seats[25];
struct Ticket { Seat seat; string passenger; } tickets[25];
int surplusF=5, surplusE=20;

核心流程函數

  • check(name):遍歷 tickets 檢查是否已訂票。
  • printSeat(type):輸出指定艙位未預訂座位號。
  • reservation(name, num, type):驗證座位合法性、可用性,更新狀態、減少餘額。
  • printTickets():按 type 後 number 排序輸出。

關鍵代碼片段

void input() {
    string name; cin>>name;
    if (name==".") return;
    if (check(name)) { printTickets(name); input(); return; }
    if (surplusF+surplusE==0) { cout<<"售罄\n"; return; }
    char type; cin>>type;
    if (type=='F' && surplusF) { printSeat('F'); int n; cin>>n; reservation(name,n,'F'); }
    else if (type=='E' && surplusE) { printSeat('E'); int n; cin>>n; reservation(name,n,'E'); }
    else { cout<<"無效輸入\n"; input(); }
    input(); // 遞歸處理下一位
}

完整代碼結構

包含初始化、遞歸輸入、驗證、預訂、排序輸出等模塊,總計約 150 行。使用 cin/cout、string、vector 等 C++ 標準庫,邏輯清晰。

總結

此作業展示了 C++ 面向過程編程實現業務邏輯:結構體建模實體、遞歸處理交互流程、標準庫排序輸出。雖未用類封裝,但結構清晰、功能完整,符合入門課程要求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved