Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define SOMA 1
- #define SUBTRACAO 2
- #define DIVISAO 3
- #define MULTIPLICACAO 4
- #include <stdio.h>
- int escolher_operacao(void)
- {
- int opcao_operacao;
- puts("\nEscolha a operação desejada: ");
- puts("1- Soma");
- puts("2- Subtração");
- puts("3- Divisão");
- puts("4- Multiplicação");
- scanf("%d", &opcao_operacao);
- return opcao_operacao;
- }
- char exibir_operador(int id_operacao)
- {
- char operador;
- switch (id_operacao)
- {
- case SOMA:
- operador = '+';
- break;
- case SUBTRACAO:
- operador = '-';
- break;
- case DIVISAO:
- operador = '/';
- break;
- case MULTIPLICACAO:
- operador = '*';
- }
- return operador;
- }
- int main(void)
- {
- int opcao_programa;
- int opcao_operacao;
- float n1, n2;
- float resultado;
- char resposta;
- while (1)
- {
- puts("1- Iniciar calculadora");
- puts("2- Sair");
- scanf("%d", &opcao_programa);
- if (opcao_programa == 2)
- break;
- // Leitura dos operandos antecipada.
- printf("\nDigite o primeiro número: ");
- scanf("%f", &n1);
- printf("\nDigite o segundo número: ");
- scanf("%f", &n2);
- opcao_operacao = escolher_operacao();
- switch (opcao_operacao)
- {
- case SOMA:
- resultado = n1 + n2;
- break;
- case SUBTRACAO:
- resultado = n1 - n2;
- break;
- case DIVISAO:
- if (!n2)
- {
- fprintf(stderr, "\nNão é possível realizar divisão por zero.\n");
- continue;
- }
- else
- {
- resultado = n1 / n2;
- }
- break;
- case MULTIPLICACAO:
- resultado = n1 * n2;
- break;
- default:
- fprintf(stderr, "\nOperação inválida.\n");
- }
- printf("\nO resultado da operação %.2f %c %.2f é %.2f\n", n1, exibir_operador(opcao_operacao), n2, resultado);
- printf("\nDeseja realizar outra operação? [s/n] ");
- scanf("\n%c", &resposta);
- if (resposta == 'n')
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement