Fehler im C Programm



  • #include<stdio.h>
    #include<math.h>

    void text(void)
    {
    printf("Bitte gib Fall ein\n");
    }

    void textfall(void)
    {
    printf("Bitte gib Zahl ein\n");
    }

    float Rechnung1(float a, float b)
    {
    return (a * b);

    }

    float Rechnung2(float a, float b)
    {
    return (a / b);
    }

    int main()
    {
    int Fall;
    float ergebnis1 = Rechnung1(x,y);
    float ergebnis2 = Rechnung2(x,y);
    text();
    scanf_s("%i", &Fall);

    switch (Fall)
    {
    
    case 1: 
    	textfall();
    	scanf_s("%f", &x);
    	textfall();
    	scanf_s("%f", &y);
    	Rechnung1(x, y);
    	printf("Die Anwort heißt: %f \n",ergebnis1);
    	break;
    case 2:
    	textfall();
    	scanf_s("%f", &x);
    	textfall();
    	scanf_s("%f", &y);
    	Rechnung2(x,y);
    	printf("Die Anwort heißt: %f \n", ergebnis2);
    	break;
    
    }
    
    
    return 0;
    

    }
    Hi,
    Was ist Falsch? 😃
    Danke und lg



  • Frag doch (d)einen Compiler.

    https://ideone.com/233set

    Der sagt dir das ganz genau...



  • #include<stdio.h>
    #include<math.h>

    void text(void)
    {
    printf("Bitte gib Fall ein\n");
    }

    void textfall(void)
    {
    printf("Bitte gib Zahl ein\n");
    }

    float Rechnung1(float a, float b)
    {
    return (a * b);

    }

    float Rechnung2(float a, float b)
    {
    return (a / b);
    }

    int main(void)
    {
    int Fall;
    float y;
    float x;
    float ergebnis1, ergebnis2;
    ergebnis1 = Rechnung1(x,y);
    ergebnis2 = Rechnung2(x,y);
    text();
    scanf_s("%i", &Fall);

    switch (Fall)
    {
    
    case 1: 
    	textfall();
    	scanf_s("%f", &x);
    	textfall();
    	scanf_s("%f", &y);
    	Rechnung1(x, y);
    	printf("Die Anwort heißt: %f \n",ergebnis1);
    	break;
    case 2:
    	textfall();
    	scanf_s("%f", &x);
    	textfall();
    	scanf_s("%f", &y);
    	Rechnung2(x,y);
    	printf("Die Anwort heißt: %f \n", ergebnis2);
    	break;
    
    }
    
    
    return 0;
    

    }

    ich soll die Variablen x und y initialisieren also ein Wert geben wie 1.
    aber das macht doch kein sinn.



  • Die Berechnung und Zuweisung an ergebnis1 = Rechnung1(x,y); erfolgt genau dort.

    Da sind die Werte von x und y aber noch nicht bekannt.

    Wenn du später Rechnung1(x,y) aufrufst, ohne das Ergebnis der Funktion zu verarbeiten, ist es weg.

    Würdest du die Code-Tags richtig verwenden, könnte man die genauen Zeilennummern angeben.


Log in to reply