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 ? Zitieren
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. Zitieren
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> Zitieren
lilith2k3 Geschrieben 26. September 2011 Geschrieben 26. September 2011 Für später vormerken: Exceptions - C++ Documentation Zitieren
SabineWerkmann Geschrieben 27. September 2011 Autor Geschrieben 27. September 2011 Dankeschön an alle hat funktioniert :-* Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.