Kleine frage



  • ich wollte wissen wie ich eine pause in folgenden quelltext erzeugen kann ohneen befehle system("PAUSE"); zu benutzen hier mein quelltext

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main()
        {
        int eingabe;
        double wurzel;
    
        cout << " Programm zur Wurzelberechnung" << endl;
        cout << endl;
        cout << " Geben sie bitte eine Zahl ein: ";
        cin  >> eingabe;
    
        if (eingabe >= 0)
          {
          wurzel = sqrt(eingabe);
          cout << "Wurzel von " << eingabe << " = "
               << wurzel << endl;
          }
          else
          {
          cout << "Wurzel negativer Zahlen kann nicht "
               << " berechnet werden." << endl;
          }
    
        cout << endl;
        cout << "Programm wird beendet.";        
    
        return 0;
        }
    

    gruß c4pone



  • cin.sync() nach cin >> und da wo die pause sein soll getchar(). getchar() wartet auf keyboard eingabe... drueckste nen knopf gehts weiter.

    Gruß Tobi.



  • wie meinst du das jetz mit cin ?!

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main()
        {
        int eingabe;
        double wurzel;
    
        cout << " Programm zur Wurzelberechnung" << endl;
        cout << endl;
        cout << " Geben sie bitte eine Zahl ein: ";
        cin  >> cin.sync(eingabe);
    
        if (eingabe >= 0)
          {
          wurzel = sqrt(eingabe);
          cout << "Wurzel von " << eingabe << " = "
               << wurzel << endl;
          }
          else
          {
          cout << "Wurzel negativer Zahlen kann nicht "
               << " berechnet werden." << endl;
          }
    
        cout << endl;
        cout << "Programm wird beendet.";   
    
        getchar();      
    
        return 0;
        }
    

    so oder wie ?
    und wenn ja wofür steht das denn dann der befehl "cin.sync()"



  • #include <iostream> 
    #include <cmath> 
    using namespace std; 
    
    int main() 
        { 
        int eingabe; 
        double wurzel; 
    
        cout << " Programm zur Wurzelberechnung" << endl; 
        cout << endl; 
        cout << " Geben sie bitte eine Zahl ein: "; 
        cin  >> eingabe
        cin.sync();
    
        if (eingabe >= 0) 
          { 
          wurzel = sqrt(eingabe); 
          cout << "Wurzel von " << eingabe << " = " 
               << wurzel << endl; 
          } 
          else 
          { 
          cout << "Wurzel negativer Zahlen kann nicht " 
               << " berechnet werden." << endl; 
          } 
    
        cout << endl; 
        cout << "Programm wird beendet, sobald irgendeine Taste\n"
             << "gedrueckt wird.";   
    
        getchar();                 
        return 0; 
        }
    

    cin.sync leer glaube ich den eingabe buffer. aber so muesste es gehen



  • ok gut so gehts es auch , danke für deine hilfe 🙂



  • kein ding, freut mich wenn ich helfen konnte.

    Gruß Tobi.





  • richtig, cin.sync() leert den speicher meiner erfahrung nach gehts auf windows/linux nur ab und zu gibts probleme beim mac - warum ? keine ahnung


Anmelden zum Antworten