Nullstellen berechnen?



  • Hi Leute!

    Unten seht ihr meine Code der mir die Nullstellen einer ganz normalen quadratischen Funktion berechnen soll. Leider hab ich das Problem, dass mir mein Compiler die Funktion "funktion_berechnen" ohne einen für mich ersichtlichen Grund überspringt. Er ignoriert sie einfach. Keine Ahnung warum. Er geht einfach zum return 0; der main-Funktion weiter... Könnt ihr mir sagen wo mein Fehler liegt?

    #include<stdio.h>
    #include<math.h>
    
    void parameter_eingeben(double *a,  double *b,  double *c)
    {
    	printf("a = "); scanf("%lf", a);
    	printf("b = "); scanf("%lf", b);
    	printf("c = "); scanf("%lf", c);
    }
    
    void nullstellen_berechnen(double a,  double b,  double c)
    {
    	double x1 = 0, x2 = 0, x, disk;
    
    	disk = b*b - 4*a*c;
    
    	if(disk < 0)
    	{
    		printf("Fehler: Diskriminante < 0!");
    	}
    	else if(disk == 0)
    	{
    		x = ((-b) / (2*a));
    	}
    	else if(disk > 0)
    	{
    		x1 = ((-b) - sqrt(disk)) / (2*a);
    		x2 = ((-b) + sqrt(disk)) / (2*a);
    	}
    }
    
    int main ()
    {
    	double a = 0, b = 0, c = 0, x1 = 0, x2 = 0;
    
    	printf("----------------------------------------------------------------\n");
    	printf("Berechnung der Loesungen einer Gleichung der Form: a*x*x+b*x+c=0\n");
    	printf("----------------------------------------------------------------\n");
    
    	parameter_eingeben(&a, &b, &c);
    	printf("y = f(x) = %lf*x*x + %lf*x + %lf", a, b, c);
    	nullstellen_berechnen(a, b, c);
    
    return 0;
    }
    


  • Wie stellst du das denn fest? Liegt es daran, dass deiner Funktion keine Ausgaben macht?

    Mach doch mal vor dem if ein

    printf("nullstellen_berechnen(%f, %f, %f)\n", a , b, c);
    


  • du müsstest am ende der der funkrion nullstellen_berechnen nur noch x1 und x2 ausgeben 🙂



  • Danke Leute mittlerweile hab ichs!

    Danke!


Anmelden zum Antworten