Filter [Zahlen, Buchstaben]
-
Wie kann ich überprüfen ob ein erwarteter FLOAT Wert tatsächlich ein Float Wert ist. Und ein String tatächlich ein String ohne Zahlen.
-
Wenn der float kein float ist, dann wird die Eingabe fehlschlagen. Beim String gehst du alle Zeichen durch und guckst, ob es Ziffern sind oder nicht.
-
Leider schaut er nur beim ersten Glied nach ob es ein Alphabetic Zeichen ist oder nicht... wie kann ich dem sagen, dass er alle elemente von dem String "name" durchschauen soll und nicht nur den ersten
/* int i=0; /... do { cout << "\nGeben Sie bitte Ihren Namen ein:\t"; (cin >> name); if (isalpha(name[i])){ // hat geklappt => raus aus der schleife break; } else { cerr << "Sie haben ein ungueltiges Zeichen eingegeben! Versuchen Sie es erneut.\n"; cin.clear(); // Fehlerzustand zurücksetzen fflush(stdin); (cin >> name); } } while (cin); */
-
i verändert sich auch nie. Warum sollte dann name[i] jemals etwas anderes sein als das erste Zeichen?
ABER: Dein Code ist grauenhaft. Ich weiß nicht wie du lernst, aber das solltest du unverzüglich abstellen. Und am besten auch sagen, wie du lernst, als Warnung an andere. Das sieht aus wie ein zusammenkopierter Codesalat. Stückchen von Code die für sich vielleicht einmal richtig waren, aber aus dem Zusammenhang gerissen wurden, zusammengenäht mit zufälligen Zeichen, bis etwas compilierbares herauskam. Ein Frankensteinmonster in C++.