C# :: Aufgabe #338 :: Lösung #4

4 Lösungen Lösungen öffentlich
#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ß


#4
vote_ok
von votus (40 Punkte) - 23.02.2021 um 10:01 Uhr
Quellcode ausblenden C#-Code
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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben