automatisches schließen verhindern



  • BlauerTeufel226 schrieb:

    HAllo ,
    ich mache das tutorial von schornböck und hab n problem die programme schließen automatisch. ICh hab mir auch des FAQ durchegelesen und weiß net wie ich des in das Programm einbinden soll.
    Hier is des woran ich hänge:
    Beispiel

    #include <iostream>
        using namespace std;
    
        int main()
        {
            cout<<"Bitte geben Sie eine Zahl ein\n";
            int a;
            cin>>a;
            cout<<"Bitte geben Sie noch eine Zahl ein\n";
            int b;
            cin>>b;
            cout<<"Bitte geben Sie die letzte Zahl ein\n";
            int c;
            cin>>c;
    
            int max=a;
    
            if(b>max)
            {
                max=b;
            }
            if(c>max)
            {
                max=c;
            }
    
            int min=a;
    
            if(b<min)
            {
                min=b;
            }
            if(c<min)
            {
                min=c;
            }
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n";
        }
    
            //cin.get();
            //oder getch() von der #include <conio.h>
            //oder einfach im dos-fenster öffnen
    

    Ich weiß des es schon genau des gleiche gibt aber hab keine ahnung was der typ meint



  • SO?????

    #include <iostream>
        using namespace std;
    
        int main()
        {
            cout<<"Bitte geben Sie eine Zahl ein\n";
            int a;
            cin>>a;
            cout<<"Bitte geben Sie noch eine Zahl ein\n";
            int b;
            cin>>b;
            cout<<"Bitte geben Sie die letzte Zahl ein\n";
            int c;
            cin>>c;
    
            int max=a;
    
            if(b>max)
            {
                max=b;
            }
            if(c>max)
            {
                max=c;
            }
    
            int min=a;
    
            if(b<min)
            {
                min=b;
            }
            if(c<min)
            {
                min=c;
            }
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n";
    void wait ();
    {
        std::cin.clear();
        std::cin.ignore(std::cin.rdbuf()->in_avail());
        std::cin.get();
        return 0;
    }
        }
    


  • Hi,
    Na eher so,

    #include <iostream>
        using namespace std;
    
    void wait ();
    
        int main()
        {
            cout<<"Bitte geben Sie eine Zahl ein\n";
            int a;
            cin>>a;
            cout<<"Bitte geben Sie noch eine Zahl ein\n";
            int b;
            cin>>b;
            cout<<"Bitte geben Sie die letzte Zahl ein\n";
            int c;
            cin>>c;
    
            int max=a;
    
            if(b>max)
            {
                max=b;
            }
            if(c>max)
            {
                max=c;
            }
    
            int min=a;
    
            if(b<min)
            {
                min=b;
            }
            if(c<min)
            {
                min=c;
            }
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n";
    
            wait();
        }
    void wait ()
    {
        std::cin.clear();
        std::cin.ignore(std::cin.rdbuf()->in_avail());
        std::cin.get();
        return 0;
    }
    


  • Du sollst die Funktion aufrufen, nicht neu definieren.

    #include <iostream>
        using namespace std;
    
    void wait ()
    {
        std::cin.clear();
        std::cin.ignore(std::cin.rdbuf()->in_avail());
        std::cin.get();
    }
        int main()
        {
            cout<<"Bitte geben Sie eine Zahl ein\n";
            int a;
            cin>>a;
            cout<<"Bitte geben Sie noch eine Zahl ein\n";
            int b;
            cin>>b;
            cout<<"Bitte geben Sie die letzte Zahl ein\n";
            int c;
            cin>>c;
    
            int max=a;
    
            if(b>max)
            {
                max=b;
            }
            if(c>max)
            {
                max=c;
            }
    
            int min=a;
    
            if(b<min)
            {
                min=b;
            }
            if(c<min)
            {
                min=c;
            }
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n";
           wait();
        }
    

    Lies mal das.
    http://tutorial.schornboeck.net/funktionen2.htm



  • Geht nicht.
    Compiler zeigt die Fehler an
    C:\Dev-Cpp\Unbenannt1.cpp In function `void wait()':
    C:\Dev-Cpp\Unbenannt1.cpp return-statement with a value, in function returning 'void'



  • Void ist ja kein richtiger Datentyp, darf also nichts zurückgeben. Probier mal das : 😉

    #include <iostream> 
        using namespace std; 
    
        int main() 
        { 
            cout<<"Bitte geben Sie eine Zahl ein\n"; 
            int a; 
            cin>>a; 
            cout<<"Bitte geben Sie noch eine Zahl ein\n"; 
            int b; 
            cin>>b; 
            cout<<"Bitte geben Sie die letzte Zahl ein\n"; 
            int c; 
            cin>>c; 
    
            int max=a; 
    
            if(b>max) 
            { 
                max=b; 
            } 
            if(c>max) 
            { 
                max=c; 
            } 
    
            int min=a; 
    
            if(b<min) 
            { 
                min=b; 
            } 
            if(c<min) 
            { 
                min=c; 
            } 
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n"; 
    void wait (); 
    { 
        std::cin.clear(); 
        std::cin.ignore(std::cin.rdbuf()->in_avail()); 
        std::cin.get(); 
    } 
        }
    


  • Des von Braunstein geht auch nicht



  • von mikey auch nicht...



  • Sry, probier das:

    #include <iostream> 
    using namespace std; 
    
    void wait ()
    { 
        cin.clear(); 
        cin.ignore(std::cin.rdbuf()->in_avail()); 
        cin.get(); 
    } 
        int main() 
        { 
            cout<<"Bitte geben Sie eine Zahl ein\n"; 
            int a; 
            cin>>a; 
            cout<<"Bitte geben Sie noch eine Zahl ein\n"; 
            int b; 
            cin>>b; 
            cout<<"Bitte geben Sie die letzte Zahl ein\n"; 
            int c; 
            cin>>c; 
    
            int max=a; 
    
            if(b>max) 
            { 
                max=b; 
            } 
            if(c>max) 
            { 
                max=c; 
            } 
    
            int min=a; 
    
            if(b<min) 
            { 
                min=b; 
            } 
            if(c<min) 
            { 
                min=c; 
            } 
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n"; 
    
        }
    

    😃



  • OH NEIN!!!!!!!!!!!
    DES GEHT AUCH NICHT!!!!!!!!!!!!!!!!!!!!!!!!!!!
    SORRY BIN VERZWEIFELT
    KANN ICH DES NICHT ODER MACHT IHR ES FALSCH



  • Ach, wär nicht schlecht, wenn ich die Funktion aufgerufen hätte:

    #include <iostream> 
    using namespace std; 
    
    void wait () 
    { 
        cin.clear(); 
        cin.ignore(std::cin.rdbuf()->in_avail()); 
        cin.get(); 
    } 
        int main() 
        { 
            cout<<"Bitte geben Sie eine Zahl ein\n"; 
            int a; 
            cin>>a; 
            cout<<"Bitte geben Sie noch eine Zahl ein\n"; 
            int b; 
            cin>>b; 
            cout<<"Bitte geben Sie die letzte Zahl ein\n"; 
            int c; 
            cin>>c; 
    
            int max=a; 
    
            if(b>max) 
            { 
                max=b; 
            } 
            if(c>max) 
            { 
                max=c; 
            } 
    
            int min=a; 
    
            if(b<min) 
            { 
                min=b; 
            } 
            if(c<min) 
            { 
                min=c; 
            } 
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n"; 
            wait ();
        }
    


  • LALALALALA GEHT AUCH NICHT *Buch und lapi auf den Boden schmeiß*



  • #include <iostream> 
    #include <conio.h>
    using namespace std; 
    
        int main() 
        { 
            cout<<"Bitte geben Sie eine Zahl ein\n"; 
            int a; 
            cin>>a; 
            cout<<"Bitte geben Sie noch eine Zahl ein\n"; 
            int b; 
            cin>>b; 
            cout<<"Bitte geben Sie die letzte Zahl ein\n"; 
            int c; 
            cin>>c; 
    
            int max=a; 
    
            if(b>max) 
            { 
                max=b; 
            } 
            if(c>max) 
            { 
                max=c; 
            } 
    
            int min=a; 
    
            if(b<min) 
            { 
                min=b; 
            } 
            if(c<min) 
            { 
                min=c; 
            } 
    
            cout<<"Die größte Zahl ist "<<max<<" und die kleinste ist "<<min<<"\n"; 
            getch ();
        }
    


  • So, sorry für die Peinlichkeit aber ich hab mehr blind als aufmerksam geholfen ...



  • JUHU es geht,
    .
    kannst du mir nur noch erklären was des bedeutet



  • Lies dir bitte die Tutorials durch, sonst wirst du es nie verstehen.
    Ich habe doch glatt auch bloß kopiert und nicht nachgeschaut. Habs korrigiert.



  • Joah klar, kein Problem. Also "getchar" wartet auf eine Eingabe. Das Besondere an dieser Funktion ist, dass die kein "Echo" zurückliefert, das heist, es wird bei einer Eingabe kein Zeichen auf dem Bildschirm ausgegeben. Zudem musst du die Eingabe nicht mit "Enter" bestätigen. Logischerweise kann "getch" somit nur einzelne Charakter, bzw. Buchstaben einlesen, mehr nicht. Deklariert ist getch in conio.h, deshalb musst du es extra einbinden !



  • Super, danke



  • @mikey
    Du hast vergessen zu erwähnen, das getchar() nicht standardkonform ist und somit nicht von allen Compilern unterstützt wird.



  • mikey schrieb:

    Deklariert ist getch in conio.h, deshalb musst du es extra einbinden !

    Und genau daher soll man getch (bzw. conio.h - Funktionen generell) meiden. Es ist compilerabhängig, ob man die Funktion überhaupt hat!
    Die in der FAQ geposteten Lösungen funktionieren sicher. Ich kann's hier ja auch kompilieren. Aber da der Threadersteller (der sich lieber mal mit 'ner einfacheren Sprache beschäftigen sollte) immer nur "geht nicht" anstatt "geht nicht, Compiler sagt: " geschrieben hätte, hätte man das auch gescheit zu Ende bringen können.


Anmelden zum Antworten