diff --git a/Calculator_Update/sinus.cpp b/Calculator_Update/sinus.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..d7dd4114807ef9981965d746d80772af775f332c
--- /dev/null
+++ b/Calculator_Update/sinus.cpp
@@ -0,0 +1,28 @@
+#include "sinus.h"
+
+Sinus::Sinus(Modus m): berechnungsart(m)
+{
+
+}
+Sinus::Sinus()
+{
+
+}
+
+double Sinus::operator()(double arg) const
+{
+    double erg;
+    switch (berechnungsart) {
+        case bogenmass: erg = sin(arg); break;
+        case grad: erg = sin(arg / 180.0 * M_PI); break;
+        // bei Neugrad geht der Winkel von 0 bis 400 grad
+        // das Neugrad ist das Hundertstel des rechten Winkels
+        case neugrad: erg = sin(arg / 200.0 * M_PI); break; 						default:; // kann hier nicht vorkommen
+    }
+    return erg;
+}
+
+Sinus::Modus Sinus::getModus() const
+{
+    return berechnungsart;
+}