Hallo ich bin neu hier und habe ein kleines c Programm geschrieben. Es komtm jedoch der Fehler syntax errror before „else“. Ich kann kein Fehler finden. Was mache ich falsch?
#include
int main()
{
int a;
printf("Denken sie sich eine Zahl zwischen 1 und 1000 aus. Dann druecken sie Enter. \n ");
getch();
printf("Addieren sie 10 und druecken sie Enter. \n ");
getch();
printf("Teilen sie durch 2. \n ");
getch();
printf("Ziehen sie 2 ab. \n ");
getch();
printf("Addieren sie 28. \n ");
getch();
printf("Ziehen sie ihre urspruengliche Zahl ab. \n ");
getch();
printf("Verdoppeln sie die Zahl. \n ");
getch();
printf("Sie denken an die Zahl 36! \n ");
getch();
printf("Sind sie erstaunt? Ja ich auch... Nocheinmal? Dann drücke 1, wenn nicht eine andere Taste");
scanf("%d", &a);
if (a == 1)
printf("Denken sie sich eine Zahl n. Dann druecken sie Enter. \n ");
getch();
printf("Addieren sie 12 und druecken sie Enter. \n ");
getch();
printf("Teilen sie durch 3. \n ");
getch();
printf("Ziehen sie 7 ab. \n ");
getch();
printf("Addieren sie 96. \n ");
getch();
printf("Teilen sie durch 7. \n ");
getch();
printf("Verdoppeln sie die Zahl. \n ");
getch();
else if (a == 2)
printf("Das Programm wird nun geschlossen.\n");
else
printf("1 oder 2! Sonst nichts ! \n");
getch();
return 0;
}
Hallo ich bin neu hier und habe ein kleines c Programm
geschrieben. Es komtm jedoch der Fehler syntax errror before
„else“. Ich kann kein Fehler finden. Was mache ich falsch?
Du brauchst geschweifte Klammern um den Block hinter if und else. Wenn du die weglässt, wirkt das if nur auf die nächste Anweisung.
Hallo ich bin neu hier und habe ein kleines c Programm
geschrieben. Es komtm jedoch der Fehler syntax errror before
„else“. Ich kann kein Fehler finden. Was mache ich falsch?
Grundsätzlich gibt man auch an, an welcher Stelle der Fehler angegeben wird.
Bei deinem Beispiel war es jetzt noch zu erraten welche Stelle es sein muss.
Hier ist es noch recht einfach den Fehler zu finden, aber in anderen Fällen, wo nicht unbedingt gleich das Programm beendet wird kann das zu gröberem Kopfzerbrechen führen.
Ich hab’ übrigens gleich mein zweites Steckenpferd eingebaut: Bei Vergleichen die Konstante (falls vorhanden) immer links, dann kann nicht versehentlich „=“ statt „==“ verwendet werden - if (0 = myerrorno) ergibt einfach keinen Sinn!