Newbie hat Problem
-
Okay, und jetzt nochmal die korrekte Zusammenfassung:
#include <iostream> int main() { std::cout << "Hello World!\n"; std::cin.get (); }
-
Wenn man jetzt noch den Ausgabestrom einen "Tritt in den Hintern" verpasst...
#include <iostream> int main() { std::cout << "Hello World!\n" << std::flush; std::cin.get (); }und jetzt mal lese- und anfängerfreundlicher:
#include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; cin.get(); }Darüber, ob ein return 0 sinnvoll ist oder nicht, kann man müsig und stetig streiten. Der Standard mag das zwar nicht vorschreiben, aber alleine um (gerade als Anfäger) ein wenig feste Struktur in sein Programm zu bekommen, sollte eine Funktion, die laut ihrer Signatur einen Wert zurückliefern will, dieses auch tun sollte.
EDIT: Wie kann man über ein "Hallo-Welt" stundenlang grübeln...?
Grüße...
Heiko
-
Es tut mir leid euch zu stören aber es klappt immer noch nicht.
Ich habe jeden lösungsvorschlag ausprobiert.
Es wurde zwar nirgends ein fehler angezeigt, doch die konsole verschwindet bei mir immernoch nach ner milisekunde!muss man vielleicht etwas in dem dev cpp builder konfigurieren, damit diese konsole länger da bleibt????????????
-
Probier es doch mal mit der wait()-Funktion aus der FAQ:
void wait () { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); }Wenn es mit ignore() nicht klappt versuch mal:
std::cin.sync();Greetz
-
Spyder schrieb:
muss man vielleicht etwas in dem dev cpp builder konfigurieren, damit diese konsole länger da bleibt????????????
Starte die EXE aus einer Konsole heraus.
-
Ganz übersehen die Frage.
Du kannst natürlich auch einen Breakpoint an das Ende der main()-Funktion setzen. Oder du startest die Anwendung mit der Option "Starten ohne Debuggen", wenn es die Option in Dev-C++ auch gibt (Dev-C++ ist schon ne Weile her, bevorzuge eher VC++).Greetz
-
hi
wie sag ich dev cpp das er das programm ohne debugger starten soll?
ist das nicht gefährlich?ich hab auch die express edition von visual c++ hier rumfliegen, allerdings weiß ich nicht wie man da kompiliert und erzeugt/programm startet. wie macht man das bei vc++?
-
ok scheinbar funktioniert jetzt alles.
da war eine cd im buch mit vc++ version 6.
ich dachte ich hätte die cd verloren doch jetzt hab ich sie wieder und hab auch gleich das programm drauf gemacht. jetzt klappt alles.ich hoffe ich habe nicht für alzu viel verwirrung gesorgt.
-
Ich kann dir den VC 6 leider nicht (mehr) empfehlen, da dieser veraltet ist und es sogar eine neuere Version kostenlos im Internet gibt!
Schau mal hier:
http://www.microsoft.com/germany/msdn/vstudio/products/express/visualc/default.mspxDenn du wirst auf dauer mit dem VC 6 nicht glücklich werden. Glaub mir

Viele Grüße,
Patrick
-
schöner ist mit return 0
Schöner ist mit
return EXIT_SUCCESS;.
-
Tyrdal schrieb:
Schöner ist mit
return EXIT_SUCCESS;.
und was ist dieses ominoese EXIT_SUCCESS?
das muesstest du dir dann vorher noch in irgendeiner Art und Weise deifinieren (und dann bitte NICHT als Makro).
Allgemein: Wenn du Konsolenprogramme auch von der Konsole aus ausfuehrst, brauchst du keinerlei Pausen oder Tastaturabfragen einzubauen. (Unter Windows startet man die Konsole z.B. ueber Start->Ausfuehren->"cmd")
-
pumuckl schrieb:
Tyrdal schrieb:
Schöner ist mit
return EXIT_SUCCESS;.
und was ist dieses ominoese EXIT_SUCCESS?
Die main-Funktion darf eh nur drei Werte zurückgeben (0, EXIT_SUCCESS, EXIT_FAILURE). Alles andere ist laut Standard nicht portabel. 0 und EXIT_SUCCESS sind Synonyme. Wenn auf einem Exoten-System also return -1 ein erfolgreiches ausführen bedeutet, wird 0 zu -1 konvertiert. EXIT_SUCCESS und EXIT_FAILURE sind in <cstdlib> definiert.
Gruß
Don06
-
Richtig, ich finde eine explizite Erfolgsmeldung halt schöner als so eine magische Konstante, auch wenn sie im Standard definiert ist.