Exemplo 04 – C++ Calculadora

/*

Calculadora:

Solicite ao usuário dois valores reais e calcule as operaçãoes básicas a partir do menu:

[1] - Adição

[2] - Subtração

[3] - Multiplicação

[4] - Divisão

*/

#include <stdio.h>         //printf e scanf

#include <stdlib.h>        //system

#include <locale.h>        //locale para idioma portuguese

 

main(){                    //inicio do main()

      setlocale(LC_ALL,"Portuguese");   //definir locale para idioma portguese

      system("color 2F");               //difinir cor da 33

       float res,n1,n2;                  //declaração de variáveis float res n1 n2

      char ope,resp;                    //declaração de variável char ope e resp para apenas um caracter

      

       printf("\n\n\n\t\t\tDigite dois valores:\n\tValor 1: ");     //pedir dois valores

       scanf("%f",&n1);                                            //salvar primeiro valor digitado

       printf("\tValor 2: ");                                       //tabulação

       scanf("%f",&n2);                                            //salvar segundo valor digitado

            

       menu:

                   

       printf("\n\t\t\tEscolha a operação desejada:\n\n\t\tMenu de Opções:\n\n\t[+] - Adição\n\t[-] - Subtração\n\t[*] - Multiplicação\n\t[/] - Divisão\n\n\tOperação: ");

       fflush(stdin);                    //limpar memória

       scanf("%c",&ope);                 //salvar opção escolhida

       valor2:

       switch(ope){                      //selecione

               

       case "+":                  //caso +

              res=n1+n2;

              printf("\n\tSoma: %.2f %c %.2f %c %.2f",n1,43,n2,61,res);   

       break;

              

       case "-":                  //caso -

             res=n1-n2;

              printf("\n\tSubtração: %.2f %c %.2f %c %.2f",n1,45,n2,61,res);

       break;

               

       case "*":                  //caso *

            res=n1*n2;

              printf("\n\tMultiplicação: %.2f %c %.2f %c %.2f",n1,42,n2,61,res);

       break;

               

       case "/":                  //caso /

             if (n2!=0){

                   res=n1/n2;

                    printf("\n\tDivisão: %.2f %c %.2f %c %.2f",n1,47,n2,61,res);

             }else{

                    printf("\n\tO denominador não pode ser 0\n");

                    printf("\tValor 2: ");                                       //tabulação

                    scanf("%f",&n2);                                             //salvar segundo valor digitado

                    goto valor2;

             }

       break;

           

       default:                   //padrão default

             printf("\n\tOperação Inválida!\n");

            goto menu;

             

}                          //fim do switch

       

        repetir:

           

        printf("\n\n\t\t\tDeseja Repetir o Programa? \n\t[s] - Sim\n\t[n] - Não\n\n\tOpção: ");

             fflush(stdin);                                 //limpar memória

             scanf("%c",&resp);                             //salvar opção escolhida

      

             switch(resp){              //selecione

               

                    case "s":           //caso s ou S

                    case "S":

                           system("cls");

                           main();

                    break;

              

                    case "n":           //caso n ou N

                    case "N":

                           printf("\n\n\t\tO programa está sendo finalizado");               

                           _sleep(500);

                           printf(".");

                           _sleep(500);

                           printf(".");

                           _sleep(500);

                           printf(".");

                           _sleep(500);

                                              

                    break;

                        

                     default:            //padrão default

                           printf("\n\tOpção Inválida!\n");

                           goto repetir;

               

             }                    //fim do switch

}                    //fim do main()

Compartilhe!

Deixe um comentário