//Agregación #include #include #include #include class Persona { char Nombre[40]; char Direccion[40]; char LE[10]; char FechaNac[11]; public: void DefineNombre(char *); void DefineDireccion(char *); void DefineLE(char *); void DefineFechaNac(char *); char *DameNombre(void); char *DameDireccion(void); char *DameLE(void); char *DameFechaNac(void); }; void Persona::DefineNombre(char *N) { strcpy(Nombre, N); } void Persona::DefineDireccion(char *D) { strcpy(Direccion, D); } void Persona::DefineLE(char *L) { strcpy(LE, L); } void Persona::DefineFechaNac(char *F) { strcpy(FechaNac, F); } char *Persona::DameNombre(void) { return Nombre; } char *Persona::DameDireccion(void) { return Direccion; } char *Persona::DameLE(void) { return LE; } char *Persona::DameFechaNac(void) { return FechaNac; } enum Estado {Baja, Alta}; class Club { char FechaFund[11]; int NumMiembros; Persona Miembro[10]; Estado Miemb[10]; public: Club(void); void DeineFechaFund(char *); void InscribeMiembro(char *,char *,char *,char *); void EliminaMiembro(char *); int DameNumMiembros(void); Estado DameEstado(int); Persona *Datos(int); }; Club::Club(void) { NumMiembros=0; for (int i=0; i<10; i++) Miemb[i]=Baja; } void Club::DeineFechaFund(char *F) { strcpy(FechaFund, F); } void Club::InscribeMiembro(char *N, char *D, char *L, char *F) { int i; for(i=0; Miemb[i]==Alta; i++); Miemb[i]=Alta; Miembro[i].DefineNombre(N); Miembro[i].DefineDireccion(D); Miembro[i].DefineLE(L); Miembro[i].DefineFechaNac(F); NumMiembros++; } void Club::EliminaMiembro(char *N) { int i; for(i=0; i<10 && strcmp(Miembro[i].DameNombre(),N); i++); Miemb[i]=Baja; } int Club::DameNumMiembros(void) { return NumMiembros; } Estado Club::DameEstado(int N) { return Miemb[N]; } Persona *Club::Datos(int N) { return &Miembro[N]; } void main(void) { Club C; char N[40], D[40], L[10], F[11]; cout << "Ingrese los datos de los nuevos miembros" << endl; cout << "'Nombre = fin' para terminar" << endl; while(1) { cout << "Nombre = " ; cin.getline(N,40); if(!strcmp(N,"fin"))break; cout << "Dirección = " ; cin.getline(D,40); cout << "Documento = " ; cin.getline(L,10); cout << "Fecha de Nacimiento = " ; cin.getline(F,11); C.InscribeMiembro(N,D,L,F); } clrscr(); int i,m=0; cout << "Listado de Miembros" << endl; for (i=0; i<10 && m< C.DameNumMiembros(); i++) { Persona *P; if ( C.DameEstado(i) == Alta) { m++; P=C.Datos(i); cout << setw(20) << P->DameNombre() << setw(20) << P->DameDireccion() << setw(15) << P->DameLE() << setw(15) << P->DameFechaNac() << endl; } } }