Advertisement
wagner-cipriano

Validação de dados avançada em C++

Jun 19th, 2020
1,489
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  1. //Validação de dados Avançada
  2. #include <iostream>
  3. #include <limits>
  4. using namespace std;
  5. #ifdef __linux__
  6.   const int INT_MAX = std::numeric_limits<std::int32_t>::max();
  7.   const int INT_MIN = std::numeric_limits<std::int32_t>::min();
  8. #endif
  9.  
  10. void read_input_int_val(int &var, string str) {
  11.   bool valid = false;
  12.   while(!valid) {
  13.     cout << str;
  14.     cin >> var;
  15.     if(cin.fail()) {
  16.       cout << "Entrada inválida\n";
  17.       cin.clear();
  18.       cin.ignore(INT_MAX, '\n');
  19.     } else
  20.       valid = true;
  21.   }
  22. }
  23.  
  24. int main() {
  25.   int idade;
  26.  
  27.   do {
  28.     read_input_int_val(idade, "\nDigite a sua idade: ");
  29.   } while(idade < 1 || idade > 150);
  30.  
  31.   cout << "\n\n\nValidado com sucesso, valor int: " << idade << endl;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement