Valider les entrées de manière transparente avec la boucle de validation d'entrée de C
Dans votre quête pour maîtriser C, la validation des entrées est primordiale. Vous êtes tombé sur une approche valide, mais explorons les options alternatives.
Votre approche
Votre boucle tourne autour de la vérification cin.fail(), qui détecte les formats d'entrée incorrects . Si un nombre non entier est saisi, il affiche un message d'erreur et efface le tampon d'entrée en utilisant cin.clear() et cin.ignore(). Bien que cette approche soit raisonnable, certaines nuances peuvent être améliorées.
Une approche alternative
Au lieu de vous fier à cin.fail(), vous pouvez vérifier directement si l'opération de saisie (cin >> taxableIncome) réussit ou échoue. En cas d'échec, gérez l'erreur avec élégance avec un message et effacez le tampon d'entrée comme avant :
int taxableIncome; for (;;) { cout << "Please enter in your taxable income: "; if (cin >> taxableIncome) { break; } else { cout << "Please enter a valid integer" << endl; cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); } }
En utilisant cette boucle, vous évitez de définir et de vérifier une variable d'erreur explicite, simplifiant ainsi le processus de validation. De plus, effacer le tampon d'entrée à l'aide de numeric_limits
Conclusion
Les deux approches sont efficaces pour la validation des entrées. , mais la boucle révisée offre une syntaxe plus concise et lisible. En fin de compte, la meilleure méthode dépend de vos préférences et des exigences spécifiques de votre programme.
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!