Validación de entrada
Parte de la sección Fundamentals del Journey de C de Coddy — lección 35 de 63.
Al aceptar entradas de los usuarios, es importante verificar que la entrada sea válida antes de usarla en su programa.
Para la validación de entrada de enteros, puedes comprobar el valor de retorno de scanf:
int number;
int result = scanf("%d", &number);La función scanf devuelve el número de elementos leídos con éxito:
if (result == 1) {
// La entrada se leyó con éxito
printf("Valid input: %d\n", number);
} else {
// La entrada no fue válida
printf("Invalid input!\n");
}Para la validación de rangos, use sentencias condicionales después de leer la entrada:
if (number >= 1 && number <= 100) {
printf("Number is within valid range (1-100)\n");
} else {
printf("Number is outside valid range!\n");
}Desafío
FácilEscribe un programa que lea un entero del usuario y lo valide de dos maneras:
- Comprueba si la entrada es realmente un entero (usando el valor de retorno de scanf)
- Comprueba si el entero está entre 10 y 50 (inclusive)
Tu programa debe imprimir:
- "Valid input!" si la entrada es un entero válido entre 10 y 50.
- "Invalid input type!" si la entrada no es un entero.
- "Out of range!" si la entrada es un entero pero no está entre 10 y 50.
Hoja de referencia
Para validar la entrada de enteros, compruebe el valor de retorno de scanf:
int number;
int result = scanf("%d", &number);
if (result == 1) {
// La entrada se leyó correctamente
printf("Valid input: %d\n", number);
} else {
// La entrada no era válida
printf("Invalid input!\n");
}Para la validación de rangos, utilice sentencias condicionales:
if (number >= 1 && number <= 100) {
printf("Number is within valid range (1-100)\n");
} else {
printf("Number is outside valid range!\n");
}Pruébalo tú mismo
#include <stdio.h>
int main() {
// Escribe tu código aquí
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
2Variables
Tipos de datosEnterosFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos Parte 1Conversión de tipos Parte 2Desafío de repaso5Entrada y salida
Especificadores de formatoFundamentos de scanfDesafío de repaso #1Validación de entradaDesafío de repaso #23Operadores
Operadores aritméticosOperador de móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos - Parte 1Operadores lógicos - Parte 2Operadores lógicos - Parte 3Desafío de repaso