C# Dersleri 25 - Uçak Bilet Fiyatı Hesaplayan Program


C# ile Uçak Bileti Fiyatı Hesaplama

C# ile mesafeye ve şartlara göre uçak bileti fiyatı hesaplayan bir program geliştirmek, hem algoritmik düşüncenizi geliştirmek hem de kullanıcı girdileriyle çalışma becerinizi artırmak için harika bir adımdır.

Programın İşleyişi ve Gereksinimleri

  • Girdi Değerleri: Kullanıcıdan mesafe (KM), yaş ve yolculuk tipi (1: Tek Yön, 2: Gidiş-Dönüş) bilgileri alınır.
  • Kontrol Şartları: Mesafe ve yaş pozitif olmalı, yolculuk tipi yalnızca 1 veya 2 olmalıdır. Aksi durumda, kullanıcıya "Invalid Data Entered!" mesajı gösterilir.
  • Fiyat Hesaplama:
    • Mesafe başına ücret: 0.10 TL / KM
    • 12 yaşından küçükler için %50 indirim
    • 12-24 yaş arası için %10 indirim
    • 65 yaş üstü için %30 indirim
    • Gidiş-dönüş seçimi için ek %20 indirim

Uygulama Kodu

using System;

class FlightTicketCalculator
{
    static void Main()
    {
        Console.Write("Enter distance in km: ");
        int distance = int.Parse(Console.ReadLine());

        Console.Write("Enter your age: ");
        int age = int.Parse(Console.ReadLine());

        Console.Write("Enter travel type (1 => One Way, 2 => Round Trip): ");
        int travelType = int.Parse(Console.ReadLine());

        if (distance <= 0 || age <= 0 || (travelType != 1 && travelType != 2))
        {
            Console.WriteLine("Invalid Data Entered!");
            return;
        }

        double baseFare = distance * 0.10;
        double ageDiscountRate = 0;

        if (age < 12) ageDiscountRate = 0.50;
        else if (age >= 12 && age <= 24) ageDiscountRate = 0.10;
        else if (age > 65) ageDiscountRate = 0.30;

        double discountedFare = baseFare - (baseFare * ageDiscountRate);

        if (travelType == 2)
        {
            discountedFare -= discountedFare * 0.20;
            discountedFare *= 2;
        }

        Console.WriteLine("Total Fare = " + discountedFare + " TL");
    }
}

Örnek Kullanım Senaryoları

Senaryo 1

  • Mesafe: 1500
  • Yaş: 20
  • Yolculuk Tipi: 2

Sonuç: Toplam Ücret = 216 TL

Senaryo 2

  • Mesafe: -500
  • Yaş: 1
  • Yolculuk Tipi: 77

Sonuç: Invalid Data Entered!

Senaryo 3

  • Mesafe: 200
  • Yaş: 35
  • Yolculuk Tipi: 1

Sonuç: Toplam Ücret = 20.0 TL