Maison > développement back-end > C++ > Comment assurer la validation des entrées numériques en C ?

Comment assurer la validation des entrées numériques en C ?

Patricia Arquette
Libérer: 2024-11-15 21:13:02
original
632 Les gens l'ont consulté

How to Ensure Numeric Input Validation in C  ?

Assurer la validation des entrées numériques en C

Valider les entrées utilisateur pour garantir la précision numérique peut être un défi en C. Pour résoudre ce problème, nous recherchons un programme qui accepte la saisie de nombres entiers tout en se terminant si aucune entrée n'est fournie.

Méthode :

Pour valider la saisie numérique et gérer les saisies vides, l'approche suivante est recommandé :

int n;
cin >> n;
if (!cin) // or if(cin.fail())
{
    // No input or invalid input
    cin.clear(); // Reset failbit
    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Skip bad input
    cout << "Invalid input. Please enter an integer: "; // Request reinput
}
Copier après la connexion

Explication :

  • Lorsque cin rencontre une entrée non valide (par exemple, des caractères non numériques), il définit l'indicateur de bit d'échec.
  • cin.clear() réinitialise le failbit et permet au programme de continuer.
  • cin.ignore() supprime le tampon d'entrée restant pour éviter d'autres erreurs de saisie.
  • Un message s'affiche demandant à l'utilisateur de saisir à nouveau un entier.

En validant continuellement la saisie et en gérant les cas de saisie vides, cette méthode garantit la fonctionnalité correcte du programme dans la gestion de la saisie de nombres entiers.

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