Hilfe bei Hallo Welt

skymaster1

Grünschnabel
Und ich brauche schon wieder hilfe.

Habe nun nach den ersten schritten das "Hallo Welt" versucht.

leider klappt das mit dem return o; nicht

#include <iostream>
using namespace std;

int main()
{
cout<<"Hallo Welt"<<endl;
}
return 0;

und als fehler bringt er dann

syntax error before 'return'

ich denke für euch ist das kein problem, aber ich bin blutiger anfänger und bitte deshalb um eure mithilfe :)

danke
 
moin


Code:
#include <iostream>
using namespace std;

int main()
{
     cout<<"Hallo Welt"<<endl;

     return 0;
}

So muss das aussehen!


mfg
umbrasaxum
 
Weißt du schon was eine Funktion ist ? Eine Funktion tut was, das was man ihr sagt.
Der Anfang der Funktion ist deren Deklaration, und die öffnende Klammer '{', dann
kommt das was die Funktion tun soll, und damit sie weiß, wo sie zu Ende ist kommt
eine geschlossene Klammer '}'. Na, kommt's ? Ja, du mußt das return 0 innerhalb der
geschweiften Klammern schreiben...

Greets,
BadMourning
 
also das ich das return innerhalb der klammer schreiben muß dachte ich mir auch, habe ich auch versucht, nur ohne erfolg, naja ist klar das ich doch erst anfänger bin.

also fehler bringt er keinen mehr, danke auch dafür nur ist das normal das das fenster sofort wieder zu geht?

bitte nicht schimpfen :confused:

danke

P.S das fenster nach ausführung der exe-datei
 
moin


Du könntest vor dem return z.B.:

getch() schreiben, dafür brauchst du die conio.h



oder du schreibst

char dummy;
cin.get(dummy);



mfg
umbrasaxum
 
SUPER

jetzt bin ich soweit glücklich.

das mit dem getch() hat leider nicht geklappt aber das zweite dafür.

kannst du mir noch sagen warum es jetzt offenbleibt

Nicht weil das jetzt drinsteht, sondern eine kurze erklärung zu den begriffen.

dafür währe ich dir sehr dankbar.

Wie gesagt ich bin Blutiger Anfänger, also bitte nicht schimpfen ;)

Kannst du mir noch sagen warum das anhalten bei folgendem beispiel nicht klappt?

#include<iostream>
using namespace std;

int main()

{
int aepfel=4;
int eingabe;
cout<<"Es sind 4 Aepfel da"<<endl;
cout<<"Wieviel Aepfel möchtest du essen?"<<endl;
cin>> eingabe;
aepfel=aepfel-eingabe;
cout<<"dann bleiben noch_"<<aepfel<<endl;
char dummy;
cin.get(dummy);
}

danke
 
Zuletzt bearbeitet:
das mit dem getch() hat nicht geklappt weil der befehl nicht in der <iostream> steht. ich würde dir raten so lang du ohnehin nur consolen programme schreibst system("pause"); zu benutzen, da kriegst du auch gleich ne ausgabe dabei das der user ne taste drücken soll und so ;) für das system zeugs musst du die stdlib oder stdio inkludieren (nicht ganz sicher, aber ich mein es wär die stdlib) also da wo "#include <iostream>" steht einfach #include <stdlib.h> drüber.
 
moin


Code:
#include<iostream>

using namespace std;

int main()
{
	int aepfel=4;
	int eingabe;
	
	cout<<"Es sind 4 Aepfel da"<<endl;
	cout<<"Wieviel Aepfel möchtest du essen?"<<endl;
	cin>> eingabe;
	aepfel=aepfel-eingabe;
	cout<<"dann bleiben noch_"<<aepfel<<endl;


	fflush(stdin);
	cin.get();

	return 0;
}

fflush leert nun den Eingabepuffer, vorher muss wohl noch ein Zeichen drin gewesen sein das dann an cin.get() weitergeleitet wurde.

cin.get() wartet darauf das ein Zeichen einegegeben wird, welches dann in einer Variable (hier dummy) gespeichert wird. BAer hab grad bemerkt das du keine Variable als Argument mit geben musst, also reicht die kruzvorm wie ich es im Beispeil geschrieben hab.

@skeppi:
Ich rate davon ab system("pause"); zu benutzen.


mfg
umbrasaxum
 
Zuletzt bearbeitet:
So sieht ja ganz gut aus :)
Aber ich wuerde davon abraten fflush auf stdin zu nutzen weil es nur fuer outputstreams definiert ist bisher, obwohl es bei fast allen kompilern geht.
Mal gucken wenn ich zu hause bin und zeit hab kram ich mal vielleicht eine andere Lösung raus die auch geht. Vielleicht wird fflush ja mit dem naechsten standard mal auch fuer input geaendert offiziell.
 
Zurück