C# :: Aufgabe #284 :: Lösung #3
8 Lösungen

#284
Preise im Copy-Shop für Kopien
Anfänger - C#
von DragStar
- 20.03.2020 um 11:53 Uhr
In einem Copy-Shop gilt folgende Preisliste:
01 - 49 Seiten kostet 0,10 Euro pro Seite
50 - 99 Seiten kostet 0,09 Euro pro Seite
100 - 199 Seiten kostet 0,08 Euro pro Seite
ab 200 Seiten kostet 0,06 Euro pro Seite
Erstellen Sie ein Programm, welches nach Eingabe der Anzahl der Kopien den Gesamtpreis ausgibt.
01 - 49 Seiten kostet 0,10 Euro pro Seite
50 - 99 Seiten kostet 0,09 Euro pro Seite
100 - 199 Seiten kostet 0,08 Euro pro Seite
ab 200 Seiten kostet 0,06 Euro pro Seite
Erstellen Sie ein Programm, welches nach Eingabe der Anzahl der Kopien den Gesamtpreis ausgibt.
#3

von charlyP (250 Punkte)
- 25.03.2020 um 02:19 Uhr

using System; namespace CopyShop { class Program { static void Main(string[] args) { // Preise pro Seite double lot1 = 0.1; // bei 1 bis 49 Seiten double lot2 = 0.09; // bei 50 bis 99 Seiten double lot3 = 0.08; // bei 100 bis 199 Seiten double lot4 = 0.06; // bei ab 200 Seiten // Endlosschleife Loop: string eingabe = null; double numberCopies, numberCopiesLong = 0; double preis = 0; // Eingabe der Kopienzahl Console.WriteLine("Bitte Anzahl der Kopien eingeben:"); eingabe = Console.ReadLine(); // Umwandlung des Eingabestrings in eine Double-Zahl try { numberCopiesLong = double.Parse(eingabe); } // Abfangen einer Eingabe, die eine Exception verursachen würde catch (FormatException) { Console.WriteLine("Fehlerhafte Eingabe. Bitte wiederholen."); Console.WriteLine(); goto Loop; } // Umwandlung in eine Ganzzahl (sicherheitshalber) numberCopies = Math.Round(numberCopiesLong, 0); // Überprüfung, ob eine Kommazahl eingegeben wurde if ((numberCopiesLong - numberCopies) != 0) { Console.WriteLine("Ungültige Eingabe. Bitte wiederholen."); Console.WriteLine(); goto Loop; } if (numberCopies <= 0) { Console.WriteLine("Ungültige Eingabe. Bitte wiederholen."); Console.WriteLine(); goto Loop; } else if (numberCopies < 50) { preis = numberCopies * lot1; } else if (numberCopies < 100) { preis = numberCopies * lot2; } else if (numberCopies < 200) { preis = numberCopies * lot3; } else if (numberCopies >= 200) { preis = numberCopies * lot4; } // "Notbremse", sollte eigentlich nie auftreten können else { Console.WriteLine("Unbekannter Fehler"); } Console.WriteLine("Anzahl Kopien: " + numberCopies + " , Preis: " + Math.Round(preis, 2) + " Euro"); Console.WriteLine(); goto Loop; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1