Einzelnen Beitrag anzeigen
Ungelesen 11.09.10, 13:29   #5
CJ3
Newbie
 
Registriert seit: Feb 2010
Beiträge: 66
Bedankt: 34
CJ3 gewöhnt sich langsam dran | 36 Respekt Punkte
Standard

Ich hab jetzt alles in Funktionen aufgeteilt und (hoffentlich) es damit übersichtlicher gemacht

Code:
#include <stdio.h>
#include <stdlib.h>

     char response, response2;
	 float a, a2, b, b2, c, c2, h, p, q;
	 
	void secside() {
         printf("Andere Seite:");
         scanf("%c",&response2);
}         
          
    void funcab() {
 printf("\na:");
		scanf("%f",&a);
		printf("\nb:");
		scanf("%f",&b);
		fflush(stdin);
		c2=(a*a + b*b);
		c= sqrt(c2);
		p=(a*a)/c;
		q=c-p;
		h=p*q;
		printf("\nc:%f\np:%f\nq:%f\nh:%f\n",c,p,q,h);
}

void funcac() {
            printf("\na:");
			scanf("%f",&a);
			printf("\nc:");
			scanf("%f",&c);
			fflush(stdin);
			b2= c*c - a*a;
			b= sqrt(b2);
			p=(a*a)/c;
			q=c-p;
			h=p*q;
			printf("\nb:%f\np:%f\nq:%f\nh:%f \n",b,p,q,h);     
}

void funcbc() {
                printf("\nb:");
				scanf("%f",&b);
				printf("\nc:");
				scanf("%f",&c);
				fflush(stdin);
				a2= c*c - b*b;
				a= sqrt(a2);
				p=(a*a)/c;
				q=c-p;
				h=p*q;
				printf("\na:%f\np:%f\nq:%f\nh:%f \n",a,p,q,h);     
}     

void funcah() {
                    printf("\na:");
					scanf("%f",&a);
					printf("\nh:");
					scanf("%f",&h);
					fflush(stdin);
					p= sqrt(a*a - h*h);
					fflush(stdin);
					c= (a*a)/p;
					fflush(stdin);
					q=c-p;
					fflush(stdin);
					b= sqrt(c*c - a*a);
					printf("\nb:%f\np:%f\nq:%f\nc:%f \n",b,p,q,c);
					fflush(stdin);
}

void funcbh() {
						printf("\nb:");
						scanf("%f",&b);
						printf("\nh:");
						scanf("%f",&h);
						fflush(stdin);
						q= sqrt(b*b - h*h);
						fflush(stdin);
						c= (b*b)/q;
						fflush(stdin);
						p=c-q;
						fflush(stdin);
						a= sqrt(c*c - b*b);
						printf("\na:%f\np:%f\nq:%f\nc:%f \n",a,p,q,c);     
}

void funcch() {
							printf("\nc:");
							scanf("%f",&c);
							printf("\nh:");
							scanf("%f",&h);
							fflush(stdin);
							q= c-(h/q);
							fflush(stdin);
							p= c-q;
							fflush(stdin);
							a= sqrt(c*p);
							fflush(stdin);
							b= sqrt(c*c - a*a);
							printf("\nb:%f\np:%f\nq:%f\na:%f \n",b,p,q,a);     
} 


int main(int argc, char *argv[])
{    

	printf("Dreiecksberechner ;) Ich rechne fuer sie die Seiten im rechtwinkligen Dreieck aus ^-^\nNote: a^2=c*p\n\n\n");
	printf("Welche zwei Seiten wissen sie?\n");
	printf("Erste Seite:");
	scanf("%c",&response);
	switch(response)
	{
          case 'a' : secside();
          scanf("%c",&response2);
                     switch(response2)
                     {
                                       case 'b' :funcab();
                                       break;
                                       case 'c' :funcac();
                                       break;
                                       case 'h' :funcah();
                                       break;
                                       }
                     break;
                     
          case 'b' : secside();
          scanf("%c",&response2);
                     switch(response2)
                     {
                                      case 'a' :funcab();
                                      break;
                                      case 'c' :funcbc();
                                      break;
                                      case 'h' :funcbh();
                                      break;
                                      }
                     break;
                                      
          case 'c' : secside();
          scanf("%c",&response2);
                     switch(response2)
                     {
                                       case 'b' :funcbc();
                                       break;
                                       case 'a' :funcac();
                                       break;
                                       case 'h' :funcch();
                                       break;
                                       }
                     break;
                     
          case 'h' : secside();
          scanf("%c",&response2);
                     switch(response2)
                     {
                                       case 'a' :funcah();
                                       break;
                                       case 'b' :funcbh();
                                       break;
                                       case 'c' :funcch();
                                       break;
                                       }
                     break;
          
          
          }
    
      
  system("PAUSE");	
  return 0;
}
Jetzt weiß ich allerdings, wo der Fehler die ganze Zeit liegt, an den Formel.

Danke für deine Hilfe, jetzt weiß ich es besser^^
CJ3 ist offline   Mit Zitat antworten