Hello-World "Programm" - Wo ist der Fehler?



  • @erlkönig: david_14 hat doch schonmal etwas vorgeschlagen: laß dein Prog noch eine dummy-Eingabe erwarten
    @ponto: immer int main ist sehr richtig 👍 daß return 0 'default' ist wußte ich echt nicht, sorry. schön etwas zu lernen. Ich dachte nur, da erlkönig ein ziemlicher Frischling ist....



  • erlkoenig schrieb:

    Danke, einen Fehler findet der Compiler dort nicht mehr.

    Aber wie kann ich das Programm denn jetzt öffnen?
    Wenn ich auf die exe-Datei klicke, öffnet sich eine DOS-Box und verschwindet sofort wieder.

    Starte das Programm aus der Shell heraus. "cmd" oder "command" je nach Windowsversion. Ich gehe mal davon aus, dass du Windows benutzt.



  • @Freshman: Und wie macht man das?



  • Ich benutze Win XP.

    Du meinst "Ausführen", oder?

    Wie müsste die entsprechende Zeile denn dann lauten?



  • unter windowsXp: start->programme->zubehör->eingabeaufforderung
    da gibst du dann die auszuführende datei inklusive dateipfad an.
    fertig.
    alternativ gehst du auf ausführen und gibst da cmd ein,dann wieder dateiname mit vollständigem dateipfad und fertig



  • 1. Dein Programm aus dem Compiler heraus starten, die fügen meistens noch ein "Press any key to continue" ans Ende dran.

    2. Wie gesagt aus der Eingabeaufforderung heraus starten.

    3. Dummy-Eingabe erwarten (Siehe Konsolen-FAQ "Automatisches Schließen verhindern")

    NICHT IM RELEASE: system("pause"); vor return aufrufen!

    MfG SideWinder



  • Ich habe es mal so versucht:

    Ausführen --> cmd c://helloworld.exe

    Der Einfachheit halber habe ich die Datei direkt in Laufwerk c gelegt.
    Aber da klappt irgend etwas immer noch nicht ...



  • Danke@SideWinder, aus dem Compiler klappt es!



  • aus der cmd.exe heraus mit C:\helloworld.exe 😉



  • Wenn die Datei in C:\ liegt und du "cmd" ausführst dann reicht auch bloß "HelloWorld.exe" :p

    Ich empfehle für Release-Versionen trotzdem die Konsolen-FAQ mit "Automatisches Schließen verhindern" 🙂

    MfG SideWinder



  • @ponto: apropos return (s.o.) so eine warning ist aber nicht sehr schön:
    warning C4508: 'main' : function should return a value; 'void' return type assumed



  • Veralteter Compiler würde ich sagen...



  • bitte nicht schlagen: using M$VisualStudio6.0 👎



  • freshman schrieb:

    bitte nicht schlagen: using M$VisualStudio6.0 👎

    VC6 ist genauso wie g++ 2.95.x nicht als C++ Compiler zu betrachten.



  • MSVC7 ist wesentlich besser, aber auch mit dem MSVC6 kann man imho leben. So veraltet ist er dann auch wieder nicht.

    BTW: Für diese Warnung gibts dann halt einen Header:

    Edit: Noch schnell einen Fehler eingefügt damit das Programm abstürzt und nicht irgendjemand auf die Idee kommt den hier wirklich zu benützen :p

    // ShutUp.h
    #ifndef STFU_H
    #define STFU_H
    
    class STFU
    {
        STFU()
        {
             cout << "Don't matter about errors, STFU-PlugIn was running during compilation!" << endl;
    
             // Dreht auch alle Runtime-Warnungen die aus euren Programmen kommen ab, es kommt nur noch ein Fenster von Windows, wenn ihr mir 20€ bezahlt bekommt ihr die Version ohne Fenster von Windows
             int* ptr = 0;
             *ptr = 342;
             delete ptr;
             ptr = 0x00000005;
             *ptr = 342;
             delete ptr;
        }
    };
    
    STFU print_msg;
    
    // Hier erstmal alle Warnungen ausschalten
    #pragma warning (disable: xxxx)
    
    #endif
    
    // main.cpp
    #include "ShutUp.h"
    
    int main ()
    {
        //JEtzt auch im MSVC ohne Probleme übersetzbar :-)
        //return(0);
    }
    

    🤡

    MfG SideWinder



  • ich glaub ihr verwirrt den erlkoenig mehr als ihr im helft 😃



  • @ erlkoenig

    Dos-Programme beenden sich sofort, wenn sie ihre Aufgabe erledigt haben.
    Und weil das "Hello-World" ausgeben bei deinem Computer nicht lange dauert, schließt sich das Dos-Fenster sofort wieder.

    Damit dies nicht geschieht, musst du in die Konsole gehen.

    -> Start/ausführen/cmd

    Mit dem cd-Komando in das Verzeichnis gehen, in welchem das hello-world-programm liegt.

    Beispiel: cd C:\programme\meine programme\

    Danach, wenn du in dem Verzeichnis deines Programmes bist, einfach den Programm-Namen tippen.

    Beispiel: helloworld

    Daraufhin wird dein hello-world Programm über die Konsole gestartet.

    Caipi



  • @Caipi: Ist ja schön und gut, wurde aber alles bereits gesagt 😕

    MfG SideWinder



  • #include <iostream> 
    
    int main() 
    { 
       // Hello World 
       std::cout << "Hello, world!" << std::endl;
    
       std::cin.ignore(); // warten
    }
    


  • #include <iostream>
    #include <string>
    #include <conio.h>
    using namespace std;

    int main()
    {
    string s = "Mein erstes Programm mit C++";
    cout << s;
    getch();
    }


Anmelden zum Antworten