Problem mit Hello World



  • #include "stdafx.h" 
    #include <iostream> 
    
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[]) 
    { 
        cout << "Hello World!\n"; 
        return 0; 
    }
    

    dann gehts über das std:: 😉



  • so, hab mich jetzt sogar angemeldet.... 😉

    Mir ist aber noch aufgefallen, dass wenn ich die Anwendung aus Windows heraus starte, sich das Fenster direkt wieder schließt. Ich denke mal das liegt daran, dass alle Befehle abgearbeitet sind, aber wie kann ich es schaffen, dass das Fenster weiterhin offen bleibt. Es reicht ja wenn das Programm auf einen Tastatur Befehl wartet. Aus Pascal kenne ich noch den Befehl "readkey", gibts den unter C++ auch? Weil ich finde es etwas störend, das Programm über die CMD ausführen zu müssen, um zu sehen obs klappt.....



  • Leos-Studio schrieb:

    so, hab mich jetzt sogar angemeldet.... 😉

    Mir ist aber noch aufgefallen, dass wenn ich die Anwendung aus Windows heraus starte, sich das Fenster direkt wieder schließt. Ich denke mal das liegt daran, dass alle Befehle abgearbeitet sind, aber wie kann ich es schaffen, dass das Fenster weiterhin offen bleibt. Es reicht ja wenn das Programm auf einen Tastatur Befehl wartet. Aus Pascal kenne ich noch den Befehl "readkey", gibts den unter C++ auch? Weil ich finde es etwas störend, das Programm über die CMD ausführen zu müssen, um zu sehen obs klappt.....

    Pack z.B. ein cin.get() vor das Ende von main, dann wartet das Programm auf eine User-Eingabe. Das Fenster schließt sich erst, nachdem der User Enter gedrückt hat.



  • hmm, "cin" bekomme ich als nicht deklarierter Bezeichner angezeigt. Egal ob es es vor oder nach dem return 0; schreibe...

    //EDIT:

    Ups etwas schnell gewesen, "std::" muss ja wieder davor und ein ";" dahinter. Klappt doch...



  • Leos-Studio schrieb:

    hmm, "cin" bekomme ich als nicht deklarierter Bezeichner angezeigt. Egal ob es es vor oder nach dem return 0; schreibe...

    //EDIT:

    Ups etwas schnell gewesen, "std::" muss ja wieder davor und ein ";" dahinter. Klappt doch...

    Wenn du nicht jedesmal "std::" schreiben willst, dann packe an den Anfang der Datei (vor die main) einfach "using namespace std". Dann brauchst du für Elemente dieses Namensraums nicht extra die Bezeichnung des Namensraums anzugeben. Machine hat dir dazu schon ein Beispiel gepostet.

    Btw, das cin.get() wäre relativ nutzlos hinter dem return 0. Du willst ja, das die Anweisung ausgeführt wird. Wenn du allerdings vorher die Funktion main durch die return-Anweisung verlässt, klappt das logischerweise nicht.

    Wenn dir solche Programmabläufe manchmal nicht ganz klar sind (was für einen Anfänger völlig normal ist), dann empfiehlt es sich, das Programm schrittweise im Debugger zu durchlaufen (Stichwörter: Haltepunke/Breakpoints F9, Prozedurschritt/Einzelschritt F10/F11).



  • mit

    _getch()
    

    . Die Funktion wartet am Ende auf einen Tastendruck und schließt dann. P.S musst [code]Conio.h[quote] includen! Viel spaß beim programmieren!!!



  • #include <iostream>
    using namespace std;
    
    int main()
    {
    	cout << "Huhu, Du da!\n";
    	cin.get();
    	return 0;
    }
    

    Das sollte vollkommen ausreichen.

    mkG Hxm



  • ich habs genauso geschrieben wie es der eine bei dems geklappt hat in mein dev-c++ compiler eingefügt aber er sagt mir immernoch
    Das System kann die angegebene Datei nicht finden
    was soll ich tun 😞

    #include "stdafx.h"
    #include <iostream>

    using namespace std;

    int _tmain(int argc, _TCHAR* argv[])
    {
    cout << "Hello World!\n";
    return 0;
    }



  • Hallo,

    geht es denn so:

    #include <iostream>
    using namespace std;
    
    int main(int argc, char* argv[]) 
    {
      cout << "Hello World!\n"; 
      return 0; 
    }
    

    ?

    MfG,

    Probe-Nutzer



  • nein leider nicht was kann das nur sein mano was habt ihr denn für kompeiler?



  • was fuer eine meldung bekommst du genau ? was wird vermisst ?

    zu SonnY mit "_getch()" und "conio.h" sag ich einfach mal nichts mehr - das is mir dann doch schon zu doof

    zu sich schliessende DOS boxen gibts was in der FAQ
    unter manchen umstaenden kann ein einfaches cin nicht reichen

    bezueglich using namespace std; habs hier auch schon diskusionen - ich wuerds generell vermeiden - aber das is ein anderes thema



  • Und wie sehen die genauen Fehlermeldungen aus? Was wird nicht gefunden?

    MfG,

    Probe-Nutzer



  • es seht immer nur da als fehlermeldung
    Das System kann die angegebene Datei nicht finden



  • Also ein solches Minimal-Beispiel wie z.B.

    #include <iostream>
    
    using namespace std;
    
    int main() {
      cout << "test";
      return 0;
    }
    

    sollte definitiv klappen, egal welchen Compiler du hast. Hast du denn auch haargenau das Beispiel von Probe-Nutzer übernommen (am besten per C&P), also auch ohne "#include stdafx.h"?



  • also ich hab das programm genausow ie du es jetzt reingeschrieben hast in mein dev-c++ compiler kopiert und es geht einfach nicht kann mir mal eienr ein anderen c++ kompiler epfehlen kann doch gar nicht sein das das net geht



  • muss ich fieleicht noch was einstellen oder so ich hab das ding installiert und dann angefange zu programmieren es könnte ja sein das ich das problem bin oder mein rechenr :confhttp:



  • Selleck schrieb:

    das ich das problem bin oder mein rechenr :confhttp:

    Zu dem Schluss muss ich bis jetzt leider kommen, da mir immer noch nicht klar ist, wie die angegebene Datei heisst (angegeben impliziert für mich, dass der Name der Datei irgendwo in der Fehlermeldung steht, sollte das nicht so sein, dann wird es schwierig.)

    MfG,

    Probe-Nutzer



  • was heist
    quelldatei ist nich kompilirt



  • geht jetzt hatte nich den Mingw nich installtet sonder was anderes xD
    aber danke trotzdem



  • Nur ein Hinweis: Visual Studio Express wäre auch noch eine kostenlose Alternative.


Anmelden zum Antworten