"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je valider efficacement l'entrée entière de l'utilisateur en C ++?

Comment puis-je valider efficacement l'entrée entière de l'utilisateur en C ++?

Publié le 2025-03-22
Parcourir:879

How Can I Effectively Validate Integer Input from the User in C  ?

Vérification de l'entrée de l'utilisateur pour la validité entière

Lorsque vous travaillez avec l'entrée de l'utilisateur, il est essentiel de s'assurer que les données entrées s'alignent avec le format attendu. Dans les cas où des valeurs entières sont requises, vous pouvez rencontrer des scénarios où les utilisateurs saisissent par inadvertance des caractères non numériques.

Cet article fournit une solution pour résoudre ce problème en vérifiant si l'entrée du flux d'entrée standard est un entier ou non. Voici une ventilation détaillée de l'implémentation:

int x;
cin >> x;

if (cin.fail()) {
    // Not an int.
}

La fonction cin.fail () vérifie l'état du flux d'entrée. Si l'opération d'entrée n'a pas réussi (par exemple, en raison d'une entrée non valide), la fonction renvoie True et définit l'indicateur Failbit. Sinon, il renvoie false.

Cette approche vous permet de déterminer si l'entrée est un entier ou non. Si ce n'est pas le cas, vous pouvez prendre des mesures appropriées, telles que l'incitation de l'utilisateur à réintégrer un entier valide.

pour les scénarios où le flux d'entrée contient des caractères non INT suivis par des entiers, vous pouvez utiliser la boucle suivante:

int x;
while (cin.fail()) {
    cin.clear();
    cin.ignore(256, '\n');
    cin >> x;
}

La fonction cin.Clear () efface l'indicateur Failbit, tandis que Cin.ignore (256, '\ n') saute les caractères d'entrée restants jusqu'au premier caractère Newline ou 256 caractères, selon la première éventualité. Cependant, cette approche peut ne pas convenir aux cas où des numéros à virgule flottante sont attendus.

En résumé, l'extrait de code fourni vous permet de vérifier si l'entrée du flux d'entrée standard est un entier. Sinon, vous pouvez gérer la situation en conséquence, en vous assurant que seules les valeurs entières valides sont acceptées dans votre programme.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3