Maison > développement back-end > C++ > Cette boucle de validation d'entrée C `cin` est-elle optimale ?

Cette boucle de validation d'entrée C `cin` est-elle optimale ?

Patricia Arquette
Libérer: 2024-12-18 17:01:17
original
498 Les gens l'ont consulté

Is This C   `cin` Input Validation Loop Optimal?

Bonne boucle de validation des entrées utilisant cin en C

Dans le domaine de la programmation C, la validation des entrées est cruciale pour garantir une collecte de données précise. Cet article aborde la question de savoir si une boucle de validation d'entrée fournie utilisant « cin » constitue une approche optimale.

L'extrait de code présenté dans la question utilise une boucle « faire pendant » pour demander en permanence aux utilisateurs un revenu imposable jusqu'à ce que un entier valide est saisi. La logique de la boucle implique de vérifier les erreurs de saisie à l'aide de 'cin.fail()' et d'afficher un message d'erreur si une entrée non valide est rencontrée.

Cette approche est généralement solide et fournit une implémentation de base de la validation des entrées. Cependant, certains aspects peuvent être affinés pour améliorer son efficacité et sa maintenabilité.

Une recommandation est d'éviter d'activer des exceptions pour les iostreams, car les erreurs d'E/S ne sont pas considérées comme suffisamment exceptionnelles. Au lieu de cela, il est préférable de gérer explicitement les problèmes liés aux E/S.

De plus, l'utilisation d'une variable « erreur » avec des valeurs entières (0 ou 1) peut être simplifiée en utilisant directement une variable booléenne.

De plus, la condition de la boucle peut être modifiée pour lire directement de « cin » dans la variable « taxableIncome » à l'aide d'une instruction « if ». En éliminant la variable d'erreur intermédiaire et en affinant la logique de la boucle, le code devient plus concis et plus facile à comprendre.

Enfin, au lieu de sauter 80 caractères, il est recommandé d'utiliser les 'numeric_limits::max ()' constante pour garantir que tous les caractères erronés sont supprimés du flux d'entrée.

En résumé, bien que la boucle de validation d'entrée présentée soit fonctionnelle, l'adoption des améliorations suggérées peut améliorer sa convivialité et sa clarté, ce qui aboutira à un mécanisme de validation plus robuste et efficace.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal