How to solve various errors of this code?

-1

I typed this book program that addresses classes and gave error. How to solve?

#include <iostream>

using namespace std;

class Efetua_calculo{
private:
    double total;
    double soma;
    double divide;

public:
     void mostra_calculo (void){
    cout << "Resultado das funcoes soma() e divide() e :" << endl;
    cout << soma() << endl;
    cout << divide() << endl;
    return;
    }
};
double Efetua_calculo::soma(){

int valor1 = 2;
int valor2 = 3;
total = valor1 + valor2;
return (total);

}
double Efetua_calculo::divide(){
int valor1 = 2;
int valor2 = 3;

total = (double) valor1/valor2;

return(total);
}

int main()
{
Efetua_calculo calculo;
calulo.mostra_calculo();
    return 0;
}

    
asked by anonymous 21.07.2015 / 20:49

1 answer

3

There are typos. Maybe some pretty bad ones. Maybe the book example is really bad and does not really work. What would be good to leave such a bad book there. The example is bad too to learn to program right. It has conceptual errors in it, in addition to the bad structure.

I do not know if I solved the problem properly but it works:

#include <iostream>
using namespace std;

class Efetua_calculo {
private:
    double total; //do jeito que está este membro não deveria existir
public:
    void mostra_calculo(); //aqui só cabe a declaração e não a definição
    double soma(); //declarei essa função que não estava declarada
    double divide(); //idem, estava declarada como variável
};
double Efetua_calculo::soma(){
    int valor1 = 2;
    int valor2 = 3;
    total = valor1 + valor2;
    return (total);
}
double Efetua_calculo::divide(){
    int valor1 = 2;
    int valor2 = 3;
    total = (double) valor1/valor2;
    return(total);
}
void Efetua_calculo::mostra_calculo(){ //trouxe a implementação p/ cá
    cout << "Resultado das funcoes soma() e divide() e :" << endl;
    cout << soma() << endl;
    cout << divide() << endl;
    return;
}
int main() {
    Efetua_calculo calculo;
    calculo.mostra_calculo(); //tinha erro de digitação aqui
    return 0;
}

See working on ideone .

    
21.07.2015 / 20:59