C programmieren in Eclipse problem!

Hallo Leute, habe eine Frage bezüglich meines Programmes.

Bei dem if befehl wird mir ein Error angezeigt (Syntax Error before if, syntax Error).
Finde meinen Fehler aber nicht…

#include „stdio.h“

void main()
{
int x;

scanf("%i",&x);
fflush(stdin);
}

if (x > 100)
{
printf("\nBoah ist ja sau groß!");
}

else
{
printf("\nWie niedlich…");
}

Wo liegt der Fehler?

Hi, eigentlich relativ einfach - die if-Schleife steht außerhalb jeder Funktion (das „}“ nach der fflush-Zeile schließt die Main-Funktion).

Also einfach das „}“ nach fflush rauslöschen und hinter den Else-Zweig geben dann passts.
Programmcode darf immer nur innerhalb einer Funktion auftauchen.

lg

Wenn du eine Kompilerfehlermeldung nicht verstehst, ueberpruefe bitte folgende Punkte:

  1. habe ich alle Klammern richtig gesetzt
  2. stimmen meine Semikolons nach jedem Befehl
  3. verwende ich evtl. Befehle fuer die ich noch andere Header-Dateien brauche.

Wuerde mal behaupten, dass du mit diesen 3 Punkten im Anfaengerbereich 90% der Fehler ausmerzen kannst. In diesem speziellen Programm solltest du Punkt 1 der Liste ueberpruefen.

MfG
cal

Hi,

bevor du deine if-Abfrage startest, schließt du mit } deine Main-Funktion. Soll heißen, deine if-Abfrage steht im leeren Raum und ist nicht mehr in der Main-Funktion oder in einer andren Funktion, was den Compiler verwirrt.
Einfach das } vor deiner if-Abfrage entfernen und ganz ans Ende deines Quellcodes setzen.

Grüße

okay thx…
Da hab ich wohl was mit den Klammern verkehrt verstanden :smiley:
Danke ür die Hilfe :smile:

Hallo

Kann es sein, dass dein main() vor dem if durch die schliessende geschwungene Klammer abgeschlossen wird?

Gruss,
– ZEBU

Hi iCubbi,

ganz einfach: Du beendest mit „}“ deine „main“-Methode noch vor dem „if“. Die Zeilen nach der „}“ stehen also in keiner Methode, was in C nicht erlaubt ist. Versetze die Klammer einfach ganz an’s Ende, dann sollte es keinen Fehler mehr geben.

Alles Gute,
Harry

Hallo Leute, habe eine Frage bezüglich meines Programmes.

Bei dem if befehl wird mir ein Error angezeigt (Syntax Error
before if, syntax Error).
Finde meinen Fehler aber nicht…

#include „stdio.h“

void main()
{
int x;

scanf("%i",&x);
fflush(stdin);
} // ich würde sagen hier. Diese Klammer gehört ganz ans Ende der Anweisungen. Gruß Peter

if (x > 100)
{
printf("\nBoah ist ja sau groß!");
}

else
{
printf("\nWie niedlich…");
}

Wo liegt der Fehler?

Hallo Leute, habe eine Frage bezüglich meines Programmes.

Bei dem if befehl wird mir ein Error angezeigt (Syntax Error
before if, syntax Error).
Finde meinen Fehler aber nicht…

#include „stdio.h“

void main()
{
int x;

scanf("%i",&x);
fflush(stdin);
}// ich würde sagen hier. Diese Klammer gehört

ganz ans Ende des Anweisungsblocks. Habe es nochmal
geschickt da gerade ein Server-Fehler aufgetreten ist,
beim ersten Mal. Gruß Peter

if (x > 100)
{
printf("\nBoah ist ja sau groß!");
}

else
{
printf("\nWie niedlich…");
}

Wo liegt der Fehler?

Hallo, ich kann Dir leider nicht weiterhelfen, da ich mich mit c programmieren nicht auskenne.

mfg sven

Hallo Cubbi,

evt. etwas spät, weil Du bestimmt schon selbst drauf kamst.
das „}“ vor if ist quasi dein Abschluss für die main-function also das Ende Deines Programms. Diese Klammer musst Du einfach ganz ans Ende verschieben

dann noch weiterhin viel Spaß beim Programmieren