Brug af switch
Jeg har et problem med mit program, det vil ikke gå ind den switch jeg har lavet:#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
int main()
{
FILE *fp1;
FILE *fp2;
int fx, fy, fc;
double xa,xb,ya,yb, deltax, deltay, vektorrad, vektorgon;
double PI = 3.141592653589793;
fp1 = fopen("Inddata.txt", "r");
fp2 = fopen("UDDATA.txt", "w");
fscanf(fp1, "%lf %lf %lf %lf", &xa, &xb, &ya, &yb);
deltax = xb-xa;
deltay = yb-ya;
vektorrad = atan(deltay/deltax); //vektor i radianer
vektorgon = (vektorrad/((2*PI)/400)); //fra radianer til gon
if (vektorgon<0)
vektorgon==(vektorgon+400);
fx = (deltax==0)? 0:((xa<xb)?1:-1);
fy = (deltay==0)? 0:((ya<yb)?1:-1);
fc = (fx==0 && fy==0)?0:(fx==0 && fy==1)?1:(fx==0 && fy==(-1))?2:
(fy==0 && fx==1)?3:(fy==0 && fx==(-1))?4:(fx==1 && fy==1)?5:
(fx==(-1) && fy==1)?6:(fx==(-1) && fy==(-1))?7:8;
fprintf(fp2, "%i",fc); // test af fc for at se, om den får den
// rigtige værdi
switch(fc)
{
case '0' :
fprintf(fp2, "Fejl! Der er sammenfald mellem de to punkter");
break;
case '1' :
fprintf(fp2, "Vektoren er parallel med y-aksen i positiv retning");
break;
case '2' :
fprintf(fp2, "Vektoren er parallel med y-aksen i negativ retning");
break;
case '3' :
fprintf(fp2, "Vektoren er parallel med x-aksen i positiv retning");
break;
case '4' :
fprintf(fp2, "Vektoren er parallel med x-aksen i negativ retning");
break;
case '5' :
fprintf(fp2, "Vektoren befinder sig i kvadrant 1");
break;
case '6' :
fprintf(fp2, "Vektoren befinder sig i kvadrant 2");
break;
case '7' :
fprintf(fp2, "Vektoren befinder sig i kvadrant 3");
break;
case '8' :
fprintf(fp2, "Vektoren befinder sig i kvadrant 4");
break;
}
return 0;
}
Jeg får skrevet fc ud og den får den værdi den skal, men programmet vil ikke gå ind i min switch.
Er der nogen, der kan se hvad der er galt?
På forhånd tak for hjælpen