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 
Beitragsersteller
 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
HAMAELEHRO 
Beitragsersteller
 14.05.2020, 16:22
@HAMAELEHRO

Meinst du so? So gibt er mir leider nichts raus.

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.