#include "stdafx.h"
#include <stdio.h>
#include <math.h>

int main(){
	double zahl1;
	double zahl2;
	double erg;
	double winkel;
	double sinuswert;
	double basis;
	double hochzahl;
	// Pi = 3,1415... definieren
	double pi = 2*asin(1.0);

	// Beispiel für Wurzelziehen
	zahl1 = 1.21;
	erg = sqrt(zahl1);
	printf("Wurzel aus %f ist %f\n", zahl1, erg);

	// Beispiel für Potenzieren
	basis = 3.0;
	hochzahl = 2.0;
	erg = pow(basis,hochzahl);
	printf("%f hoch %f ist %f\n", basis, hochzahl, erg);


	// Winkel in Grad: 30°
	winkel = 30.0;
	// Sinus von 30°berechnen
	sinuswert = sin(winkel * pi/180.0);
	// Zur Kontrolle auf dem Bildschirm ausgeben
	printf("Der Sinus von %f ist %f\n", winkel, sinuswert);

	// Sinuswert = 0,5. Dazugehörigen Winkel ausrechnen
	sinuswert = 0.5;
	winkel = 180.0/pi * asin(sinuswert);
	// Zur Kontrolle auf dem Bildschirm ausgeben
	printf("Der zum Sinuswert %f zugehoerige Winkel ist %f\n", sinuswert, winkel);

	// Feststellen, ob eine zahl1 eine ganze zahl1 ist:
        // floor(...) liefert die nächstgrößte ganze Zahl zurück.
	zahl1 = 7.12345;
	if(zahl1 == floor(zahl1))
		printf("Die Zahl %f ist eine ganze Zahl\n", zahl1);
	else
		printf("Die Zahl %f ist keine ganze Zahl\n", zahl1);

	zahl2 = 4;
	if(zahl2 == floor(zahl2))
		printf("Die Zahl %f ist eine ganze Zahl\n", zahl2);
	else
		printf("Die Zahl %f ist keine ganze Zahl\n", zahl2);

	// Kann man dies (ist eine Zahl eine ganze Zahlen) auch ohne floor feststellen?
	// Feststellen, ob eine zahl1 eine ganze zahl1 ist:
	zahl1 = -7.12345;
	if(zahl1 == (int)zahl1)
		printf("Die Zahl %f ist eine ganze Zahl\n", zahl1);
	else
		printf("Die Zahl %f ist keine ganze Zahl\n", zahl1);

	zahl2 = -4;
	if(zahl2 == (int)zahl2)
		printf("Die Zahl %f ist eine ganze Zahl\n", zahl2);
	else
		printf("Die Zahl %f ist keine ganze Zahl\n", zahl2);

	return 0;
}

