diff --git a/Sonderuebung/WiSe24-25/SU03_2024_11_05_IF_DO/03_taschenrechner_mit_case.f95 b/Sonderuebung/WiSe24-25/SU03_2024_11_05_IF_DO/03_taschenrechner_mit_case.f95 new file mode 100644 index 0000000000000000000000000000000000000000..47603240bb6c66bacb12a1b3093a61a9a50b6b07 --- /dev/null +++ b/Sonderuebung/WiSe24-25/SU03_2024_11_05_IF_DO/03_taschenrechner_mit_case.f95 @@ -0,0 +1,38 @@ +program taschenrechner + implicit none + + INTEGER :: a, b ! Variablen + CHARACTER :: op ! Operator + INTEGER :: res ! Result + LOGICAL :: calc = .true. + + WRITE(*,*) "Gebe zwei Zahlen ein!" + READ(*,*) a, b + + WRITE(*,*) "Gebe einen Rechenoperator (+,-,*,/) ein!" + READ(*,*) op + + SELECT CASE (op) + CASE("+") + res = a + b + CASE("-") + res = a - b + CASE("*") + res = a * b + CASE("/") + + IF (b == 0) THEN + WRITE(*,*) "Division durch 0 ist veboten!" + calc = .false. + ELSE + res = a / b + END IF + + CASE DEFAULT + WRITE(*,*) "Der Eingegebene Operator ist ungueltig." + calc = .false. + END SELECT + + IF (calc) WRITE(*,*) "Das Ergebnis ist ", res + +end program taschenrechner \ No newline at end of file