return 0 - Ohne Nichts



  • Hallo,

    wenn ich beispielsweiße ..

    #include<iostream>
    
    int main()
    {
        int value = 2;
        int pow = 10;
        int result = 1;
        for(int cnt = 0; cnt != pow; ++cnt)
        result *= value;
        std::cout<<value
        <<" raised to the power of "
        <<pow<< ": \t"
        <<result<<std::endl;
    }
    

    ... schreibe,funktioniert das nicht,was auch klar sein sollte.
    Aber wenn ich ..

    #include<iostream>
    
    int main()
    {
        int value = 2;
        int pow = 10;
        int result = 1;
        for(int cnt = 0; cnt != pow; ++cnt)
        result *= value;
        std::cout<<value
        <<" raised to the power of "
        <<pow<< ": \t"
        <<result<<std::endl;
    return 0;
    }
    

    .. code,funktioniert das Script ebenfalls nicht 😞
    Nur aber wenn ich ..

    std::cin.get();
    

    .... anhänge,wird es funktionieren.

    Hätte jemand von euch eine gute Lösung?

    Mit freundlichen Grüßen,
    Martin



  • Entweder du bleibst beim

    std::cin.get();
    

    oder du schreibst

    #include <iostream>
    using namespace std;
    


  • EEK schrieb:

    Entweder du bleibst beim

    std::cin.get();
    

    oder du schreibst

    #include <iostream>
    using namespace std;
    

    Sorry,aber das wußte ich leider schon selber,dass mit using namespace std; das "std" wegfällt und man nur cout<<"----";
    schreiben muss 😉

    Danke aber trodzdem..
    gibt es aber auch eine Lösung für mein Problem 😕

    Martin



  • return gibt in main den Fehlercode zurück. Gibst du in C++ nichts an, wird "return 0" angenommen. Das heißt, dass das Programm fehlerfrei beendet wurde. Mit der return-Anweisung hat das Ganze nichts zu tun.

    Du startest deine Anwendung vermutlich mit Doppelklick und bei Konsolenanwendungen schließt anschließend immer das Fenster. Eigentlich sollte man die Shell/Eingabeauffoderung (in Windows cmd.exe) nutzen dann schließt sich auch das Fenster nicht mehr, aber Windowusern unzumutbar, weil da klickt man ja nimmer. In Visual Studio kann man das Programm einfach starten mit "Starten ohne Debuggen" oder man setzt am Ende ein Breakpoint, dann bleibt es am Ende stehen.
    Ansonsten guckst du hier in die FAQ: http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html
    Wenn

    std::cin.ignore(std::cin.rdbuf()->in_avail());
    

    nicht funktioniert nimm

    std::cin.sync();
    


  • Martin Braun schrieb:

    EEK schrieb:

    Entweder du bleibst beim

    std::cin.get();
    

    oder du schreibst

    #include <iostream>
    using namespace std;
    

    Sorry,aber das wußte ich leider schon selber,dass mit using namespace std; das "std" wegfällt und man nur cout<<"----";
    schreiben muss 😉

    Danke aber trodzdem..
    gibt es aber auch eine Lösung für mein Problem 😕

    Martin

    Ach so, ich hätte es wohl genauer lesen sollen. 🙄 Ich dachte es geht um das "std..." Naja beim nächsten mal lese ich mir alles durch 😉



  • EEK schrieb:

    Ach so, ich hätte es wohl genauer lesen sollen. 🙄 Ich dachte es geht um das "std..." Naja beim nächsten mal lese ich mir alles durch 😉

    das war ein typischer 'funktioniert-nicht'-thread. wer sich entschuldigen müsste, ist der originale poster.


Anmelden zum Antworten