Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace LF5Toaster
- {
- public class Program
- {
- public static void Main()
- {
- // Neuen Toaster erstellen
- Console.WriteLine("Bitte neuen Toaster erstellen.");
- int toasterType;
- do
- {
- toasterType =
- ReadIntConsole("Möchten Sie einen normalen Toaster benutzen (1) oder einen Supertoaster (2): ");
- } while (toasterType != 1 && toasterType != 2);
- var schaechte = ReadIntConsole("Anzahl der Schächte: ");
- Console.Write("Farbe: ");
- var farbe = Console.ReadLine();
- var toaster = toasterType == 1 ? new Toaster(schaechte, farbe) : new SuperToaster(schaechte, farbe);
- // Toaster betreiben
- char? action;
- do
- {
- Console.WriteLine(string.Format("{0} (Schächte: {1}, Belegung: {2}, Dauer: {3}s, Farbe: \"{4}\")",
- toaster.GetType().Name, toaster.Schaechte, toaster.AnzahlToasts, toaster.Zeit, toaster.Farbe));
- // Nächste Toaster-Aktion ermitteln
- action = ReadActionConsole("Was soll jetzt geschehen? (e = Toastscheibe einlegen, t = " +
- "Toasten, r = Toastscheiben, z = Zeit einstellen, x = Beenden): ");
- try
- {
- switch (action)
- {
- case 'e': // Toastscheibe einlegen
- var scheiben = ReadIntConsole("Wie viele Toastscheiben sollen eingelegt werden?: ");
- toaster.ToastReintun(scheiben);
- break;
- case 't': // Toastvorgang starten
- toaster.Toasten();
- Console.WriteLine("Der Toastvorgang ist abgeschlossen.");
- break;
- case 'r': // Toastscheiben rausnehmen
- var toasts = toaster.ToastAuswerfen();
- foreach (var toast in toasts)
- Console.WriteLine(string.Format("Toast entnommen, Zustand: {0} ({1})",
- toast.Zustand, (int)toast.Zustand));
- break;
- case 'z': // Dauer von Toastvorgang einstellen
- var zeit = ReadIntConsole("Toastdauer in Sekunden: ");
- toaster.ToastZeitEinstellen(zeit);
- break;
- case 'x': // Ende
- Environment.Exit(0);
- break;
- }
- }
- catch (Exception ex) // Fehler beim Toasten aufgetreten
- {
- Console.WriteLine(ex.Message);
- }
- } while (true);
- }
- private static char? ReadActionConsole(string prompt)
- {
- Console.Write(prompt);
- var input = Console.ReadLine();
- if(input != null) input = input.ToLower();
- return string.IsNullOrEmpty(input) ? (char?)null : input[0];
- }
- private static int ReadIntConsole(string prompt)
- {
- var input = "";
- int inputInt;
- do
- {
- Console.Write(prompt);
- input = Console.ReadLine();
- } while (!int.TryParse(input, out inputInt));
- return inputInt;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement