C# :: Aufgabe #338 :: Lösung #4
4 Lösungen
#338
Mobilfunkanbieter (Monatsabrechnung)
Anfänger - C#
von JKooP
- 07.11.2020 um 09:42 Uhr
Ein Mobilfunkanbieter stellt folgende Pakete zur Verfügung:
Paket-Typ....Basispreis....Freiminuten....Minutenpreis
P_Basis........2,95€..............0...................0,10€
P_100..........3.95€.............100................0,12€
P_300..........7,95€.............300................0,15€
P_600..........12,95€...........600................0,20€
P_Flat..........29,95€...........unbegrenzt.....0,00€
Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden.
Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden.
Viel Spaß
Paket-Typ....Basispreis....Freiminuten....Minutenpreis
P_Basis........2,95€..............0...................0,10€
P_100..........3.95€.............100................0,12€
P_300..........7,95€.............300................0,15€
P_600..........12,95€...........600................0,20€
P_Flat..........29,95€...........unbegrenzt.....0,00€
Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden.
Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden.
Viel Spaß
#4
von votus (40 Punkte)
- 23.02.2021 um 10:01 Uhr
using System;
namespace Mobilfunkabrechnung
{
class Program
{
static void Main(string[] args)
{
//VARIABLENDEKLARATION
double paket = 0;
double paketauswahl;
double minuten;
double rechnungsbetrag;
double P_Basis = 2.95;
double P_BasisMinute = 0.1;
double P_BasisFrei = 0;
double P_100 = 3.95;
double P_100Minute = 0.12;
double P_100Frei = 100;
double P_300 = 7.95;
double P_300Minute = 0.15;
double P_300Frei = 300;
double P_600 = 12.95;
double P_600Minute = 0.20;
double P_600Frei = 600;
double P_Flat = 29.95;
//Willkommensmenu
Console.WriteLine("Willkommen im Mobilfunkrechner!\nTarife:\t\t[1] Paket Basis\n\t\t[2] Paket 100\n\t\t[3] Paket 300\n\t\t[4] Paket 600\n\t\t[5] Paket All-Net\n");
//Tarifauswahl
do
{
Console.WriteLine("Welchen Tarif hast du: ");
paketauswahl = Convert.ToDouble(Console.ReadLine());
} while (paketauswahl != 1 && paketauswahl != 2 && paketauswahl != 3 && paketauswahl != 4 && paketauswahl != 5);
switch (paketauswahl)
{
case 1:
Console.WriteLine("Du hast das Basis Paket ausgewählt!");
paket = P_Basis;
break;
case 2:
Console.WriteLine("Du hast das Paket 100 ausgewählt!");
paket = P_100;
break;
case 3:
Console.WriteLine("Du hast das Paket 300 ausgewählt!");
paket = P_300;
break;
case 4:
Console.WriteLine("Du hast das Paket 600 ausgewählt!");
paket = P_600;
break;
case 5:
Console.WriteLine("Du hast das All-Net Paket ausgewählt!");
paket = P_Flat;
break;
}
// Minutenangabe Telefonie
Console.WriteLine("Wie viele Minuten hast du telefoniert: ");
minuten = Convert.ToDouble(Console.ReadLine());
// Paketauswahl + Berechnung
if (paketauswahl == 1)
{
Console.WriteLine("In deinem Paket sind " + P_BasisFrei + " Freiminuten inbegriffen!"); // Ausgabe der Freiminuten
Console.WriteLine("\nBasispreis = " + P_Basis + " Euro\nPreis pro Minute = " + P_BasisMinute + "Euro."); // Erneute Preisausgabe
rechnungsbetrag = paket + ((minuten - P_BasisFrei) * P_BasisMinute); // Rechnungsbetrag wird berechnet (Paket = Tarifpreis)
Console.WriteLine("\nEndbetrag = " + rechnungsbetrag + " Euro");// Ausgabe des Endbetrags
}
else if (paketauswahl == 2)
{
Console.WriteLine("In deinem Paket sind " + P_100Frei + " Freiminuten inbegriffen!"); // Ausgabe der Freiminuten
Console.WriteLine("\nBasispreis = " + P_100 + " Euro\nPreis pro Minute = " + P_100Minute + "Euro."); // Erneute Preisausgabe
if (minuten <= P_100Frei) // Wenn weniger als 100 Minuten telefoniert wurde, dann keine extrakosten.
{
rechnungsbetrag = paket;
}
else // Wenn mehr als 100 Minuten telefoniert wurde, dann 100 Freiminuten abziehen und dann berechnen.
{
rechnungsbetrag = paket + ((minuten - P_100Frei) * P_100Minute);
}
Console.WriteLine("\nEndbetrag = " + rechnungsbetrag + " Euro"); // Ausgabe des Endbetrags
}
else if (paketauswahl == 3)
{
Console.WriteLine("In deinem Paket sind " + P_300Frei + " Freiminuten inbegriffen!");
Console.WriteLine("\nBasispreis = " + P_300 + " Euro\nPreis pro Minute = " + P_300Minute + "Euro.");
if (minuten <= P_300Frei)
{
rechnungsbetrag = paket;
}
else
{
rechnungsbetrag = paket + ((minuten - P_300Frei) * P_300Minute);
}
Console.WriteLine("\nEndbetrag = " + rechnungsbetrag + " Euro");
}
else if (paketauswahl == 4)
{
Console.WriteLine("In deinem Paket sind " + P_600Frei + " Freiminuten inbegriffen!");
Console.WriteLine("\nBasispreis = " + P_600 + " Euro\nPreis pro Minute = " + P_600Minute + "Euro.");
if (minuten <= P_600Frei)
{
rechnungsbetrag = paket;
}
else
{
rechnungsbetrag = paket + ((minuten - P_600Frei) * P_600Minute);
}
Console.WriteLine("\nEndbetrag = " + rechnungsbetrag + " Euro");
}
else if (paketauswahl == 5)
{
Console.WriteLine("In deinem Paket sind UNBEGRENZT Freiminuten inbegriffen!");
Console.WriteLine("\nBasispreis = " + P_Flat + "Euro\nPreis pro Minute = 0.00 Euro.");
rechnungsbetrag = paket;
Console.WriteLine("\nEndbetrag = " + rechnungsbetrag + " Euro");
}
Console.ReadKey(); // Konsolenfenster wird nicht geschlossen, da auf einen Tastendruck gewartet wird.
}
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
