SabineWerkmann Geschrieben 26. September 2011 Geschrieben 26. September 2011 Hallo zusammen, ich fange gerade erst an zu programmieren (C/C++) und habe dann ein bisschen herumprobiert den Flächeninhalt eines Kreises zu errechnen. Es funktioniert ABER wenn ich keine Zahl eingebe bei dem Radius würde ich gerne eine Schleife? einbauen damit die Eingabe wiederholt werden muss, nur ich finde nicht heraus wie das geht #include <cstdlib> #include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv[]) { double radius, Flaeche; const float PI=3.14159; cout << "Bitte geben sie den Radius des Kreises ein: "; cin >> radius; system("CLS"); Flaeche= PI * pow(radius,2); cout << "Der Flaecheninhalt betraegt : " << Flaeche << "\n"; system("PAUSE"); return 0; } Kann mir jemand helfen ?
Guybrush Threepwood Geschrieben 26. September 2011 Geschrieben 26. September 2011 Eine einfache Möglichkeit wäre immer Strings einzulesen und dann versuchen die in eine Zahl umzuwandeln, wenn das nicht geht hat der Benutzer etwas falsches eingegeben und du kannst ihn auffordern etwas anderes einzugeben. Eine andere bessere Möglichkeit ist die entsprechende Fehlercodes von cin abzufragen die gesetzt werden wenn die Eingabe nicht zu dem passt was erwartet wurde. Wie das genau geht hab ich aber nicht im Kopf, musst du mal nach suchen.
Klotzkopp Geschrieben 26. September 2011 Geschrieben 26. September 2011 while(!(cin >> radius)) { cout << "Falsche Eingabe, bitte wiederholen: "; // Fehlerstatus des Eingabestreams zurücksetzen cin.clear(); // Unverarbeitete Zeichen aus dem Stream entfernen cin.ignore(numeric_limits<streamsize>::max(), '\n'); } [/code] Du brauchst dafür noch [code]#include <limits>
lilith2k3 Geschrieben 26. September 2011 Geschrieben 26. September 2011 Für später vormerken: Exceptions - C++ Documentation
SabineWerkmann Geschrieben 27. September 2011 Autor Geschrieben 27. September 2011 Dankeschön an alle hat funktioniert :-*
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden