Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Nitch en 7 Octubre 2011, 21:06 pm



Título: Error calculadora en C++
Publicado por: Nitch en 7 Octubre 2011, 21:06 pm
Tengo un programa que ami entender esta bien pero me salta errores en comparacion de variables. Se que este programa se puede hacer en switch_case, pero quiero aprender hacerlo asin, ya que en switch case me parece bastante mas facil y con este veo k por lo menos lo complico yo mismo un poco.

#include <iostream>
using namespace std;

int sum(int x, int y);
int rest(int x, int y);
int mult(int x, int y);
int divi(int x, int y);

int main()
{
    system("color 0C");
    int num1, num2, suma, resta, multiplicacion, eleccion, division;
    inicio:
    cout << "*****CALCULADORA*****" << endl;
    cout << "Indica que desea hacer: (suma, resta, multiplicacion, division) " << endl;
    cin >> eleccion;
    if(eleccion=="suma")
    {
                        cout << "Escriba un numero: " << endl;
                        cout <<"Escriba otro numero: " << endl;
                        suma=sum(num1, num2);
                        cout << num1 <<" + " << num2 <<" = " << suma << endl;
    }
    if(eleccion=="resta")
    {
                         resta=rest(num1, num2);
                         cout << num1 <<" - " << num2 <<" = " << resta << endl;
    }
    if(eleccion=="multiplicacion")
    {
                         multiplicacion=mult(num1, num2);
                         cout << num1 <<" * " << num2 <<" = " << multiplicacion << endl;
    }
    if(eleccion=="division")
    {
                            division=divi(num1, num2);
                            cout << num1 <<" * " << num2 <<" = " << division << endl;
    }
    else
    {
                            cout << "No has introducido numeros o palabras correctas." << endl;
                            goto inicio;
    }
    system("pause");
    return 0;
}

int sum( int x, int y)
{
    return (x+y);
}

int rest(int x, int y)
{
    return (x-y);
}

int mult(int x, int y)
{
    return (x*y);
}

int divi(int x, int y)
{
    return (x/y);
}




Si alguien ve el fallo le agradeceria que respondiera este post. Gracias


Título: Re: Error calculadora en C++
Publicado por: Queta en 7 Octubre 2011, 21:24 pm
Estás comparando enteros con cadenas :rolleyes:.


Título: Re: Error calculadora en C++
Publicado por: Nitch en 7 Octubre 2011, 22:08 pm
es verdad, pero al poner las cadenas con string, y eleccion tambien en string, me sigue sin funcionar, y estaria comprando solo cadenas, y no tendria que dar ese error no? Gracias por la ayuda


Título: Re: Error calculadora en C++
Publicado por: Queta en 7 Octubre 2011, 22:18 pm
strcmp (http://www.cplusplus.com/reference/clibrary/cstring/strcmp/ (http://www.cplusplus.com/reference/clibrary/cstring/strcmp/))/strncmp (http://new.cplusplus.com/reference/clibrary/cstring/strncmp/ (http://new.cplusplus.com/reference/clibrary/cstring/strncmp/)).


Título: Re: Error calculadora en C++
Publicado por: LearningSpanishProgrammer en 7 Octubre 2011, 23:02 pm
Nitch, si estas usando C++ entonces use "string"

Código
  1. #include <iostream>
  2.  
  3. std::string name;
  4. std::cin >> name;
  5.  
  6. if (name == "alguna cosa")
  7. {
  8. }


Título: Re: Error calculadora en C++
Publicado por: Nitch en 8 Octubre 2011, 04:17 am
Muchas gracias a todos, me ha servido de gran ayuda