Wurzelberechner bug



  • Hallo,

    habe ein kleines Wurzelberechnungs-Programm geschrieben, aber wenn ich "a" eingebe, dann wiederholt er das Programm mehrmals in der Sekunde, also es flimmert dann und dann hängt es sich auf, wie kann ich machen, das man nur Zahlen eingeben darf?

    //Header
    #include <cstdlib>
    #include <iostream>
    #include <stdio.h>
    #include <math.h>
    
    //Anti "std::"
    using namespace std;
    
    //Deklarationen
    double param, result;
    
    //Main-Programm
    int main ()
    {
       //Mehrmaliges starten des Programmes
      while(1)
      {  
      cout<<"r0m's kleiner Wurzelberechner\n\nGeben Sie bitte eine Wurzel ein, die gezogen werden soll: ";
      cin>>param;
      result = sqrt (param);
      cout<<"\n\n\nErgebniss: "<<result;
      cin.get();
      cin.get();
      system("cls");
    }
    }
    

    Vielen Dank,
    r0m 🙂



  • Hallo

    Du musst prüfen, ob die Eingabe eine Zhal ist und wenn nicht die Eingabe wiederholen;

    while(!IsZahl(Eingabe))
    {
    cout<<"Bitte geben Sie Zahl ein";
    cin>>Eingabe;
    }
    

    Das ist natürlich nur eine Anregung und keine Lösung.

    chrische



  • Du kannst das ganz einfach so machen:

    if(!(cin>>param))
    {
        cout << "Eingabefehler!" << endl;
        return 1;
    }
    


  • vielen vielen dank, aht geklappt 😃


Anmelden zum Antworten