This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:stream_states [2019/05/21 07:35] gthanos |
cpp:stream_states [2019/05/21 07:39] gthanos |
||
|---|---|---|---|
| Line 31: | Line 31: | ||
| </ | </ | ||
| - | ===== Input validation ===== | + | ===== Έλεγχος των τιμών εισόδου (input |
| Με έλεγχο των παραπάνω //flags// μπορούμε να κάνουμε έλεγχο της εισόδου που εισάγει ο χρήστης σε ένα πρόγραμμα, | Με έλεγχο των παραπάνω //flags// μπορούμε να κάνουμε έλεγχο της εισόδου που εισάγει ο χρήστης σε ένα πρόγραμμα, | ||
| + | |||
| + | <code cpp input_validation.cpp> | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | using namespace std; | ||
| + | |||
| + | int main() { | ||
| + | double weight; | ||
| + | |||
| + | while (true) { | ||
| + | cout << "Enter your weight: "; | ||
| + | cin >> weight; | ||
| + | |||
| + | if (cin.fail()) { | ||
| + | // We failed to extract a double | ||
| + | cin.clear(); | ||
| + | cin.ignore(256, | ||
| + | continue; | ||
| + | } | ||
| + | |||
| + | if (weight <= 0) | ||
| + | continue; | ||
| + | |||
| + | break; | ||
| + | } | ||
| + | |||
| + | cout << "You weight is: " << weight << endl; | ||
| + | } | ||
| + | </ | ||