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
