Aprendendo While em C
As estruturas de repetição são fundamentais na linguagem C, pois permitem que um programa execute a mesma ação várias vezes de forma automática. Entre elas, o while infinito e o do-while são muito úteis para criar sistemas que continuam funcionando até que o usuário escolha encerrar.
O while infinito é usado quando queremos repetir um bloco de código sem definir uma quantidade exata de repetições, geralmente utilizando break para encerrar. Já o do-while garante que o bloco seja executado pelo menos uma vez antes de verificar a condição.
Neste conteúdo, você irá praticar situações reais com análise de palavras, controle de estoque, monitoramento de temperatura, caixa eletrônico e tabuada com repetição.
Questão 1 — Detector de palavras curtas e longas
Um sistema simples analisa o tamanho das palavras digitadas pelo usuário.
Problema:
Crie um programa em C que peça o tamanho de uma palavra.
O programa deve usar while infinito e parar quando o usuário digitar 0.
Classificação:
- 1 até 4 letras:
Palavra curta - 5 até 8 letras:
Palavra media - Acima de 8 letras:
Palavra longa
No final, mostre quantas palavras foram analisadas.
Exemplo:
Digite a quantidade de letras da palavra: 3
Palavra curta.
Digite a quantidade de letras da palavra: 7
Palavra media.
Digite a quantidade de letras da palavra: 0
Analise encerrada.
Total de palavras analisadas: 2
Resposta:
#include
int main() {
int letras;
int totalPalavras = 0;
while (1) {
printf("Digite a quantidade de letras da palavra: ");
scanf("%d", &letras);
if (letras == 0) {
printf("Analise encerrada.\n");
break;
}
if (letras >= 1 && letras <= 4) {
printf("Palavra curta.\n\n");
} else if (letras <= 8) {
printf("Palavra media.\n\n");
} else {
printf("Palavra longa.\n\n");
}
totalPalavras++;
}
printf("Total de palavras analisadas: %d\n", totalPalavras);
return 0;
}
Questão 3 — Controle de temperatura de uma incubadora
Uma incubadora precisa acompanhar a temperatura interna.
Problema:
Crie um programa em C que leia temperaturas usando while infinito.
O programa deve parar quando o usuário digitar -100.
Classificação:
- Menor que 35:
Temperatura baixa - De 35 até 38:
Temperatura ideal - Maior que 38:
Temperatura alta
No final, mostre quantas vezes a temperatura ficou fora da faixa ideal.
Exemplo:
Digite a temperatura: 34
Temperatura baixa.
Digite a temperatura: 37
Temperatura ideal.
Digite a temperatura: 40
Temperatura alta.
Digite a temperatura: -100
Monitoramento encerrado.
Leituras fora da faixa ideal: 2
Resposta:
#include
int main() {
float temperatura;
int foraDaFaixa = 0;
while (1) {
printf("Digite a temperatura: ");
scanf("%f", &temperatura);
if (temperatura == -100) {
printf("Monitoramento encerrado.\n");
break;
}
if (temperatura < 35) {
printf("Temperatura baixa.\n\n");
foraDaFaixa++;
} else if (temperatura <= 38) {
printf("Temperatura ideal.\n\n");
} else {
printf("Temperatura alta.\n\n");
foraDaFaixa++;
}
}
printf("Leituras fora da faixa ideal: %d\n", foraDaFaixa);
return 0;
}
Questão 4 — Caixa eletrônico simples
Um banco quer criar um menu simples para o cliente consultar e sacar dinheiro.
O saldo inicial é de 500.
Problema:
Crie um programa em C com o menu:
1 – Consultar saldo
2 – Sacar dinheiro
3 – Sair
O programa deve continuar executando até o usuário escolher 3.
Use do-while.
Exemplo:
1 - Consultar saldo
2 - Sacar dinheiro
3 - Sair
Escolha uma opcao: 1
Saldo atual: R$ 500.00
1 - Consultar saldo
2 - Sacar dinheiro
3 - Sair
Escolha uma opcao: 2
Digite o valor do saque: 100
Saque realizado.
1 - Consultar saldo
2 - Sacar dinheiro
3 - Sair Escolha uma opcao: 3
Atendimento encerrado.
Resposta:
#include
int main() {
int opcao;
float saldo = 500;
float saque;
do {
printf("\n1 - Consultar saldo\n");
printf("2 - Sacar dinheiro\n");
printf("3 - Sair\n");
printf("Escolha uma opcao: ");
scanf("%d", &opcao);
if (opcao == 1) {
printf("Saldo atual: R$ %.2f\n", saldo);
} else if (opcao == 2) {
printf("Digite o valor do saque: ");
scanf("%f", &saque);
if (saque <= saldo) {
saldo = saldo - saque;
printf("Saque realizado.\n");
} else {
printf("Saldo insuficiente.\n");
}
} else if (opcao == 3) {
printf("Atendimento encerrado.\n");
} else {
printf("Opcao invalida.\n");
}
} while (opcao != 3);
return 0;
}
Questão 5 — Tabuada com repetição
Pedro quer criar um programa que mostre a tabuada de vários números.
Problema:
Crie um programa em C que peça um número e mostre a tabuada dele de 1 a 10.
Depois, pergunte se o usuário deseja calcular outra tabuada:
Deseja continuar? 1 – Sim | 0 – Nao
Use do-while.
Exemplo:
Digite um numero: 5
5 x 1 = 5
5 x 2 = 10
...
5 x 10 = 50
Deseja continuar? 1 - Sim | 0 - Nao: 0
Programa encerrado.
Resposta:
#include
int main() {
int numero;
int i;
int continuar;
do {
printf("Digite um numero: ");
scanf("%d", &numero);
i = 1;
do {
printf("%d x %d = %d\n", numero, i, numero * i);
i++;
} while (i <= 10);
printf("\nDeseja continuar? 1 - Sim | 0 - Nao: ");
scanf("%d", &continuar);
} while (continuar == 1);
printf("Programa encerrado.\n");
return 0;
}
Caso o C ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.





