Técnicas de Entrada de Enteros
Entrada Múltiple de Enteros
Entrada Múltiple Básica
#include <stdio.h>
int main() {
int a, b, c;
printf("Ingrese tres enteros: ");
scanf("%d %d %d", &a, &b, &c);
printf("Usted ingresó: %d, %d, %d\n", a, b, c);
return 0;
}
Técnicas de Validación de Entrada
Verificación del Éxito de la Entrada
#include <stdio.h>
int main() {
int numero;
int resultado = scanf("%d", &numero);
if (resultado == 1) {
printf("Entrada de entero válida: %d\n", numero);
} else {
printf("Entrada inválida\n");
}
return 0;
}
Estrategias de Entrada Avanzadas
Manejo de Límites de Entrada
#include <stdio.h>
#include <limits.h>
int main() {
int numero;
printf("Ingrese un entero entre %d y %d: ", INT_MIN, INT_MAX);
while (scanf("%d", &numero) != 1) {
printf("Entrada inválida. Inténtelo de nuevo: ");
while (getchar() != '\n'); // Limpiar el búfer de entrada
}
printf("Entrada válida: %d\n", numero);
return 0;
}
Comparación de Técnicas de Entrada
| Técnica |
Pros |
Contras |
scanf() Básica |
Simple, directa |
Sin validación incorporada |
scanf() Validada |
Comprobación de entrada |
Requiere código adicional |
| Limpieza de Búfer |
Previene errores de entrada |
Más compleja |
Visualización del Flujo de Entrada
graph TD
A[Inicio de Entrada] --> B{Método de Entrada}
B -->|Simple| C[scanf() Directo]
B -->|Avanzado| D[scanf() Validado]
C --> E[Almacenar Valor]
D --> F{¿Entrada Válida?}
F -->|Sí| E
F -->|No| G[Reintentar Entrada]
Buenas Prácticas
- Siempre valide las entradas de enteros.
- Use la limpieza del búfer para una entrada robusta.
- Verifique los valores devueltos de
scanf().
LabEx recomienda dominar estas técnicas para un manejo confiable de la entrada de enteros.