diff --git a/Apartamento.hpp b/Apartamento.hpp index 4dd5981..6aa69f0 100644 --- a/Apartamento.hpp +++ b/Apartamento.hpp @@ -9,34 +9,24 @@ using namespace std; class Apartamento : public Imovel { public: - - double valor() { - double v = AREA * VALORm2; + double comissao_apartamento = 0.04; - return v; - - } - - double comissao() { - - double c = AREA * VALORm2; - - return c * 0.04; - + double comissao() override { + return area * VALORm2 * comissao_apartamento; } void print() { std::cout << "[Apartamento]" << endl; Imovel::print(); - std::cout << "Area: " << AREA << endl - << " Quartos: " << Q << endl - << " Banheiros: " << B << endl - << " Vagas: " << V << endl - << "Taxa de Comissão: " << 4 << "%" << endl - << "Valor Comissão: R$ " << fixed << setprecision(2) << C << endl - << "Valor de Venda: R$ " << fixed << setprecision(2) << Valor << endl; + std::cout << "Area: " << area << endl; + std::cout << " Quartos: " << quartos << endl; + std::cout << " Banheiros: " << banheiros << endl; + std::cout << " Vagas: " << vagas << endl; + std::cout << "Taxa de Comissão: " << 4 << "%" << endl; + std::cout << "Valor Comissão: R$ " << fixed << setprecision(2) << taxa_comissao << endl; + std::cout << "Valor de Venda: R$ " << fixed << setprecision(2) << Valor << endl; } }; diff --git a/Casa.hpp b/Casa.hpp index 88a51d6..68d7497 100644 --- a/Casa.hpp +++ b/Casa.hpp @@ -10,33 +10,23 @@ class Casa : public Imovel { public: - double valor() { + double comissao_casa = 0.06; - double v = AREA * VALORm2; - - return v; - - } - - double comissao() { - - double c = AREA * VALORm2; - - return c * 0.06; - + double comissao() override { + return area * VALORm2 * comissao_casa; } void print() { std::cout << "[Casa]" << endl; Imovel::print(); - std::cout << "Area: " << AREA << endl - << " Quartos: " << Q << endl - << " Banheiros: " << B << endl - << " Vagas: " << V << endl - << "Taxa de Comissão: " << 6 << "%" << endl - << "Valor Comissão: R$ " << fixed << setprecision(2) << C << endl - << "Valor de Venda: R$ " << fixed << setprecision(2) << Valor << endl; + std::cout << "Area: " << area << endl; + std::cout << " Quartos: " << quartos << endl; + std::cout << " Banheiros: " << banheiros << endl; + std::cout << " Vagas: " << vagas << endl; + std::cout << "Taxa de Comissão: " << 6 << "%" << endl; + std::cout << "Valor Comissão: R$ " << fixed << setprecision(2) << taxa_comissao << endl; + std::cout << "Valor de Venda: R$ " << fixed << setprecision(2) << Valor << endl; } diff --git a/Cliente.cpp b/Cliente.cpp index 14f64f0..506b412 100644 --- a/Cliente.cpp +++ b/Cliente.cpp @@ -2,13 +2,11 @@ #include #include "Cliente.hpp" -void Cliente::print(){ - - std::cout << " Nome: " << NOME << endl - << " Telefone: " << telefone << endl - << " Endereço: " << endereco << endl - << " Cidade: " << CIDADE << endl - << " Estado: " << UF << endl - << " CEP: " << cep << endl; - +void Pessoa::print(){ + std::cout << " Nome: " << nome << endl; + std::cout << " Telefone: " << telefone << endl; + std::cout << " Endereço: " << endereco << endl; + std::cout << " Cidade: " << cidade << endl; + std::cout << " Estado: " << uf << endl; + std::cout << " CEP: " << cep << endl; } \ No newline at end of file diff --git a/Cliente.hpp b/Cliente.hpp index f32d122..fe7351c 100644 --- a/Cliente.hpp +++ b/Cliente.hpp @@ -4,15 +4,15 @@ #include using namespace std; -class Cliente { +class Pessoa { public: - string NOME; + string nome; string endereco; - string CIDADE; - string UF; + string cidade; + string uf; string cep; string telefone; - + void print(); }; diff --git a/Cobertura.hpp b/Cobertura.hpp index e8c4281..2f9427f 100644 --- a/Cobertura.hpp +++ b/Cobertura.hpp @@ -9,33 +9,23 @@ class Cobertura : public Imovel { public: - double valor() { + double comissao_cobertura = 0.1; - double v = AREA * VALORm2; - - return v; - - } - - double comissao() { - - double c = AREA * VALORm2; - - return c * 0.10; - + double comissao() override { + return area * VALORm2 * comissao_cobertura; } void print() { std::cout << "[Cobertura]" << endl; Imovel::print(); - std::cout << "Area: " << AREA << endl - << " Quartos: " << Q << endl - << " Banheiros: " << B << endl - << " Vagas: " << V << endl - << "Taxa de Comissão: " << 10 << "%" << endl - << "Valor Comissão: R$ " << fixed << setprecision(2) << C << endl - << "Valor de Venda: R$ " << fixed << setprecision(2) << Valor << endl; + std::cout << "Area: " << area << endl; + std::cout << " Quartos: " << quartos << endl; + std::cout << " Banheiros: " << banheiros << endl; + std::cout << " Vagas: " << vagas << endl; + std::cout << "Taxa de Comissão: " << 10 << "%" << endl; + std::cout << "Valor Comissão: R$ " << fixed << setprecision(2) << taxa_comissao << endl; + std::cout << "Valor de Venda: R$ " << fixed << setprecision(2) << Valor << endl; } }; diff --git a/Imovel.hpp b/Imovel.hpp index 6e91cfc..6cd2a44 100644 --- a/Imovel.hpp +++ b/Imovel.hpp @@ -9,14 +9,14 @@ using namespace std; class Imovel { public: - double AREA; - int Q; - int B; - int V; + double area; + int quartos; + int banheiros; + int vagas; double VALORm2; double Valor; - double C; - Cliente vendedor; + double taxa_comissao; + Pessoa vendedor; string corretor; void print() { @@ -25,6 +25,13 @@ class Imovel { cout << "[Corretor]" << endl; cout << " " + corretor << endl; } + + double valor() { + return area * VALORm2; + } + + virtual double comissao(); + }; #endif \ No newline at end of file diff --git a/main.cpp b/main.cpp index 2496147..470831d 100644 --- a/main.cpp +++ b/main.cpp @@ -9,69 +9,69 @@ int main() { - Cliente cl1; - cl1.NOME = "Xayso Sovon Ziahaka"; - cl1.endereco = "Rua Xangrilá - Braúnas"; - cl1.CIDADE = "Belo Horizonte"; - cl1.UF = "MG"; - cl1.cep = "31365-570"; - cl1.telefone = "3196007958"; + Pessoa p1; + p1.nome = "Xayso Sovon Ziahaka"; + p1.endereco = "Rua Xangrilá - Braúnas"; + p1.cidade = "Belo Horizonte"; + p1.uf = "MG"; + p1.cep = "31365-570"; + p1.telefone = "3196007958"; - Cliente cl2; - cl2.NOME = "Minia Pasies Kituos"; - cl2.endereco = "Rua dos Jacobinos - Ouro Minas"; - cl2.CIDADE = "Belo Horizonte"; - cl2.UF = "MG"; - cl2.cep = "31870-290"; - cl2.telefone = "3197627067"; + Pessoa p2; + p2.nome = "Minia Pasies Kituos"; + p2.endereco = "Rua dos Jacobinos - Ouro Minas"; + p2.cidade = "Belo Horizonte"; + p2.uf = "MG"; + p2.cep = "31870-290"; + p2.telefone = "3197627067"; - Cliente cl3; - cl3.NOME = "Vuocue Leiur Baonauza"; - cl3.endereco = "Rua Orminda de Almeida - Tupi B"; - cl3.CIDADE = "Belo Horizonte"; - cl3.UF = "MG"; - cl3.cep = "31842-630"; - cl3.telefone = "3195949327"; + Pessoa p3; + p3.nome = "Vuocue Leiur Baonauza"; + p3.endereco = "Rua Orminda de Almeida - Tupi B"; + p3.cidade = "Belo Horizonte"; + p3.uf = "MG"; + p3.cep = "31842-630"; + p3.telefone = "3195949327"; - Cliente cl4; - cl4.NOME = "Zerer Huduy Fyogar"; - cl4.endereco = "Rua Taquaril - Jonas Veiga"; - cl4.CIDADE = "Belo Horizonte"; - cl4.UF = "MG"; - cl4.cep = "30285-422"; - cl4.telefone = "3198596327"; + Pessoa p4; + p4.nome = "Zerer Huduy Fyogar"; + p4.endereco = "Rua Taquaril - Jonas Veiga"; + p4.cidade = "Belo Horizonte"; + p4.uf = "MG"; + p4.cep = "30285-422"; + p4.telefone = "3198596327"; - Cliente cl5; - cl5.NOME = "Ceziel Mioti Pler"; - cl5.endereco = "Rua João Gualberto Costa - Serrano"; - cl5.CIDADE = "Belo Horizonte"; - cl5.UF = "MG"; - cl5.cep = "30882-747"; - cl5.telefone = "3196274465"; + Pessoa p5; + p5.nome = "Ceziel Mioti Pler"; + p5.endereco = "Rua João Gualberto Costa - Serrano"; + p5.cidade = "Belo Horizonte"; + p5.uf = "MG"; + p5.cep = "30882-747"; + p5.telefone = "3196274465"; - Cliente cl6; - cl6.NOME = "Esxo Cilal Zyais"; - cl6.endereco = "Rua Américo Luiz Moreira - Jardim dos Comerciários (Venda Nova)"; - cl6.CIDADE = "Belo Horizonte"; - cl6.UF = "MG"; - cl6.cep = "31650-560"; - cl6.telefone = "3195004414"; + Pessoa p6; + p6.nome = "Esxo Cilal Zyais"; + p6.endereco = "Rua Américo Luiz Moreira - Jardim dos Comerciários (Venda Nova)"; + p6.cidade = "Belo Horizonte"; + p6.uf = "MG"; + p6.cep = "31650-560"; + p6.telefone = "3195004414"; - Cliente cl7; - cl7.NOME = "Leova Wikyecil Neaca"; - cl7.endereco = "Rua João Arantes - Cidade Nova"; - cl7.CIDADE = "Belo Horizonte"; - cl7.UF = "MG"; - cl7.cep = "31170-240"; - cl7.telefone = "3198461192"; + Pessoa p7; + p7.nome = "Leova Wikyecil Neaca"; + p7.endereco = "Rua João Arantes - Cidade Nova"; + p7.cidade = "Belo Horizonte"; + p7.uf = "MG"; + p7.cep = "31170-240"; + p7.telefone = "3198461192"; - Cliente cl8; - cl8.NOME = "Teas Heimeu Pipe"; - cl8.endereco = "Rua Maria Pereira Damasceno - Ernesto do Nascimento(Barreiro)"; - cl8.CIDADE = "Belo Horizonte"; - cl8.UF = "MG"; - cl8.cep = "30668-430"; - cl8.telefone = "3197317802"; + Pessoa p8; + p8.nome = "Teas Heimeu Pipe"; + p8.endereco = "Rua Maria Pereira Damasceno - Ernesto do Nascimento(Barreiro)"; + p8.cidade = "Belo Horizonte"; + p8.uf = "MG"; + p8.cep = "30668-430"; + p8.telefone = "3197317802"; int qtdeA = 0; int qtdeCa = 0; @@ -79,100 +79,98 @@ int main() { Apartamento ap1; ap1.corretor = "Tuoruars"; - ap1.AREA = 55.4; - ap1.Q = 2; - ap1.B = 1; - ap1.V = 0; + ap1.area = 55.4; + ap1.quartos = 2; + ap1.banheiros = 1; + ap1.vagas = 0; ap1.VALORm2 = 987.0; - ap1.C = ap1.comissao(); + ap1.taxa_comissao = ap1.comissao(); ap1.Valor = ap1.valor() + ap1.comissao(); - ap1.vendedor = cl1; + ap1.vendedor = p1; qtdeA++; Apartamento ap2; ap2.corretor = "Fyubyeis"; - ap2.AREA = 74.5; - ap2.Q = 2; - ap2.B = 1; - ap2.V = 2; + ap2.area = 74.5; + ap2.quartos = 2; + ap2.banheiros = 1; + ap2.vagas = 2; ap2.VALORm2 = 1540.0; - ap2.C = ap2.comissao(); + ap2.taxa_comissao = ap2.comissao(); ap2.Valor = ap2.valor() + ap2.comissao(); - ap2.vendedor = cl2; + ap2.vendedor = p2; qtdeA++; Apartamento ap3; ap3.corretor = "Kelia"; - ap3.AREA = 87.2; - ap3.Q = 3; - ap3.B = 2; - ap3.V = 2; + ap3.area = 87.2; + ap3.quartos = 3; + ap3.banheiros = 2; + ap3.vagas = 2; ap3.VALORm2 = 2354.0; - ap3.C = ap3.comissao(); + ap3.taxa_comissao = ap3.comissao(); ap3.Valor = ap3.valor() + ap3.comissao(); - ap3.vendedor = cl3; + ap3.vendedor = p3; qtdeA++; - // Cobertura Cobertura cb1; cb1.corretor = "Koci"; - cb1.AREA = 120.1; - cb1.Q = 3; - cb1.B = 3; - cb1.V = 2; + cb1.area = 120.1; + cb1.quartos = 3; + cb1.banheiros = 3; + cb1.vagas = 2; cb1.VALORm2 = 3123.5; - cb1.C = cb1.comissao(); + cb1.taxa_comissao = cb1.comissao(); cb1.Valor = cb1.valor() + cb1.comissao(); - cb1.vendedor = cl4; + cb1.vendedor = p4; qtdeCb++; Cobertura cb2; cb2.corretor = "Wail"; - cb2.AREA = 134.8; - cb2.Q = 4; - cb2.B = 3; - cb2.V = 3; + cb2.area = 134.8; + cb2.quartos = 4; + cb2.banheiros = 3; + cb2.vagas = 3; cb2.VALORm2 = 3578.2; - cb2.C = cb2.comissao(); + cb2.taxa_comissao = cb2.comissao(); cb2.Valor = cb2.valor() + cb2.comissao(); - cb2.vendedor = cl5; + cb2.vendedor = p5; qtdeCb++; Cobertura cb3; cb3.corretor = "Fival"; - cb3.AREA = 180.0; - cb3.Q = 4; - cb3.B = 4; - cb3.V = 4; + cb3.area = 180.0; + cb3.quartos = 4; + cb3.banheiros = 4; + cb3.vagas = 4; cb3.VALORm2 = 4165.7; - cb3.C = cb3.comissao(); + cb3.taxa_comissao = cb3.comissao(); cb3.Valor = cb3.valor() + cb3.comissao(); - cb3.vendedor = cl6; + cb3.vendedor = p6; qtdeCb++; - // Casas Casa ca1; ca1.corretor = "Beydo"; - ca1.AREA = 145.6; - ca1.Q = 3; - ca1.B = 3; - ca1.V = 2; + ca1.area = 145.6; + ca1.quartos = 3; + ca1.banheiros = 3; + ca1.vagas = 2; ca1.VALORm2 = 4023.6; - ca1.C = ca1.comissao(); + ca1.taxa_comissao = ca1.comissao(); ca1.Valor = ca1.valor() + ca1.comissao(); - ca1.vendedor = cl7; + ca1.vendedor = p7; qtdeCa++; Casa ca2; ca2.corretor = "Riuzi"; - ca2.AREA = 245.0; - ca2.Q = 5; - ca2.B = 4; - ca2.V = 4; + ca2.area = 245.0; + ca2.quartos = 5; + ca2.banheiros = 4; + ca2.vagas = 4; ca2.VALORm2 = 4856.2; - ca2.C = ca2.comissao(); + ca2.taxa_comissao = ca2.comissao(); ca2.Valor = ca2.valor() + ca2.comissao(); - ca2.vendedor = cl8; + ca2.vendedor = p8; qtdeCa++; std::cout << "\n>> Relatório de Imóveis <<" << endl;