battlecry [Moderador]
Número de Mensagens : 87 Idade : 35 Data de inscrição : 26/02/2008
| Assunto: Um programa para controle de dados de uma imobiliária em C ++ Qui 03 Abr 2008, 2:17 pm | |
| Boa tarde pessoal ! Através da utilização de hierarquia de classes seguida com heranças múltiplas é possível fazer o controle de usuários e o que é vendido ou alugado numa loja, por exemplo. Segue a listagem do programa: - Código:
-
#include <iostream> #include <cstring> #include <iomanip> using namespace std;
class Cadastro { private: char Nome[50] , Fone[10]; public: Cadastro() { Nome[0] = Fone[0] = '\0'; } Cadastro(char n[], char f[]) { if(strlen(n) < 50 ) strcpy(Nome,n); if(strlen(f) < 10 ) strcpy(Fone,f); } void Get() { cout << "\n\tNome: "; gets(Nome); cout << "\tFone: "; gets(Fone); } void Print() const { cout << "\n\tNome : " << Nome << endl; cout << "\tFone: " << Fone << endl; } };
class Imovel { private: char Endereco[100],Bairro[40]; float AreaUtil, AreaTotal; int Quartos; public: Imovel() : AreaUtil(0.0) , AreaTotal(0.0), Quartos(0) { Endereco[0] = Bairro[0] = '\0'; } Imovel(char e[], char b[], float au, float at, int q) : AreaUtil(au) , AreaTotal(at), Quartos(q) { if(strlen(e) < 100 ) strcpy(Endereco,e); if(strlen(b) < 40 ) strcpy(Bairro,b); } void Get() { cout << "\n\tEndereco: "; gets(Endereco); cout << "\tBairro: "; gets(Bairro); cout << "\tArea Util: "; cin >> AreaUtil; cout << "\tArea Total: "; cin >> AreaTotal; cout << "\t No.Quartos: "; cin >> Quartos; cin.ignore(10,'\n'); } void Print() const { cout << "\n\tEndereco: " << Endereco << endl; cout << "\tBairro: " << Bairro << endl; cout << "\tArea Util: " << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << setprecision(2) << AreaUtil << endl; cout << "\tArea Total: " << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << setprecision(2) << AreaTotal << endl; cout << " No.Quartos: " << Quartos << endl; } };
class Tipo { private: char TipoImovel[20]; public: Tipo() { TipoImovel[0] = '\0'; } Tipo(char type[]) { if(strlen(type) < 20) strcpy(TipoImovel,type); } void Get() { cout << "\tTipo do imovel: "; gets(TipoImovel); } void Print() const { cout << "\tTipo do Imovel: " << TipoImovel << endl; } };
class Venda : private Cadastro, Imovel, Tipo { private: float valor; public: Venda() : Cadastro(), Imovel(), Tipo() , valor(0.0) {} Venda(char n[], char f[], char e[], char b[], float au, float at, int q, char type[], float v) : Cadastro(n,f) , Imovel(e,b,au,at,q) ,Tipo(type) , valor(v) {} void Get() { cout << "\n - Proprietario: " << endl; Cadastro::Get(); cout <<"\n - Imovel " << endl; Imovel::Get(); Tipo::Get(); cout << "\tValor do Imovel: "; cin >> valor; cin.ignore(10,'\n'); } void Print() const { cout << "\n*Proprietario " << endl; Cadastro::Print(); cout <<" Imovel: " << endl; Imovel::Print(); Tipo::Print(); cout << "\n\tValor do Imovel: " << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << setprecision(2) << valor << endl; } }; class Aluguel : private Cadastro, Imovel, Tipo { private: float AluguelMensal; int Prazo; Cadastro Proprietario, Inquilino; public: void Get() { cout << "\n - Proprietario: "; cout << '\n'; Proprietario.Get(); cout << "\n - Inquilino: "; cout << '\n'; Inquilino.Get(); cout << " Imovel: "; Imovel::Get(); Tipo::Get(); cout << "\tAluguel: "; cin >> AluguelMensal; cout << "\tPrazo: "; cin >> Prazo; cin.ignore(10,'\n'); } void Print() const { cout << "\nProprietario: "; Proprietario.Print(); cout << "\nInquilino: "; Inquilino.Print(); cout << " Imovel: "; Imovel::Print(); Tipo::Print(); cout << "\tAluguel: " << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << setprecision(2) << AluguelMensal << endl; cout << "\tPrazo: " << Prazo << endl; } }; int main() { system("cls"); Venda V; Aluguel A; cout << "\n\n****Informacoes sobre a venda **** " << endl; V.Get(); cout << "\n\n****Informacoes sobre o aluguel **** " << endl; A.Get(); cout << "\n\n ****** VENDA ****** " << endl; V.Print(); cout << "\n\n ****** ALUGUEL ****** " << endl; A.Print(); system("Pause"); return 0; }
| |
|