Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Alano

[Código] Calculadora Muito Básica

Recommended Posts

Mega básica! Visando apenas o aprendizado.

 

#include <stdio.h>

int main(void) {
   int func;
   int var1, var2;
   int resul;

   // OUTPUT (Imprime Linhas Básicas)
   printf("========================\n");
   printf("    simpleCALC - C    \n");
   printf("========================\n\n");

   // Menu de Opções
   printf("[1 >> somar]\t[2 >> multiplicar]\n[3] >> subtrair]\t[4 >> dividir]\n");
   printf("O que deseja fazer? ");

   // Captura o teclado (input)
   scanf("%d", &func);

   // Nova Linha
   printf("\n");


   printf("Por favor, preencha com a primeira váriavel:\n");
   scanf("%d", &var1); // Captura váriavel INT

   printf("Por favor, preencha com a segunda váriavel:\n");
   scanf("%d", &var2); // Captura váriavel INT

   // Nova Linha
   printf("\n");

   // Checa o comando escolhido
   if (func == 1) {
       resul = var1 + var2;
       printf("%d + %d = %d\n", var1, var2, resul);
   } else if (func == 2) {
       resul = var1 * var2;
       printf("%d * %d = %d\n", var1, var2, resul);
   } else if (func == 3) {
       resul = var1 - var2;
       printf("%d - %d = %d\n", var1, var2, resul);
   } else if (func == 4) {
       resul = var1 / var2;
       printf("%d / %d = %d\n", var1, var2, resul);
   } else {
       printf("Opção Inválida!"); // Caso não for nenhuma
   }

   printf("\n\n========================");
   printf("\n        FIM!");
   printf("\n========================\n\n");


   // Retorna sem erros (0) ou seja, (EXIT_SUCCESS)
   return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quer umas dicas?

 

<> Use valores double para poder trabalhar com decimais;

<> Simplifique! A variável result não é necessária (se olhar meu código, vai entender porquê - não se dá pra fazer isso no printf, mas você já soma direto no output);

<> Utilize um loop Do-While para verificar se não é outro número/caracter que o cara apertou no menu (como eu fiz);

<> Utilize um switch para as opções de menu;

<> Você pode tentar também passar os inputs de valores para dentro do switch ou if, permitindo assim que adicione novas funcionalidades que não requerem exatamente 2 valores;

<> Se souber, utilize funções separadas ;D

 

Ah, vou fazer uma versão em C++ só pra brincar um pouquinho aqui ;D

 

Dê uma olhada. Se estiver estudando C por pura curiosidade, gostaria de lhe recomendar o estudo de C++ ao invés disso. Muito melhor, na minha opinião. Mas se for por faculdade ou similares que está estudando C, aí fica ruim =/

 

#include <iostream>
using namespace std;


int main()
{
   double value1, value2; // Controle
   int options; // Menu de Opções
   // resul não vai ser necessária

   // OUTPUT (Console OUTput - COUT)
   cout << "===================================\n" <<
           "    simple C alc (but with C++)\n" <<
           "===================================\n\n";

   // Menu de Opções
   do {
       cout << " 1 - Somar\n" <<
               " 2 - Subtrair\n" <<
               " 3 - Multiplicar\n" <<
               " 4 - Dividir\n" <<
               " 5 - Sair\n" <<
               "\n" <<
               " O que deseja fazer?\n" <<
               "\n" <<
               "(1,2,3,4,5) --> ";

       // Captura o teclado (ConsoleINput - CIN)
       cin >> options;
   } while (options < 1 || options > 5);

   cout << "\n";

   if(options == 5) return 0; // Termina o programa caso isso acontecer

   // Captura os 2 valores para fazer a C alc funcionar
   cout << "Por favor, digite o primeiro valor para o cálculo escolhido: ";
   cin >> value1;
   cout << "\n" <<
           "Por favor, digite o segundo valor para o cálculo escolhido: ";
   cin >> value2;
   cout << "\n";

   switch(options)
   {
       case 1:
           // Soma
           cout << value1 << " + " << value2 << " = " << value1 + value2;
           break;

       case 2:
           // Subtração
           cout << value1 << " - " << value2 << " = " << value1 - value2;
           break;

       case 3:
           // Multiplicação
           cout << value1 << " * " << value2 << " = " << value1 * value2;
           break;

       case 4:
           // Divisão
           cout << value1 << " / " << value2 << " = " << value1 / value2;
           break;
   }

   cout << "\n\n\n\n" <<
           "===================================\n" <<
           "               FIM!\n" <<
           "===================================\n\n";


   // Retorna main( ) e fecha o programa
   return 0;
}

 

Se usar outros headers, como o <cmath> de C++ (só de C++, se não estou enganado), pode usar funções como sqrt(double value), que é a raiz quadrada, e incrementar seu programa.

 

Não desista ;D

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.