Ir ao conteúdo
  • Cadastre-se
jlukinha

Problema resultado de operações c++

Recommended Posts

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.

Compartilhar este post


Link para o post
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 =;

Compartilhar este post


Link para o post
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;     }}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×