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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>

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.

Posts Similares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *