fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int ActionGenerator() {
  5. int Action;
  6. while(true) {
  7. cout << endl << "SELECIONE UMA ACTION: " << endl;
  8. cout << "[1 = ActionX]" << endl << "[2 = ActionZ]" << endl;
  9. cin >> Action;
  10. if (Action == 1 || Action == 2) return Action;
  11. else {
  12. cout << endl << "ACTION INVALIDA !" << endl;
  13. cin.clear(); //Limpa a flag de erro quando há falha no parse do valor entrado
  14. cin.ignore(); //Limpa o buffer
  15. }
  16. }
  17. }
  18.  
  19. int main() {
  20. cout << ActionGenerator() << endl << "ok" <<endl;
  21. }
  22.  
  23. //https://pt.stackoverflow.com/q/41855/101
Success #stdin #stdout 0s 15240KB
stdin
abc
12
1
stdout
SELECIONE UMA ACTION: 
[1 = ActionX]
[2 = ActionZ]

ACTION INVALIDA !

SELECIONE UMA ACTION: 
[1 = ActionX]
[2 = ActionZ]

ACTION INVALIDA !

SELECIONE UMA ACTION: 
[1 = ActionX]
[2 = ActionZ]

ACTION INVALIDA !

SELECIONE UMA ACTION: 
[1 = ActionX]
[2 = ActionZ]

ACTION INVALIDA !

SELECIONE UMA ACTION: 
[1 = ActionX]
[2 = ActionZ]
1
ok