Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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.
Editado por dif
usar a tag code

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;     }}
Editado por Daniel Santos Oliveira

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






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

×