Classe Retangulo. Crie uma classe Retangulo com atributos comprimento e largura, cada uma com o valor default 1. Forneça funções-membro que calculem o perimetro e a area do retângulo. Além disso, forneça funções set e get para os atributos comprimento e largura. As funções set devem verificar se comprimento e largura são números em ponto flutuante maiores que 0.0 e menores que 20.0.

Passo 1

Fala Galera!!! Tudo certo? Espero que sim!! Bora para mais um exercício.

Vamos criar um programa que tenha uma classe Rectangle com os atraibuto comprimento e largura, cada um dos atributos terá um valor padrão igual a 1. A classe terá funções membros que calculam o perímetro e a área do retângulo incluindo as funções set e get para os atributos que representa o comprimento e a largura.

Passo 2

Vamos iniciar criando os arquivos de cabeçalho e também a classe Rectangule com a inicialização das funções e dos parâmetros.

//arquivos de cabeçalho

using namespace std;

#include

#include

using std::setprecision;

using std::setiosflags;

//classe Rectangle

class Rectangle {

public:

//constrturo com argumentos

Rectangle( double = 1.0, double = 1.0 );

//definindo parametro

double perimeter( void );

//definindo area

double area( void );

//defiindo largura

void setWidth( double w );

//definindo comprimento

void setLength( double l );

//retorna largura

double getWidth( void );

//retorna comprimento

double getLength( void );

private:

//variaveis largura e comprimento

double length;

double width;

};

Passo 3

Após da definição da classe, vamos inicializar o construtor da classe e definir as funções-membros responsáveis por calcular o perímetro e área do retângulo. As funções set deverão verificar se comprimento e largura são números em ponto flutuante maiores que 0.0 e menores que 20.0.

/inicializando construtor

Rectangle::Rectangle( double w, double l )

{

setWidth(w);

setLength(l);

}

//função calcula perimetro

double Rectangle::perimeter( void )

{

return 2 * ( width + length );

}

//função calcula area

double Rectangle::area( void )

{

return width * length;

}

//função calcula largura

void Rectangle::setWidth( double w )

{

width = w > 0 && w

}

//função calcula comprimento

void Rectangle::setLength( double l )

{

length = l > 0 && l

}

//retorna os valores

double Rectangle::getWidth( void ) { return width; }

double Rectangle::getLength( void ) { return length; }

Passo 4

Agora precisamos inicializar a função principal main() com os objetos da classe Rectangle e fazer a chamada das funções que receberá os objetos como parâmetros para retornar os valores do perímetro e da área. Será criado um objeto com os parâmetro fora do intervalo de 1 a 20 para verificar se o nosso programa está fazendo o tratamento corretamente.

int main()

{

//inicializando objeto da clase

Rectangle a, b( 4.0, 5.0 ), c( 67.0, 888.0 );

//exibe na tela

cout

cout

// saida do retangulo Rectangle a

cout

// output Rectangle b

cout

// output Rectangle c; bad values attempted

cout

return 0;

}

Passo 5

A saída do nosso programa será:

Portanto nosso programa está funcionado perfeitamente.

E por hoje é só galera!!!! Até o próximo exercício.

Resposta

Código:

//arquivos de cabeçalho

using namespace std;

#include

#include

using std::setprecision;

using std::setiosflags;

//classe Rectangle

class Rectangle {

public:

//constrturo com argumentos

Rectangle( double = 1.0, double = 1.0 );

//definindo parametro

double perimeter( void );

//definindo area

double area( void );

//defiindo largura

void setWidth( double w );

//definindo comprimento

void setLength( double l );

//retorna largura

double getWidth( void );

//retorna comprimento

double getLength( void );

private:

//variaveis largura e comprimento

double length;

double width;

};

//inicializando construtor

Rectangle::Rectangle( double w, double l )

{

setWidth(w);

setLength(l);

}

//função calcula perimetro

double Rectangle::perimeter( void )

{

return 2 * ( width + length );

}

//função calcula area

double Rectangle::area( void )

{

return width * length;

}

//função calcula largura

void Rectangle::setWidth( double w )

{

width = w > 0 && w

}

//função calcula comprimento

void Rectangle::setLength( double l )

{

length = l > 0 && l

}

//retorna os valores

double Rectangle::getWidth( void ) { return width; }

double Rectangle::getLength( void ) { return length; }

int main()

{

//inicializando objeto da clase

Rectangle a, b( 4.0, 5.0 ), c( 67.0, 888.0 );

//exibe na tela

cout

cout

// saida do retangulo Rectangle a

cout

// output Rectangle b

cout

// output Rectangle c; bad values attempted

cout

return 0;

}