Ir ao conteúdo

C++ C++ class imprimindo lixo


Ir à solução Resolvido por Luís Roberto C. da Silva,

Posts recomendados

Postado
#include <iostream>
#include <math.h>

using namespace std;

class Triangulo{
    private:
        int base;
        int altura;
        float area;
        float hip;
    public:
        void setBase   (int x){base = x;};
        void setAltura (int y){altura = y;};

        void calculos()    {area = (base*altura)/2; hip = sqrt(base*base + altura*altura); };
        void verValores()  {cout << this->base << endl; cout << this->altura<< endl;};
        void verResultado(){cout << this->area<<endl; cout << this->hip << endl;};
        
        Triangulo(int h, int g){setBase(h); setAltura(g);};
        ~Triangulo(){};
};

int main()
{
    int base;
    int altura;

    cout << "digite a base" <<endl;
    cin >> base;
    cout << "digite a altura" << endl;
    cin >> altura;

    Triangulo TRI(base, altura);
    TRI.verValores();
    TRI.verResultado();
    return 0;
}

Um algoritmo pra calcular a area e a hipotenusa (hip) de um triângulo.

Os valores da base e altura chegam corretamente à classe, como se pode observar no verValores(). Porém quando tento calcular a area do triangulo ou a hipotenusa, o programa imprime lixo. Quando coloca base = 3 e altura = 4, o programa imprime area = 4.60005e+033 e hip = 5.87744e-025

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...