Les partenaires publicitaires:

Comment faire entrée uniquement un nombre entier dans c ++

Forcer entrée dans un programme C ++ pour être un entier est utile lorsque vous demandez à une personne de saisir un numéro, comme son âge, et que vous voulez ignorer entrée invalide, comme "2 $," "18,5" ou "no." Il n'y a pas de manière simple de restreindre l'entrée à un type spécifique, comme les fonctions d'E / S traitent généralement entrée simplement comme un caractère ou une chaîne. Pour forcer l'entrée entier, boucle manuellement via l'entrée et vérifier que chaque personnage est un entier valide.

Instructions

  1. Ouvrez votre fichier de C ++ dans un éditeur tel que Microsoft Visual Studio Express.

  2. Inclure les bibliothèques nécessaires pour accéder aux fonctions en ajoutant le code suivant en haut de votre fichier:

    inclure // isdigit
    inclure // atoi
    inclure // strlen
    inclure // printf, fgets, stdin, BUFSIZ
  3. Déclarez les variables nécessaires à l'entrée un entier en ajoutant le code suivant en haut de votre fonction:

    int nombre;

    n non signé;

    char buffer [BUFSIZ];

    bool found_nondigit, valable;

  4. Demandez à l'utilisateur de saisir un nombre entier. Vérifiez si elle est entrée valide et, si non, gardez demandant entrée jusqu'à ce que l'utilisateur entre seulement un nombre entier en ajoutant le code suivant:

    valide = false;



    while (! valide) {

    printf ( "Entrez un entier: " );

    if (fgets (tampons, tampons sizeof, stdin)! = NULL) {

    tampon [strlen (tampon) -1] = ' 0';

    found_nondigit = false;

    if (strlen (tampon) == 0)




    found_nondigit = true;

    pour (n = 0- n

    if (! isdigit (tampon [n]))

    found_nondigit = true;

    if (found_nondigit!) {

    Number = atoi (tampons);

    printf ("% D n", Nombre);

    valide = true;

    }

    autre

    printf ( "Erreur: entrée non valide n" );

    }

    }

    Entrée comme "5f," "x6" et "8.4" sont détectés en entrée invalide. Le "pour" boucle vérifie si chaque caractère entré est un nombre de 0 à 9. Le "if (strlen (tampon) == 0)" ligne vérifie si l'utilisateur appuyait sur la "Entrer" clavier sans entrer toute entrée. Le "atoi" fonction convertit l'entrée en entier une fois qu'il a été validé.

  5. Enregistrez le fichier C ++, compiler et exécuter le programme pour collecter les entrées entier de l'utilisateur.

» » » » Comment faire entrée uniquement un nombre entier dans c ++