cpp
-
Hi
Ich habe eine ganz einfache .cpp Datei erstellt mit Visual c++ Express Edition:
#include <iostream> using namespace std; void main( void ) { char name[50 ]; cout << "Wie ist Dein Name ?: " ; cin >> name; cout << "Hallo, " << name << endl; }Aber wie kann Ich denn jezt das Programm öffnen was Ich hier geschrieben habe?
auf die .cpp Datei klicken bringt ja nix, da sich dann nur der Quelltext öffnert...Mfg
-
Erstens heißt das "int main()".
Und zweitens mußt du das Programm compilieren (das spuckt dir eine .EXE raus) und die dabei entstandene EXE kannst du dann ausführen. (dem VC kannst du auch sagen, daß du das Programm compilieren und ausführen willst, aber dazu mußt du erstmal ein Projekt (Konsolenprogramm) anlegen und die Datei dort reinpacken)
-
CStoll schrieb:
Erstens heißt das "int main()".
Und zweitens mußt du das Programm compilieren (das spuckt dir eine .EXE raus) und die dabei entstandene EXE kannst du dann ausführen. (dem VC kannst du auch sagen, daß du das Programm compilieren und ausführen willst, aber dazu mußt du erstmal ein Projekt (Konsolenprogramm) anlegen und die Datei dort reinpacken)
Wäre nett wenn du mir das Schrit für Schrit erklären könntest wie Ich das erstelle und dann compiliere.
-
Hallo
Menü - Neu - Projekt - Win32Konsolenanwendung - leeres Projekt.
Projekt - neue Datei hinzufügen - cpp-Dateiund dann deine code rein (int statt main)
dann klickst du auf den grünen Pfeil oben in der Mitte.
chrische
-
Warum ist denn die .exe Datei im debug Ordner? oO
-
Hallo
Weil du im Debugmodus kompilierst?

Kannst ja auch auf release umstellen.
chrische
-
Was macht denn das nacher für einen Unterschied?
-
nun Debugmodus ist eben zum "debuggen" gedacht, also zur Fehlersuche, etc. beim "Ausprobieren" des Programms. Da kannst du das Programm durch Brakepoints etc. unterbrechen, dir anschauen, welchen Inhalt die Variablen zu bestimmten Zeitpunkten haben und vieles mehr ...
-
Und warum ehißt das int main() und nciht mit void, beides klappt doch
-
Der Standard schreibt es so vor, wenn man die Warnungseinstellungen in Visual Studio höher stellt, sollte der Compiler "void main" zumindest mit einer Warnung angeben (wenn du dann noch Warnungen als Fehler behandeln lässt, wird dein Programm nicht kompiliert). Außerdem macht es auch durchaus Sinn, dass main einen Integer zurückliefert, da das Programm immer einen Wert zurückliefert. Wird kein return am Ende von main geschrieben so liefert main automatisch 0 zurück, was für einen fehlerfreien Programmablauf steht.
Greetz
-
Noch eine Frage, normal sollte wenn man den namen eingeben hat am ende Hallo (Name) stehen. Aber nach dem Ich den Namen eingegben habe schließt sich das Prog direkt.
-
oO(...)
greetz, Swordfish
-
habe jetzt folgendes eingegeben:
#include <iostream> using namespace std; int main() { char name[50 ]; cout << "Wie ist Dein Name ?: " ; cin >> name; cout << "Hallo, " << name << endl; } #include <stdio.h> void wait () { setvbuf(stdin,NULL,_IONBF,0); setvbuf(stdin,NULL,_IOFBF,BUFSIZ); getchar(); }Aber das Programm schließt sich trotzdem sofort.
-
#include <iostream> using namespace std; int main() { char name[50 ]; cout << "Wie ist Dein Name ?: " ; cin >> name; cout << "Hallo, " << name << endl; } #include <iostream> void wait () { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); }funktioniert auch nicht

-
Du solltest die Funktion wait auch aufrufen. Lies bitte in deinem Tutorial mal das Kapitel über Funktionen durch.
z.Bsp. hier http://tutorial.schornboeck.net/funktionen2.htm#include <iostream> #include <string> using namespace std; void wait () { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); } int main() { string name; cout << "Wie ist Dein Name ?: " ; cin >> name; cout << "Hallo, " << name << endl; wait(); }
-
Erstmal reicht es wenn man einen Header nur einmal einbindet. Dann muss man die Funktion aufrufen und außerdem muss die Funktion der aufrufenden Funktion bekannt sein:
#include <iostream> using namespace std; void wait () // entweder hier definieren oder hinter main und hier nur die Forwarddeklaration (also nur "void wait();") hinschreiben { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); } int main() { char name[50 ]; cout << "Wie ist Dein Name ?: " ; cin >> name; cout << "Hallo, " << name << endl; wait(); // Funktion aufrufen }Ich würde sagen du solltest dir mal ein Buch kaufen und dir das entsprechende Wissen anlesen. Um ein gutes Buch für Anfänger zu finden kannst du die Foren-Suche benutzen. Oder du suchst dir ein gutes Tutorial über die Foren-Suche raus und liest das erstmal.
Greetz
-
öhm wenn ihr nen std namespace used ... dann solltet ihr nicht noch std:: davor schreiben

#include <iostream> #include <string> void wait(); int main() { std::cout << "Wie heißen Sie? " << std::flush; std::string string_name; std::getline(std::cin, string_name); std::cout << "Hallo, " << string_name << std::endl; wait(); } void wait() { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); }...
-
Lieber ein std zuviel als eins zuwenig.

Ich weiß ja, du bist kein Freund von using namespace std;