Zabezpieczanie int i string przed błędnymi danymi
Ostatnio zmodyfikowano 2018-06-24 11:47
magmat Temat założony przez niniejszego użytkownika |
Zabezpieczanie int i string przed błędnymi danymi » 2018-06-23 22:31:48 Witam, chce zabezpieczyć wprowadzanie liter zamiast liczb do ID_book. Przy obecnym zabezpieczeniu po wpisaniu niecyfry enter musi byc wczytany dwukrotnie. Chcę tez zabezpieczyc string author przed wpisaniem cyfr. Czy obejdzie sie bez konwersji na char i stosowania przedziałów ASCII? int ID_book; string title, author;
while( !( cin >> ID_book ) ) { cout << "You have to enter a number.\nID:"; cin.clear(); cin.ignore( numeric_limits < streamsize >::max(), '\n' ); }
fflush; cin.get(); getline( cin, title );
cout << endl << "Author: "; getline( cin, author ); |
|
pekfos |
» 2018-06-24 01:19:32 Przy obecnym zabezpieczeniu po wpisaniu niecyfry enter musi byc wczytany dwukrotnie. |
Nie zapomniałeś o wczytywaniu title? Czy obejdzie sie bez konwersji na char i stosowania przedziałów ASCII? |
A co z tym nie tak? |
|
magmat Temat założony przez niniejszego użytkownika |
» 2018-06-24 10:20:07 Myślę po prostu ze konwersja na char nie jest najbardziej optymalnym sposobem i jestem przekonana ze string tez da sie jakos zabezpieczac ale nie umiem nic w internecie znaleźć co by działało. Chociażby z ciekawości pytam |
|
pekfos |
» 2018-06-24 11:47:53 Liczba jest poprawnym napisem. Jeśli dla twoich potrzeb nie jest, musisz to sama sprawdzać. |
|
« 1 » |