/* Programmablauf des Bruchrechners. Läuft solange bis der User das Programm beendet. */ public void run(ref Bruch bruch1, ref Bruch bruch2, ref Bruch ergebnis) { Main rechnen = new Main(); rechnen.Splash(); while (true) { int op = rechnen.Menu(); if (op == 5) { break; } rechnen.Bruch_EingabeFormat(); rechnen.Bruch_eingeben(ref bruch1, ref bruch2); rechnen.Bruch_ausgeben(bruch1, bruch2); switch (op) { case 1: rechnen.Addition(bruch1, bruch2, ref ergebnis); break; case 2: rechnen.Subtraktion(bruch1, bruch2, ref ergebnis); break; case 3: rechnen.Multiplikation(bruch1, bruch2, ref ergebnis); break; case 4: rechnen.Division(bruch1, bruch2, ref ergebnis); break; default: Console.WriteLine("Wrong operator"); break; } rechnen.Kuerzen(ref ergebnis); rechnen.Ergebnis_ausgeben(ergebnis); Console.ReadKey(true); } }
/* Subtrahiert Bruch 1 von Bruch 2*/ public void Subtraktion(Bruch bruch1, Bruch bruch2, ref Bruch ergebnis) { ergebnis.zaehler = bruch1.zaehler * bruch2.nenner - bruch2.zaehler * bruch1.nenner; ergebnis.nenner = bruch1.nenner * bruch2.nenner; }
/* Dividiert Bruch 1 durch Bruch */ public void Division(Bruch bruch1, Bruch bruch2, ref Bruch ergebnis) { ergebnis.zaehler = bruch1.zaehler * bruch2.nenner; ergebnis.nenner = bruch1.nenner * bruch2.zaehler; }
/* Multipliziert 2 Brüche miteinander */ public void Multiplikation(Bruch bruch1, Bruch bruch2, ref Bruch ergebnis) { ergebnis.zaehler = bruch1.zaehler * bruch2.zaehler; ergebnis.nenner = bruch1.nenner * bruch2.nenner; }