این پروژه یک سیستم جامع رزرواسیون هواپیما است که امکانات زیر را فراهم میکند:
- مدیریت مسافران
- مدیریت پروازها
- مدیریت رزروها
- سیستم گزارشگیری
- مدیریت کیف پول و استرداد وجه
- کامپایلر ++C با پشتیبانی از استاندارد C++17
- کتابخانه Catch2 (برای اجرای تستها)
- سیستمعامل Windows یا Linux
- کلون کردن مخزن:
git clone https://github.com/username/airline-system.git
cd airline-system- کامپایل پروژه:
g++ -o airline_system.exe main.cpp AirlineSystem.cpp FileManager.cpp Passenger.cpp Flight.cpp Reservation.cpp InputValidator.cpp -std=c++17- اجرای برنامه:
./airline_system- افزودن مسافر جدید
- جستجوی مسافران
- ویرایش اطلاعات مسافر
- حذف مسافر
- مدیریت کیف پول
- نمایش لیست تمام مسافران
- کد ملی: دقیقاً 10 رقم
- شماره پاسپورت: 8-9 کاراکتر
- جلوگیری از ثبت کد ملی یا شماره پاسپورت تکراری
- افزودن پرواز جدید
- جستجوی پروازها
- نمایش لیست پروازها
- حذف پرواز
- مدیریت ظرفیت و قیمت
- شماره پرواز: دو حرف و 3-4 عدد
- تاریخ پرواز: باید در آینده باشد
- تعداد صندلی: حداقل 1
- ایجاد رزرو جدید
- لغو رزرو
- نمایش لیست رزروها
- نمایش رزروهای یک مسافر خاص
- بیش از 48 ساعت مانده به پرواز: 90% بازگشت وجه
- بین 24 تا 48 ساعت: 50% بازگشت وجه
- کمتر از 24 ساعت: غیرقابل استرداد
-
گزارشهای رزرو:
- لیست تمام رزروها
- رزروهای آینده
- رزروهای انجام شده
- رزروهای لغو شده
-
گزارشهای پرواز:
- لیست مسافران یک پرواز
- پروازهای یک روز خاص
- پروازهای آینده
-
گزارشهای مسافر:
- سفرهای انجام شده
- سفرهای آینده
- سفرهای لغو شده
- مدیریت مسافران
- مدیریت پروازها
- مدیریت رزروها
- گزارشها
- خروج
-
کیف پول:
- مسافر باید قبل از رزرو، موجودی کافی داشته باشد
- شارژ کیف پول از طریق منوی مدیریت مسافران
-
لغو رزرو:
- مبلغ استردادی بر اساس فاصله زمانی تا پرواز محاسبه میشود
- مبلغ به صورت خودکار به کیف پول مسافر برمیگردد
-
ذخیرهسازی:
- اطلاعات به صورت خودکار در فایلهای CSV ذخیره میشود
- در هر بار اجرا، اطلاعات قبلی بازیابی میشود
برای اجرای تستها:
make testتستها شامل موارد زیر هستند:
- تستهای مدیریت مسافر
- تستهای مدیریت پرواز
- تستهای رزرواسیون
- تستهای سیاست استرداد
- تستهای اعتبارسنجی
- تستهای گزارشگیری
- کلاس AirlineSystem: مدیریت کلی سیستم
- کلاس Passenger: مدیریت اطلاعات مسافران
- کلاس Flight: مدیریت اطلاعات پروازها
- کلاس Reservation: مدیریت رزروها
- کلاس FileManager: مدیریت ذخیره و بازیابی اطلاعات
- کلاس InputValidator: اعتبارسنجی ورودیها
- ReservationNotFoundException
- FlightNotFoundException
- PassengerNotFoundException
- InsufficientBalanceException
- FlightCompletedException
- RefundNotAllowedException
- FileOperationException
- لاگ خطاها در کنسول
- بکآپ خودکار دادهها
- امکان بازیابی اطلاعات
- خطای "File not found": اطمینان از وجود پوشه data
- خطای "Invalid input": بررسی فرمت ورودیها
- خطای "Insufficient balance": شارژ کیف پول
- خطای "Reservation not found": بررسی شناسه رزرو