[C con Clase] calculadora

Silvio S. Stenta silviostenta en hotmail.com
Jue Sep 17 17:44:20 CEST 2009


No estas usando los beneficios de la clase, te conviene utilizar los atributos con los métodos sino para que los tenes. 
Tambien te convendría tener la clase Calculadora en un archivo "Calculadora.h" y si queres la definición también ahí o en otro "Calculadora.cpp" y luego incluirlos en tu main.

// Que te parece algo asi?
// int  Calculadora::suma()
//{
//    return num1+num2;
//}

nombre archivo calculadora.h

class Calculadora
{
    int num1, num2;
public:
    Calculadora() {int=3, int=2)   //no es necesario que le pases parametros al constructor; podes hacerlo 
    int suma(int, int);                    //Calculadora(){num1=0;num2=0}
    int resta(int, int);
    int pruducto(int, int);
    int divicion(int, int);
};



nombre archivo main.cpp

# include <iostream>
#include "calculadora.h"
using namespace std;

int main (void)
{
    int menu, num1, num2;
    Calculadora calc1;
    cout << "Ingrese la operacion que desea realizar: "<< endl;
    cout << "1-SUMA"<< endl;
    cout << "2-RESTA"<< endl;
    cout << "3-MULTIPLICACION" << endl;
    cout << "4-DIVICION" << endl;
    cin >> menu;
    switch (menu)
    {
    case 1:
        cout << "Ingrese el primer numero a sumar: ";
        cin>>calc1.num1; //SI
        // NO cin>>num1;
        calc1.suma(num1); //Le estas pasando un solo argumento esta definido como " int Suma(int,int) " y 
                                       //ademas te devuelve un entero osea que te esta retornando algo y vos no se lo asignas a nada
        cout<< "Ingrese el segundo numero a sumar: ";
        cin>>calc1.num2; //SI    
        //NO cin>>num2;
        //NO calc1.suma(num2); //Le estas pasando un solo argumento y te esta retornando algo y vos no se lo asignas a nada
        cout << "El resultado es: "<< calc1.suma()<< endl; //ASI SI
    break;
//IGUAL CO LOS DEMAS
    case 2:
        cout << "Ingrese el primer numero a restar: ";
        cin>>num1;
        calc1.resta(num1); //Le estas pasando un solo argumento y te esta retornando algo y vos no se lo asignas a nada
        cout<< "Ingrese el segundo numero a restar: ";
        cin>>num2;
        calc1.resta(num2); //Le estas pasando un solo argumento y te esta retornando algo y vos no se lo asignas a nada
        cout << "El resultado es: "<< calc1.resta()<<endl;
    break;
    case 3:
        cout << "Ingrese el primer numero a multiplicar: ";
        cin>>num1;
        calc1.producto(num1); //Le estas pasando un solo argumento y te esta retornando algo y vos no se lo asignas a nada
        cout<< "Ingrese el segundo numero a multiplicar: ";
        cin>>num2;
        calc1.producto(num2);//Le estas pasando un solo argumento y te esta retornando algo y vos no se lo asignas a nada
        cout << "El resultado es: "<< calc1.pruducto()<<endl;
    break;
    case 4:
        cout << "Ingrese el dividendo: ";
        cin>>num1;
        calc1.divicion(num1); //"DIVISIÓN" Le estas pasando un solo argumento y te esta retornando algo y vos no se lo asignas a nada 
        cout<< "Ingrese el divisor: ";
        cin>>num2;
        calc1.divicion(num2); //Le estas pasando un solo argumento y te esta retornando algo y vos no se lo asignas a nada
        cout << "El resultado es: "<< calc1.divicion()<< endl; //Y los Argumentos??? 
    break;
    default:
        cout << "El numero ingresado es incorrecto.."<< endl;
    }
system ("pause");

}



nombre archivo calculadora.cpp

#include "calculadora.h"

int Calculadora::suma(int x, int y) 
{    
    return x+y;
}

int Calculadora::resta(int x, int y)
{    
    return x-y;
}
int Calculadora::pruducto(int x, int y)
{
    return x*y;
}
int Calculadora::divicion(int x, int y)
{
    return x/y;
}


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090917/0ca32c77/attachment.html>


Más información sobre la lista de distribución Cconclase