Faça um programa que apresente um menu de opções para o cálculo das seguintes operações entre dois números:
  • adição (opção 1)
  • subtração (opção 2)
  • multiplicação (opção 3)
  • divisão (opção 4).
  • saída (opção 5)
O programa deve possibilitar ao usuário a escolha da operação desejada, a exibição do resultado e a volta ao menu de opções. O programa só termina quando for escolhida a opção de saída (opção 5).

Passo 1

O exercício pede um programa que exiba um menu com cinco opções (adição, subtração, multiplicação, divisão e saída), permita ao usuário escolher uma dessas operações entre dois números, mostre o resultado e volte ao menu repetidamente até que o usuário escolha sair (opção 5). Vamos usar conceitos de laços de repetição (para voltar ao menu), estruturas de decisão (para identificar a opção escolhida) e entrada/saída de dados.

Passo 2

Declaramos as variáveis necessárias: um inteiro para a opção do menu e dois valores numéricos (float ou double) para operar. Em seguida, abrimos um laço (por exemplo, while) que continua enquanto a opção for diferente de 5.

Passo 3

Dentro do laço, imprimimos o menu na tela e usamos scanf (ou outro método de leitura) para capturar a opção escolhida. Usamos um switch–case para tratar cada opção.

Passo 4

Nos cases 1 a 4, solicitamos ao usuário os dois números, lemos os valores, realizamos a operação correspondente (adição, subtração, multiplicação ou divisão) e exibimos o resultado formatado. Depois de mostrar o resultado, o programa retorna automaticamente ao início do laço, reapresentando o menu.

Passo 5

No case 5, exibimos uma mensagem de encerramento e usamos break para sair do switch. A condição do while reconhece que a opção agora é 5 e encerra o laço, finalizando o programa. No default do switch, tratamos entradas inválidas exibindo um aviso e voltamos ao menu.

Resposta

#include <stdio.h>
int main() {
int opcao = 0;
double num1, num2, resultado;
while (opcao != 5) {
    // Exibe o menu
    printf("\n=== Menu de Operações ===\n");
    printf("1. Adição\n");
    printf("2. Subtração\n");
    printf("3. Multiplicação\n");
    printf("4. Divisão\n");
    printf("5. Sair\n");
    printf("Escolha uma opção: ");
    scanf("%d", &opcao);

    switch (opcao) {
        case 1:
            printf("Digite dois números para somar: ");
            scanf("%lf %lf", &num1, &num2);
            resultado = num1 + num2;
            printf("Resultado: %.2lf + %.2lf = %.2lf\n", num1, num2, resultado);
            break;

        case 2:
            printf("Digite dois números para subtrair: ");
            scanf("%lf %lf", &num1, &num2);
            resultado = num1 - num2;
            printf("Resultado: %.2lf - %.2lf = %.2lf\n", num1, num2, resultado);
            break;

        case 3:
            printf("Digite dois números para multiplicar: ");
            scanf("%lf %lf", &num1, &num2);
            resultado = num1 * num2;
            printf("Resultado: %.2lf * %.2lf = %.2lf\n", num1, num2, resultado);
            break;

        case 4:
            printf("Digite dois números para dividir: ");
            scanf("%lf %lf", &num1, &num2);
            if (num2 != 0) {
                resultado = num1 / num2;
                printf("Resultado: %.2lf / %.2lf = %.2lf\n", num1, num2, resultado);
            } else {
                printf("Erro: divisão por zero não é permitida.\n");
            }
            break;

        case 5:
            printf("Encerrando o programa. Até logo!\n");
            break;

        default:
            printf("Opção inválida! Tente novamente.\n");
    }
}

return 0;
}

Exercícios relacionados