Ir ao conteúdo
  • Cadastre-se

Problema resultado de operações c++


jlukinha

Posts recomendados

Olá, amigos. Meu problema é o seguinte: no programa abaixo, quando eu seleciono a operação desejada e dou os valores de "a" e "b", o resultado é representado por 1.79399e-307. 

 

 

 

#include <iostream>#include <stdlib.h>using namespace std;int main(){    int i;    double a,b,c;    cout<< "Digite o numero correspondente a operacao desejada.\n1-Soma\n2-Subtracao\n3-Multiplicacao\n4-Divisao"<<endl;    cin>>i;    switch(i) {    case 1:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    a+b==c;    cout<< "O valor da soma e: "<<c<<endl;    break;    case 2:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    a-b==c;    cout<< "O valor da diferenca e: "<<c<<endl;    break;    case 3:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    a*b==c;    cout<< "O valor da multiplicacao e: "<<c<<endl;    break;    case 4:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    a/b==c;    cout<< "O valor da divisao e: "<<c<<endl;    break;    default:    cout<< "Operacao invalida.";    break;          }   }
 
eu gostaria de saber porque isso ocorre e como eu resolvo isso. Obrigado.
Link para o comentário
Compartilhar em outros sites

O código abaixo resolve o seu problema.

#include <iostream>#include <stdlib.h> using namespace std; int main(){    int i;    double a,b,c;      cout<< "Digite o numero correspondente a operacao desejada.\n1-Soma\n2-Subtracao\n3-Multiplicacao\n4-Divisao"<<endl;    cin>>i;     switch(i) {     case 1:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    c = a+b;    cout<< "O valor da soma e: "<<c<<endl;    break;     case 2:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    c = a-b;    cout<< "O valor da diferenca e: "<<c<<endl;    break;     case 3:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    c = a*b;    cout<< "O valor da multiplicacao e: "<<c<<endl;    break;     case 4:    cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;    c = a/b;    cout<< "O valor da divisao e: "<<c<<endl;    break;     default:    cout<< "Operacao invalida.";    break;           }   }

As alterações que eu fiz foram na forma que você faz as atribuições.

Ao invés de usar, por exemplo, a+b==c, eu fiz: c = a+b.

 

Você vai usar o "==" quando quiser fazer comparações.

Por exemplo:    if(a+b == c).

 

Quando desejar fazer atribuições a variáveis, use somente =;

Link para o comentário
Compartilhar em outros sites

Par melhorar seu código você pode pedir os valores antes do switch assim não precisa reescrever diversas vezes:

#include <iostream> using namespace std; int main(){    int i;    double a,b,c;      cout<<"Digite o numero correspondente a operacao desejada."<<endl;    cout<<"1-Soma\n2-Subtracao\n3-Multiplicacao\n4-Divisao"<<endl;    cin>>i;     cout<< " Digite o valor do numero 'a': "<<endl;    cin>>a;    cout<< " Digite o valor do numero 'b': "<<endl;    cin>>b;     switch(i) {     case 1:    c = a+b;    cout<< "O valor da soma e: "<<c<<endl;    break;     case 2:    c = a-b;    cout<< "O valor da diferenca e: "<<c<<endl;    break;     case 3:    c = a*b;    cout<< "O valor da multiplicacao e: "<<c<<endl;    break;     case 4:    c = a/b;    cout<< "O valor da divisao e: "<<c<<endl;    break;     default:    cout<< "Operacao invalida.";    break;     }}
Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...