Problem z biblioteką <cctype> zapytanie odnośnie funkcji " isalpha() "
Ostatnio zmodyfikowano 2015-11-22 21:08
Rudnicky Temat założony przez niniejszego użytkownika |
Problem z biblioteką <cctype> zapytanie odnośnie funkcji " isalpha() " » 2015-11-22 20:16:09 Witam, Mam zmienną int która ma pobrać od użytkownika liczbę. Chciałbym sprawdzić w if'ie za pomocą funkcji " isalpha()" czy użytkownik podaje liczbę czy też jakiś znak. W momencie w którym podał by znak program powinien się zamknąć. Czy mógłby mi ktoś pomóc proszę? :) Pozdrawiam. #include <iostream> #include <string> #include <cctype>
using namespace std;
struct sponsoring { string nazwisko; long double kwota; };
int main() { int liczba_osob; int i = 0; cout << "Ilu osob wplaca?"; cin >> liczba_osob; if( isalpha( liczba_osob ) ) { cout << "Zle"; } sponsoring * ptr = new sponsoring[ liczba_osob ]; cout << "Podaj dane: \n"; for( i = 0; i < liczba_osob; i++ ) { cout << "_______________________________\n"; cout << "Podaj " << i + 1 << " nazwisko: "; cin >> ptr[ i ].nazwisko; cout << "Podaj " << i + 1 << " kwote: "; cin >> ptr[ i ].kwota; } cout << "\n\n"; for( i = 0; i < liczba_osob; i++ ) { cout << "\tnazwisko: " << ptr[ i ].nazwisko << " , oraz kwota: " << ptr[ i ].kwota << endl; } cout << "\n\n"; system( "PAUSE" ); return 0; }
|
|
michal11 |
» 2015-11-22 20:19:01 W tym przypadku możesz dać na przykład return 1; |
|
carlosmay |
» 2015-11-22 20:23:01 cin >> liczba_osob;
if( isalpha( liczba_osob ) ) { cout << "Zle"; }
Wczytujesz zmienną typu int, więc takie sprawdzanie nie ma sensu. isalpha() sprawdza znaki typu 'char'. Ty musisz sprawdzić czy prawidłowo wczytano liczbę. while( !cin >> liczba_osob ) continue;
|
|
Rudnicky Temat założony przez niniejszego użytkownika |
» 2015-11-22 20:23:20 W dalszym ciągu nie wyświetla to komunikatu cout << "Zle\n"; <- to było do return 1 |
|
carlosmay |
» 2015-11-22 20:38:54 Ewentualnie jak chcesz wyjść z programu napisz cout << "Ilu osob wplaca?"; if( !( cin >> liczba_osob ) ) { cout << "Zle"; return 1; }
ps. W poprzednim pości też powinny być nawiasy. |
|
Rudnicky Temat założony przez niniejszego użytkownika |
» 2015-11-22 21:08:02 Dzięki za odpowiedź carlosmay. Wszystko działa pięknie teraz. Zapamiętam sobie ten sposób na przyszłość. Zamykam temat.
Pozdrawiam |
|
« 1 » |