👤

(In C#)O firmă de taxi taxează în funcție de numărul de kilometrii. În plus are tarife diferențiate pentru zi și pentru noapte.

Pe timp de zi (între 8:00 și ora 21:00) tarifele sunt:

1-20km - 5 lei / km
21-60km - 4 lei / km dar se taxează dus și întors
peste 60km - 3 lei / km se taxează dus și întors
Pe timp de noapte (între ora 21:00 și 8:00) tarifele sunt:

1-20km - 7 lei / km
21-60km - 5 lei / km dar se taxează dus și întors
peste 60km - 4 lei / km se taxează dus și întors
Scrie o aplicație consolă ce primește ca date de intrare ora din zi (fără minute) și distanța ce trebuie parcursă și calculează tariful.

Exemplu:
Pentru datele de intrare:
14
3
La consolă se va afișa:
15


Răspuns :

Codul:

using System;

class Program

{

static void Main()

{

Console.Write("Introduceți ora (fără minute): ");

int ora = Convert.ToInt32(Console.ReadLine());

Console.Write("Introduceți distanța parcursă (în km): ");

int distanta = Convert.ToInt32(Console.ReadLine());

double tarif = CalculeazaTarif(ora, distanta);

Console.WriteLine($"Tariful pentru călătoria dvs. este: {tarif} lei");

}

static double CalculeazaTarif(int ora, int distanta)

{

double tarif;

if (ora >= 8 && ora < 21) // Timp de zi

{

if (distanta <= 20)

tarif = distanta * 5;

else if (distanta <= 60)

tarif = 20 * 5 + (distanta - 20) * 4 * 2; // Se taxează dus și întors

else

tarif = 20 * 5 + (60 - 20) * 4 * 2 + (distanta - 60) * 3 * 2; // Se taxează dus și întors

}

else // Timp de noapte

{

if (distanta <= 20)

tarif = distanta * 7;

else if (distanta <= 60)

tarif = 20 * 7 + (distanta - 20) * 5 * 2; // Se taxează dus și întors

else

tarif = 20 * 7 + (60 - 20) * 5 * 2 + (distanta - 60) * 4 * 2; // Se taxează dus și întors

}

return tarif;

}

}