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; +}