Ir ao conteúdo
  • Cadastre-se
Gabriel_D

C++ alguém pode me ajudar com este exercício de c++ ?

Recommended Posts

este exercicio caiu na minha prova de c++ : Crie um programa em que o usuário digite 2 valores numéricos inteiros, e depois insira qual operação matemática ele quer realizar. 
Para escolher a operação matemática, o usuário deve digitar "som", "sub", "div" ou "mult". Caso o usuário digite "som", o programa deve mostrar a soma dos valores.
Caso digite "sub", o programa deve mostrar a subtração destes valores. Caso digite "div", o programa deve mostrar a divisão destes programas. 
Caso o usuário digite "mult", o programa deve mostrar a multiplicação destes valores.

 

eis a minha resposta:

 

#include <iostream>
#include <stdlib.h>



using namespace std;



int main(){
int x;
int y;
int oper;
float som;
int sub, mult, div;
cout << "Digite um valor para x: ";
cin >> x;
cout << "Digite um valor para y: ";
cin >> y;
cout << "Se voce for somar digite som, se for subtrair digite sub, se for dividir, digite div, se for multipicar digite mult: ";
cin >> oper;
if (oper = som)
{
cout << x + y;
}
if(oper = sub)
{
cout << x - y;
}
if(oper = mult)
{
cout << x * y;
}
if(oper =div)
{
cout << x / y;
}



}


 

 

não consigo resolver, creio que o erro está nas variáveis que estou atribuindo mas não consigo por favor me ajudem

Compartilhar este post


Link para o post
Compartilhar em outros sites

No if se você usar o operador = significa que você está igualando uma variável em vez de comparar, para comparar são ==.

 

E depois do = você tinha que usar " " pois é uma string(pelo menos era pra ser)

#include <iostream>           // std::cout, std::cin
#include <string>             // std::string
  
using namespace std;

int main()
{
    string oper;

    int x = 0, y = 0;

    cout << "Digite um valor para x: ";
    cin >> x;

    cout << "Digite um valor para y: ";
    cin >> y;

    cout << "Se voce for somar digite som, se for subtrair digite sub, se for dividir, digite div, se for multipicar digite mult: ";
    cin >> oper;

    if (oper == "som")
        cout << x + y;
    else if (oper == "sub")
        cout << x - y;
    else if (oper == "mult")
        cout << x * y;
    else if (oper == "div")
        cout << x / y; // cuidado para não passar 0 no y, se você passar 0 no y vai ocasionar problemas por tentar fazer uma divisão por zero.

    system("pause");

    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Gabriel beleza? 

Cara teu erro esta la em cima no operador de atribuição. Nao se usa operador de atribuição dentro de uma condicional. 

Caso queira atribuir uma condição de igualdade devera usar o ==


 

exemplo: ... if (a == ) {

}

entendeu? 

 

Espero ter te ajudado.

 

 

veu abracao!

 

 

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

×