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;
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;
}