Maison >développement back-end >C++ >Comment valider la saisie d'entiers en C ?

Comment valider la saisie d'entiers en C ?

DDD
DDDoriginal
2024-11-19 03:54:03586parcourir

How can you validate integer input in C  ?

Validation d'une entrée entière en C

Pour créer un programme garantissant que la saisie de l'utilisateur est un nombre entier, il faut relever le défi de la validation des entrées. Contrairement à la fonction atoi(), qui est limitée aux entrées à un chiffre, une approche alternative est nécessaire lorsqu'il s'agit d'entrées entières à plusieurs chiffres.

Comme démontré dans l'extrait de code fourni, on peut utiliser une boucle while pour demander à plusieurs reprises à l'utilisateur une saisie jusqu'à ce qu'un entier valide soit saisi. Cependant, l'implémentation de la boucle nécessite un mécanisme de vérification de la validité des entrées.

C'est ici que la méthode cin.fail() entre en jeu. Lorsque cin rencontre une entrée non numérique, il définit l'indicateur failbit. En vérifiant si ce bit est défini à l'aide de if (!cin), on peut déterminer si l'entrée est invalide.

Lors de la détection d'une entrée invalide, le programme doit :

  1. Utiliser cin .clear() pour réinitialiser le bit d'échec.
  2. Employez cin.ignore() pour supprimer l'entrée non valide du flux.
  3. Invitez l'utilisateur à saisir à nouveau un entier valide.

Ce processus garantit que le programme n'accepte que les entrées entières valides de l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn