kompiliertes Programm bleibt nicht stehen



  • 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