Maison > développement back-end > C++ > Comment puis-je valider efficacement la saisie de l'utilisateur avec `cin` en C ?

Comment puis-je valider efficacement la saisie de l'utilisateur avec `cin` en C ?

Patricia Arquette
Libérer: 2024-12-15 22:13:15
original
289 Les gens l'ont consulté

How Can I Effectively Validate User Input with `cin` in C  ?

Validation des entrées avec cin en C : un guide complet

La validation des entrées joue un rôle crucial pour empêcher les entrées non valides de compromettre l'intégrité des programmes . Une technique couramment utilisée en C pour la validation des entrées consiste à utiliser le flux cin.

La boucle construite dans l'extrait de code est une méthode valide pour la validation des entrées. Il utilise une boucle de mise en œuvre pour demander en permanence à l'utilisateur un revenu imposable, tout en traitant efficacement les entrées invalides. Si l'entrée n'est pas un entier valide, un message d'erreur s'affiche et cin est effacé et ignoré pour garantir que la boucle peut continuer.

Cependant, il existe des approches alternatives que certains considèrent comme plus idiomatiques ou efficaces :

  • Utilisation d'exceptions : Certains programmeurs préfèrent utiliser des exceptions pour gérer les erreurs d'E/S. Au lieu de vérifier les erreurs dans la boucle, C fournit une exception qui peut être interceptée pour gérer tout problème de saisie potentiel.
  • Boucle simplifiée : Alternativement, on peut simplifier la boucle en supprimant l'erreur variable et incorporant directement l’entrée lue dans la condition de boucle. Cela simplifie le code et élimine le besoin d'une variable supplémentaire pour suivre les erreurs.

Voici un exemple de boucle simplifiée :

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');
    }
}
Copier après la connexion

En fin de compte, la meilleure approche pour la validation des entrées dépend des préférences personnelles et des exigences spécifiques du programme. La boucle présentée dans le code original est une solution valide et fonctionnelle, tandis que les alternatives offrent de légères variations et efficacités.

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