Escreva um programa que leia dois valores reais(float), mostre na tela o menu de opções abaixo, leia a opção do usuário e execute a operação escolhida com os dois valores fornecidos no início do programa. Escreva uma mensagem de erro se a opção for inválida
1 soma dos 2 números
2 diferença entre os 2 números( maior e menor)
3 multiplicação dos dois números
4 divisão dos 2 números ( primeiro dívide pelo segundo)
Soluções para a tarefa
Certo, coloquei o que pediu e também umas proteções contra digitação de letras.
#include<stdio.h>
#include<stdlib.h>
int main()
{
float n1, n2; // as variaveis pedidas
int opcao; // variavel opcao, que serve para selecionar as opcões de operaçoes
char n[2]; // uma string para proteção do menu contra letras/caracteres
opcao = 0; // iniciamos a variavel opcao como 0, para que caia na repetição
while (opcao != 5) // repetição para ficar exibindo o menu enquanto a opcao 5 (sair) não for selecionada
{
opcao = 0; // reset da variavel opcao, para que o menu não "trave"
printf("Digite o primeiro numero\n");
scanf("%f", &n1); // parte de coleta dos numeros
printf("Digite o segundo numero\n");
scanf("%f", &n2);
while((opcao < 1) || (opcao > 5)) // repetiçao para exibir o menu enquanto nenhuma das opções for selecionada
{
printf("\n\nEscolha uma das opções da lista\n\n1 - Soma\n2 - Subtração\n3 - Multiplicação\n4 - Divisão\n\n5 - Sair do programa\n");
scanf("%s", n); // coleta da opcao por meio da string N
opcao = atoi(n); // transformação da string N em inteiro, caso letra/caractere digitado resulta em 0 e se um numero for digitado resulta naquele numero
if((opcao < 1) || (opcao > 5)) // se opção diferente das exibidas, exibe a mensagem opção invalida
{
printf("\nOpção inválida\n");
}
}
switch(opcao) // escolha das opções por meio do switch
{
case 1: // caso 1 seria a primeira opção do menu, no caso soma
printf("\nO resultado de %f + %f é %f\n", n1, n2, n1+n2);
break;
case 2: // caso 2 seria a primeira opção do menu, no caso subtração
printf("\nO resultado de %f - %f é %f\n", n1, n2, n1-n2);
break;
case 3: // caso 3 seria a primeira opção do menu, no caso multiplicação
if((n1 == 0) || (n2 == 0)) // realiza um teste para ver se será uma multiplicação com 0
{
printf("\nO resultado da multiplicação de um numero por 0 é 0\n\n"); // se for exibe a mensagem
}
else
{
printf("\nO resultado de %f x %f é %f\n\n", n1, n2, n1*n2); // se não for realiza a conta
}
break;
case 4: // caso 4 seria a primeira opção do menu, no caso divisao
if(n2 == 0) // realiza um teste para ver se será uma divisão por 0
{
printf("\nNão se pode dividir um numero por 0\n\n"); // se for exibe a mensagem
}
else
{
printf("\nO resultado de %f / %f é %f\n\n", n1, n2, n1/n2); // se não for realiza a conta
}
break;
}
}
printf("\nPrograma Finalizado\n");
return 0;
}