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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-11-15 21:13:02555parcourir

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
}

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!

Déclaration:
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