Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com uma calculadora orientada a objetos em c++


Brunno Loss

Pergunta

Oi pessoal tranquilo? acabei de me juntar ao fórum, estou fazendo faculdade de Desenvolvimento de Jogos, e to começando a da uma olhada no C++. Eu tive que fazer um trabalho que era simplesmente criar uma calculadora usando orientação a objeto, até ai tudo bem, mas depois chegando em casa resolvi brincar com ela e fazer algo mais complexo, porém gostaria de saber se teria algum jeito de fazer com que o usuário escolha o tipo de equação (soma, subtração, ...) só que sem colocar inumeros if's e else's? Agradeço a todos que me derem uma mãozinha, vou tenta quebra a cabeça aqui e sai procurando :).

ps.: não estou querendo que façam por mim, só que me deem uma esclarecida no assunto, alias o trabalho já foi feito e entregue, isso é pra mim aprender a mecher no c++

Aqui vai o que eu já fiz do código

#include <iostream>

#include <string>

using namespace std;

class Calculadora

{

private:

float resultado;

public:

float soma(float a, float b)

{

resultado=a+b;

return resultado;

}

float subtrai(float a, float b)

{

resultado=a-b;

return resultado;

}

};

int main()

{

Calculadora calc;

float x;

float y;

float mat;

cout << "Digite o primeiro numero: ";

cin >> x;

cout << endl;

cout << "Agora digite o segundo numero: ";

cin >> y;

cout << endl;

mat=calc.soma(x,y);

cout << mat;

cout << endl << endl;

getchar();

system("pause");

return 0;

};

Valeu, abraços!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá amigo!

Você poderia perguntar ao usuário qual operação ele quer fazer e armazenar isso num char, ou num int, depois dar um switch nessa variável.

Acho que é a forma mais prática de se livrar dos inúmeros if-elses.

Vou deixar um exemplo em C, porque C++ não é muito minha praia, mas provavelmente não vai ter problemas pra entender:

...
int operacao;

printf("Qual operação deseja fazer?\n");
printf("1) Soma\n");
printf("2) Subtração\n");
printf("3) Multiplicação\n");
printf("4) Divisão\n");
scanf("%d",&operacao);

while (operacao < 1 || operacao > 4)
{
    printf("Este número não é válido, digite um número entre 1 e 4.\n");
    scanf("%d",&operacao);
}

switch(operacao)
{
    case 1:
        //aqui você soma
        break;
    
    case 2:
        //aqui você subtrai
        break;
    
    case 3:
        //aqui você multiplica
        break;
    
    case 4:
        //aqui você divide
        break;
}
...

Um abraço!

Editado por Gui Meira
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...