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