Code:
#include <stdio.h>#include <math.h>
#include <stdlib.h>
#define TOTAL_DEG (180.0)
double berechnung_length(double a, double b, double gamma, double c)
{
c = sqrt(a * a + b * b - (2 * a * b * cos(gamma)));
return c;
}
double berechnung_alpha(double a, double b, double c, double gamma, double alpha)
{
alpha = gamma * acos((double)(b * b + c * c - a * a) / (2.0 * b * c));
return alpha;
}
double berechnung_beta(double gamma, double alpha, double beta)
{
beta = - gamma - alpha + TOTAL_DEG;
return beta;
}
//void triangle_1 (double a, double b,double c, double gamma, double *cc, double *alpha, double *beta)
// {
//
// *cc= sqrt((a*a+b*b-(2*a*b*cos(gamma))));
// *alpha =(gamma)*(acos((double)(b*b +(c)*(c)- a*a)/(2.0*b*c)));
// *beta = -gamma-*alpha+TOTAL_DEG;
//
// }
int main()
{
double a,b,c,gamma;
double laenge, alpha, beta;
printf("Bitte gib a, b und gamma eines Dreiecks ein\n");
scanf("%lf %lf %lf",&a,&b,&gamma);
laenge = berechnung_length(a,b,gamma, c);
alpha = berechnung_alpha(a,b,c,gamma, alpha);
printf("a = %lf\t b = %lf\t gamma = %lf \t",a,b,gamma);
printf("Daraus folgt c = %lf, alpha = %lf und beta = %lf", laenge, alpha, beta);
return 0;
}
so i changed it up a bit, left my old weird stuff in with the //'s
seems to kinda be working now, but idk if its my fault but it keeps returning -1.#IND00 or 0.00000 as the calculation
*edit the c calculation is working