static bool BerechneMitOutParametern(double z1, double z2, Rechenoperationen operation, out double result) { result = 0; //Unbedingt switch als Snippet benutzen bei Enumerationen! switch (operation) { case Rechenoperationen.Add: result = z1 + z2; return(true); case Rechenoperationen.Subtr: result = z1 - z2; return(true); case Rechenoperationen.Mult: result = z1 * z2; return(true); case Rechenoperationen.Div: //Division durch 0 ergibt bei Gleitkommazahlen Unendlich (8) if (z2 == 0) { return(false); } result = z1 / z2; return(true); default: return(false); } }
public static double Berechne(double zahl1, double zahl2, Rechenoperationen operation) { switch (operation) { case Rechenoperationen.Addition: return(zahl1 + zahl2); case Rechenoperationen.Subtraktion: return(zahl1 - zahl2); case Rechenoperationen.Multiplikation: return(zahl1 * zahl2); case Rechenoperationen.Division: if (zahl2 == 0) { Console.WriteLine("Division durch 0 ist nicht erlaubt!"); return(0); } return(zahl1 / zahl2); default: return(0); } }
static double Berechne(double z1, double z2, Rechenoperationen operation) { //Unbedingt switch als Snippet benutzen bei Enumerationen! switch (operation) { case Rechenoperationen.Add: return(z1 + z2); case Rechenoperationen.Subtr: return(z1 - z2); case Rechenoperationen.Mult: return(z1 * z2); case Rechenoperationen.Div: //Division durch 0 ergibt bei Gleitkommazahlen Unendlich (8) if (z2 == 0) { throw new Exception("Division durch Null ist nicht erlaubt!"); } return(z1 / z2); default: throw new Exception("Ungültige Operation"); } }
static void Main(string[] args) { //EnumMitMehrerenWertenGleichzeitig(); //TestDerNachgebautenWriteLineMethode(); Console.Write("1. Zahl: "); double zahl1 = double.Parse(Console.ReadLine()); Console.Write("2. Zahl: "); double zahl2 = double.Parse(Console.ReadLine()); #region Alternativ mit TryParse //double number1; //while (!double.TryParse(Console.ReadLine(), out number1)) //{ // Console.WriteLine("Gebe Zahl erneut ein!"); //} //double number2; //while (!double.TryParse(Console.ReadLine(), out number2)) //{ // Console.WriteLine("Gebe Zahl erneut ein!"); //} #endregion //Rechenoperation eingeben Console.WriteLine("Addition: 1\nSubtraktion: 2\nMultiplikation: 3\nDivision 4"); Console.Write("Rechenoperation: "); int operationAlsInt = int.Parse(Console.ReadLine()); //Caste Integer zu Rechenoperation Rechenoperationen operation = (Rechenoperationen)operationAlsInt; double result = Berechne(zahl1, zahl2, operation); Console.WriteLine($"Ergebnis: {result}"); double result2; if (BerechneMitOutParametern(zahl1, zahl2, operation, out result2)) { Console.WriteLine($"Ergebnis: {result2}"); } else { Console.WriteLine("Es ist ein Fehler aufgetreten!"); } Console.ReadKey(); }
static void Main(string[] args) { Console.Write("Bitte geben Sie eine Gleitkommazahl ein: "); double zahl1 = double.Parse(Console.ReadLine()); Console.Write("Bitte geben Sie eine 2. Gleitkommazahl ein: "); double zahl2 = double.Parse(Console.ReadLine()); Console.WriteLine("Bitte geben sie die Nummer der gewünschten Operation ein: "); Console.WriteLine("1: Addition"); Console.WriteLine("2: Subtraktion"); Console.WriteLine("3: Multiplikation"); Console.WriteLine("4: Division"); Rechenoperationen operation = (Rechenoperationen)int.Parse(Console.ReadLine()); Console.WriteLine($"Ergebnis: {Berechne(zahl1, zahl2, operation)}"); Console.ReadKey(); }