“Conocimiento Programación>C /C + + Programming

Cómo hacer de entrada Sólo un entero en C + +

2011/3/24
Forzar la entrada en un programa de C + a ser un número entero es útil cuando usted está solicitando una persona para introducir un número, como su edad, y desea ignorar entrada no válida , como "$ 2 ", " 18.5 "o" no. " No hay ninguna manera sencilla para restringir la entrada a un tipo específico , como las funciones de E /S normalmente procesan de entrada simplemente como un carácter o una cadena . Para forzar la entrada entero , loop manualmente a través de la entrada y comprobar que cada personaje es un entero válido . Instrucciones
1

Abra el C + + archivo en un editor como Microsoft Visual Studio Express.
2

Incluir las librerías necesarias para acceder a las funciones añadiendo el siguiente código al parte superior del archivo :

# include isdigit

//# include atoi

//# include < string . h > //strlen

# include //printf , fgets , stdin , BUFSIZ
3

Declarar las variables necesarias para ingresar un entero añadiendo el siguiente código al principio de la función :
número int

;

n sin firmar ;

char buffer [ BUFSIZ ] ;

bool found_nondigit , válido ;
4

Preguntar al usuario que introduzca un número entero . Compruebe si su entrada válida y, si no , siguen solicitando entrada hasta que el usuario introduce solamente un entero con el código siguiente :

válido = false;

while { < br (válido !) >

printf ("Introduzca un número entero :") ;

if (! fgets (buffer, buffer de sizeof , stdin ) = NULL ) {
búfer

[ strlen ( buffer) -1 ] = ' \\ 0 ' ;

found_nondigit = false;

if ( strlen ( buffer) == 0 )

found_nondigit = true;

para (n = 0 , n < strlen ( buffer) ; n + + )

si

found_nondigit = true ( isdigit ( buffer [ n]) !) ;

if (! found_nondigit ) {
número

= atoi ( buffer) ;

printf ("% d \\ n " , número) ;

válido = true;

}

más

printf ( "Error: entrada no válida \\ n"); }


}

entrada como " 5to ", " x6 " y" 8.4 " se detectan como entrada válida. El " de " controles de bucle si introduce cada carácter es un número del 0 al 9. El " if ( strlen ( buffer) == 0 )" verificaciones en línea si el usuario pulsa la tecla " Enter" sin ingresar ninguna información. La función " atoi " convierte la entrada a un entero , una vez que se ha validado .
5

Guarde el archivo C + + , compilar y ejecutar el programa para recolectar información del número entero del usuario.


C /C + + Programming
Cómo ejecutar un script CGI CPP en la Web
Cómo comprobar para los números impares en C + +
¿Cómo puedo implementar Corto tiempo de retraso en C
Cómo aprender C # Online
¿Qué es el formato udp?
¿Qué es la CTS en ASP.NET
Cómo visualizar las variables booleanas en C + +
¿Cuál es la función del módulo de memoria en línea único?
Conocimiento de la computadora © http://www.ordenador.online