Moin Leutz,
sollen für die Schule mal wieder was über stumpfsinniger proggen, naja das Programm steht soweit - möchte es nur Idiotensicher gestalten, dafür fehlt mir eine bestimmte Funktion:
"Wie kann ich eine Eingabe (cin >> a <- definiert durch double, nicht int) so gestallten, das wirklich nur Zahlen eingegeben werden?"
Ich habe es schon nachlesen können, das man dafür isalpha() nehmen soll, Problem bei der Sache ist aber, das isalpha() nur mit int-Definitionen arbeitet und nicht mit double ...
Wie ihr vielleicht seht, hab ich nur einen Abfang für negative Zahlen, sowie Null hinbekommen ... ne Idee?
Mfg Pixtar ;-]
sollen für die Schule mal wieder was über stumpfsinniger proggen, naja das Programm steht soweit - möchte es nur Idiotensicher gestalten, dafür fehlt mir eine bestimmte Funktion:
"Wie kann ich eine Eingabe (cin >> a <- definiert durch double, nicht int) so gestallten, das wirklich nur Zahlen eingegeben werden?"
Ich habe es schon nachlesen können, das man dafür isalpha() nehmen soll, Problem bei der Sache ist aber, das isalpha() nur mit int-Definitionen arbeitet und nicht mit double ...
Code:
#include <iostream.h>
#include <ctype.h>
int main()
{
//Variablendeklaration
long double A=0;
long double PI=3.1415926535897932384626433832795028841972;
//Programmeinführung
cout << "\t\t\tKreisflaechenberechnung\n";
cout << "\t\t\t Alle Angaben in 'cm' \n\n";
//Wiedereinstieg nach Eingabefehler
Fehler:
//Frage nach der einer Kreisvariablen
cout << "Welchen Radius besitzt der Kreis?\n";
//Eingabe der Kreisvariablen
cout << ">> ";
double radius = 0;
cin >> radius;
//Eingabefehler abfangen
if ( radius==0 || radius<0)
{
cout << "\nBitte nur Zahlen (positive) verwenden bzw. keine Null!\n\n";
goto Fehler;
}
else
{
cout << "";
}
//Berechnung
A=2*radius*PI;
//Ausgabe
cout << "\nDie Kreisinnenflaeche betraegt:\n";
cout << ">> " << A << " cm" << "\n\n\n\n\n\n\n\n\n\n";
return 0;
}
Wie ihr vielleicht seht, hab ich nur einen Abfang für negative Zahlen, sowie Null hinbekommen ... ne Idee?
Mfg Pixtar ;-]