Je travaille actuellement sur un programme C++ et je veux vérifier si l'entrée que l'utilisateur est en train de faire est valide. Actuellement, mon code fonctionne si l'utilisateur entre l'entrée correcte ou si l'utilisateur entre un petit nombre incorrect, mon programme indiquera à l'utilisateur que l'entrée est invalide. Maintenant, mon problème est que lorsque l'utilisateur entre plusieurs caractères/lettres ou un grand nombre de 9 chiffres ou plus, mon programme passe dans une boucle infinie en leur donnant le message d'erreur. Ce qui suit est mon code:Vérification de l'entrée valide
//for (;;)
while (flag== false)
{
cin >> Input;
if (Input <= choice.size()-1)
{
flag = true;
// break;
}
else
{
cerr << "Input <" << Input << "> is Invalid, Please Choose a Valid Option\n";
userInput = 0;
}
}
Comme vous pouvez le voir, je l'ai aussi essayé de faire une boucle infinate mais il me donne les mêmes résultats. Dans mon code, j'imprime un vecteur à l'écran. Fondamentalement, l'utilisateur choisit la valeur des vecteurs pour l'utiliser.
Je suis ouvert à toutes suggestions. Merci
double possible de [? Comment puis-je valider l'entrée d'utilisateur en tant que double en C++] (http://stackoverflow.com/questions/3273993/how-do-i-validate-user -input-as-a-double-in-c) – casablanca