kompiliertes Programm bleibt nicht stehen



  • Hallo,
    Ich hab den Code genau so an mein Programm angefügt. - bekam zwar keine Fehlermeldung und auch keine Warnung, aber es hat auch nichts gebracht.
    Gibt es noch andere Möglichkeiten?

    Matthias



  • Ich denke mal das es einfach daran liegt das sich dein Konsolenfenster automatisch beendet wenn das Programm beendet, was ja hier nicht lange dauert, also solltest du dich entweder einfach freuen das es funktioniert hat, oder eine Eingabe einbauen, so das sich das Programm nicht sofort beendet.





  • Der code sieht jetzt so aus:

    #include <iostream.h>.
    main ()
    {
    cout<< "hello world\n";
    return 0;
    }

    // C++-Variante:
    #include <iostream>

    void wait ()
    {
    std::cin.clear ();
    std::cin.ignore ( std::cin.rdbuf () -> in_avail () );
    std::cin.get ();
    }

    cu Matthias



  • 😃 😃



  • lies dir am besten mal das Tutorial durch

    http://www.schornboeck.net/ckurs/index.htm



  • Matthis schrieb:

    Der code sieht jetzt so aus:

    #include <iostream.h>.
    main ()
    {
    cout<< "hello world\n";
    return 0;
    }

    // C++-Variante:
    #include <iostream>

    void wait ()
    {
    std::cin.clear ();
    std::cin.ignore ( std::cin.rdbuf () -> in_avail () );
    std::cin.get ();
    }

    cu Matthias

    Hallo,

    du solltest wenn du die funktion void wait() benutzen willst, sie auch in deinem main() aufrufen.
    sprich du solltest es so (oder so in der art) machen:

    #include <iostream.h> // einmal inkludieren sollte reichen ;-)
    
    void wait () 
    { 
        std::cin.clear (); 
        std::cin.ignore ( std::cin.rdbuf () -> in_avail () ); 
        std::cin.get (); 
    }
    
    int main ()
    {
    cout<< "hello world\n";
    wait();  // an dieser Stelle soll gewartet werden
    return 0;
    /*
    wenn die function main() eine 0(null) zurueckgibt,
    sollte der rueckgabetyp auch angegeben werden
    ( int main() oder bool main () )
    korrigiert mich falls ich mich da irre
    */
    }
    
    // C++-Variante:
    

    gruss,

    need_input 😉



  • korrigiert mich falls ich mich da irre

    void main() und bool main() sind vom Standard nicht vorgesehen. Man sollte immer

    int main() oder int main(int argc, char **argv) bzw. int main(int argc, char *argv[]) nutzen!

    und iostream.h ist auch veraltet

    (warum nach 5 Jahren ISO Standard das immer noch nicht jeder weiss ist mir schleierhaft 🙄 )

    schaut euch einfach mal die Links an, die ich bereits in dem Beitrag gepostet habe



  • need_input:

    #include <iostream> // ohne .h, siehe kingruedis Link
    
    void wait () 
    { 
        std::cin.clear (); 
        std::cin.ignore ( std::cin.rdbuf () -> in_avail () ); 
        std::cin.get (); 
    }
    
    int main ()
    {
    cout << "Hello, world\n";
    wait();
    return 0; // braucht man nicht unbedingt
    /*
    wenn die function main() eine 0(null) zurueckgibt,
    sollte der rueckgabetyp auch angegeben werden
    ( int main() oder bool main () )
    korrigiert mich falls ich mich da irre
    */ // ja!
    }
    


  • kingruedi schrieb:

    korrigiert mich falls ich mich da irre

    void main() und bool main() sind vom Standard nicht vorgesehen. Man sollte immer

    int main() oder int main(int argc, char **argv) bzw. int main(int argc, char *argv[]) nutzen!

    und iostream.h ist auch veraltet

    (warum nach 5 Jahren ISO Standard das immer noch nicht jeder weiss ist mir schleierhaft 🙄 )

    schaut euch einfach mal die Links an, die ich bereits in dem Beitrag gepostet habe

    alles klar korrektur angenommen und gemerkt 🙂
    ich gelobe mich zu bessern 😉

    gruss,

    need_input



  • trotzdem noch Fehler. cout befindet sich nun auch im Namespace std! Und das mit bool main ist immer noch falsch im Kommentar 🙂



  • Ups, habe ich gar nicht drauf geachtet.



  • next try:

    #include <iostream>
    
    void wait ()  
    {  
        std::cin.clear ();  
        std::cin.ignore ( std::cin.rdbuf () -> in_avail () );  
        std::cin.get ();  
    } 
    
    int main () 
    { 
    std::cout << "Hello, world\n"; 
    wait(); 
    return 0; 
    /* 
    wenn die function main() eine 0(null) zurueckgibt, 
    sollte der rueckgabetyp auch angegeben werden 
    ( int main() )  
    korrigiert mich falls ich mich da irre 
    */ // ja! // danke!
    }
    

    need_input


Anmelden zum Antworten