diff --git a/Taschenrechner/ConsoleView.cs b/Taschenrechner/ConsoleView.cs index af5ead5..5c88e55 100644 --- a/Taschenrechner/ConsoleView.cs +++ b/Taschenrechner/ConsoleView.cs @@ -54,8 +54,8 @@ public void HoleEingabenFuerFortlaufendeBerechnung() } else { - model.ErsteZahl = model.Resultat; - model.ZweiteZahl = Convert.ToDouble(eingabe); + model.ErsteZahl = Convert.ToDouble(HoleZahlVomBenutzer()); + model.ZweiteZahl = model.Resultat; } } @@ -94,7 +94,7 @@ private string HoleOperatorVomBenutzer() do { - Console.Write("Bitte gib die auszuführende Operation ein (+, -, /, *): "); + Console.Write("Bitte gib die auszuführende Operation ein (+, -, /, *, m): "); operation = Console.ReadLine(); model.Operation = operation; @@ -128,6 +128,10 @@ public void GibResultatAus() Console.WriteLine("Das Produkt ist: {0}", model.Resultat); break; + case "m": + Console.WriteLine("Der Rest von Zahl1 nach Division durch Zahl2 ist: {0}", model.Resultat); + break; + default: Console.WriteLine("Du hast eine ungültige Auswahl der Operation getroffen."); break; diff --git a/Taschenrechner/RechnerModel.cs b/Taschenrechner/RechnerModel.cs index 606e186..ca9b0b2 100644 --- a/Taschenrechner/RechnerModel.cs +++ b/Taschenrechner/RechnerModel.cs @@ -71,6 +71,7 @@ public string Operation case "-": case "/": case "*": + case "m": // Es wurde eine gültige Operation übergeben. Daher können wir // den Fehler zurücksetzen ... if (AktuellerFehler == Fehler.UngueltigeOperation) @@ -121,6 +122,10 @@ public void Berechne() Resultat = Multipliziere(ErsteZahl, ZweiteZahl); break; + case "m": + Resultat = Modulo((int)ErsteZahl, (int)ZweiteZahl); + break; + default: AktuellerFehler = Fehler.UngueltigeOperation; break; @@ -167,5 +172,10 @@ private double Multipliziere(double multiplikator, double multiplikand) { return multiplikator * multiplikand; } + + private int Modulo(int dividend, int divisor) + { + return dividend % divisor; + } } }