if und else in C programmieren?

2 Antworten

Erstens muss die Abfrage, ob eine Variable einen Wert hat, mit "==" erfolgen. Zweitens (und das ist der Grund für den Fehler) muss vor der Bedingung im else Zweig wieder ein if stehen.

if (...)
else if (...)
else
HAMAELEHRO 
Fragesteller
 14.05.2020, 16:22

if (eingabe == k)

printf("SPIELENDE!\n");

else if (eingabe == h)

printf("Lautet Ihre Zahl : %d\n", mittel(unteregrenze, oberegrenze);

0
ohwehohach  14.05.2020, 16:26
@HAMAELEHRO

Die Funktion durchschnittswert ist übrigens auch falsch. Die Schleife kannst Du Dir schenken oder sie muss einen anderen Inhalt haben. Du errechnest jetzt zig mal immer denselben Wert, nämlich (obergrenze - untergrenze) / 2. Der ändert sich ja nicht in Abhängigkeit von i.

1
ohwehohach  14.05.2020, 16:30
@HAMAELEHRO

Was weiß ich? Ich weiß ja nicht, was die Funktion errechnen soll...

0
mondai  14.05.2020, 16:52
@HAMAELEHRO

Für den Mittelwert zwischen Ober- und Untegrenze:
float Durchschnitt_fein(int unter, int ober){return ((float)(ober-unter)/2)+unter;}
int Durchschnitt_grob(int unter, int ober){return (ober-unter)/2 +unter;}

0
mondai  14.05.2020, 17:16
@mondai

Als Schleife war es bestimmt so geplant:

int Durchschnitt (int Untergrenze, int Obergrenze){
int Schnitt=0, i=0, j=Obergrenze-Untergrenze;
for(; i<j; i++) Schnitt += Untergrenze+i;
return Schnitt/j; /* return((float)Schnitt/j); */}

1

Das Unterprogramm "durchschnitt" ist auch seltsam. Den Durchschnitt berechnet man mit:

durchschnittswert = (obergrenze - untergrenze) / 2;

Die Schleife ist überflüssig.