Técnicas de Entrada de Inteiros
Entrada Múltipla de Inteiros
Entrada Múltipla Básica
#include <stdio.h>
int main() {
int a, b, c;
printf("Digite três inteiros: ");
scanf("%d %d %d", &a, &b, &c);
printf("Você digitou: %d, %d, %d\n", a, b, c);
return 0;
}
Técnicas de Validação de Entrada
Verificando o Sucesso da Entrada
#include <stdio.h>
int main() {
int numero;
int resultado = scanf("%d", &numero);
if (resultado == 1) {
printf("Entrada de inteiro válida: %d\n", numero);
} else {
printf("Entrada inválida\n");
}
return 0;
}
Estratégias Avançadas de Entrada
Lidando com Limites de Entrada
#include <stdio.h>
#include <limits.h>
int main() {
int numero;
printf("Digite um inteiro entre %d e %d: ", INT_MIN, INT_MAX);
while (scanf("%d", &numero) != 1) {
printf("Entrada inválida. Tente novamente: ");
while (getchar() != '\n'); // Limpar o buffer de entrada
}
printf("Entrada válida: %d\n", numero);
return 0;
}
Comparação de Técnicas de Entrada
| Técnica |
Prós |
Contras |
scanf() Básica |
Simples, direto |
Sem validação embutida |
scanf() Validada |
Verificação de entrada |
Requer código extra |
| Limpeza de Buffer |
Previne erros de entrada |
Mais complexo |
Visualização do Fluxo de Entrada
graph TD
A[Iniciar Entrada] --> B{Método de Entrada}
B -->|Simples| C[scanf() Direto]
B -->|Avançado| D[scanf() Validado]
C --> E[Armazenar Valor]
D --> F{Entrada Válida?}
F -->|Sim| E
F -->|Não| G[Repetir Entrada]
Boas Práticas
- Sempre valide entradas de inteiros.
- Utilize a limpeza de buffer para entradas robustas.
- Verifique os valores de retorno de
scanf().
O LabEx recomenda dominar essas técnicas para um manejo confiável de entradas de inteiros.