#include "iostream.h" #include "stdio.h" #include "conio.h" #include "stdlib.h" #include "string.h" //-----PROTOTIPO DE FUNCIONES------------------// void FormularioDatosPersonales(char * Modo); //----FIN DE PROTOTIPO DE FUNCIONES struct Fecha{ int Dia; int Mes; int Anio; }; //********************************************************************// //**************Definicion de la Clase Persona************************// class Persona{ private: char * PersonaId; //Cedula de Identidad char * Nombre1; //Primer Nombre char * Nombre2; //Segundo Nombre char * Apellido1; //Primer Apellido char * Apellido2; //Segundo Apellido char sexo; //M -> Masculino ---- F ->Femenino struct Fecha Fnac; //Fecha de Nacimiento protected: //NO HAY ELEMENTOS EN ESTA IMPLEMENTACION public: Persona(void); //Metodo Constructor Persona void LeerDatosPersona(void); //Metodo LeerDatosPersona void MostrarDatosPersona(void); //Metodo MostrarDatosPersona char * NombrePersona(void); //Metodo que debuelve Nombre }; //********************************************************************// //**************Implementacion de la Clase Persona********************// //----> Constructor de la clase Persona Persona::Persona () { PersonaId = new char[15]; return; } //----> Implementacion de Persona::LeerDatosPersona void Persona::LeerDatosPersona(void) { FormularioDatosPersonales("para registro"); gotoxy(23,6); fflush(stdin);gets(Nombre1); gotoxy(55,6); fflush(stdin);gets(Nombre2); gotoxy(25,8); fflush(stdin);gets(Apellido1); gotoxy(57,8); Programación II Página 1 fflush(stdin);gets(Apellido2); gotoxy(19,10); cin>> Fnac.Dia; gotoxy(22,10); cin>> Fnac.Mes; gotoxy(25,10); cin>> Fnac.Anio; gotoxy(52,10); fflush(stdin);gets(PersonaId); return; } //----> Implementacion de Persona::MostrarDatosPersona void Persona::MostrarDatosPersona(void) { FormularioDatosPersonales("de impresion"); gotoxy(23,6); cout<<Nombre1; gotoxy(55,6); cout<<Nombre2; gotoxy(25,8); cout<<Apellido1; gotoxy(57,8); cout<<Apellido2; gotoxy(19,10); cout<< Fnac.Dia; gotoxy(22,10); cout<< Fnac.Mes; gotoxy(25,10); cout<< Fnac.Anio; gotoxy(52,10); cout<< PersonaId; return; } //----> Implementacion de Persona::NombrePersona char far * Persona::NombrePersona(void) { /*char Nombre[60]; strcpy(Nombre,Nombre1); strcat(Nombre," "); strcat(Nombre,Nombre2); strcat(Nombre," "); strcat(Nombre,Apellido2); strcat(Nombre," "); strcat(Nombre,Apellido2); */ return Nombre1; } //***********Fin de Programacion de la Clase Persona******************// //********************************************************************// //*************Definicion de la Clase Empleado************************// class Empleado:private Persona{ private: int EmpleadoId; char *Cargo; struct Fecha FechIngreso; char *INSS; protected: //NO HAY ELEMENTOS EN ESTA IMPLEMENTACION public: Empleado(void); Programación II Página 2 void LeerDatosEmpleado(void); void MostrarDatosEmpleado(void); }; //********************************************************************// //*************Implementacion de la Clase Empleado********************// //********************************************************************// //----> Constructor de la clase Persona Empleado::Empleado () { Cargo = new char[30]; INSS = new char[10]; return; } //----> Implementacion de Persona::LeerDatosPersona void Empleado::LeerDatosEmpleado(void) { LeerDatosPersona(); clrscr(); gotoxy(10,6); cout<<"DATOS LABORALES DE: "<<NombrePersona(); gotoxy(10,9); cout<<"(Digite un numero entero) "; gotoxy(10,8); cout<<"INGRESE EL CODIGO DE EMPLEADO: "; cin>> EmpleadoId; gotoxy(10,11); cout<<"Cargo a desempeñar: "; fflush(stdin); gets(Cargo); gotoxy(10,13); cout<<"Fecha Ingreso: __/__/____"; gotoxy(25,13); cin>> FechIngreso.Dia; gotoxy(28,13); cin>> FechIngreso.Mes; gotoxy(31,13); cin>> FechIngreso.Anio; gotoxy(10,15); cout<<"Digite Numero INSS: "; fflush(stdin); gets(INSS); return; } //----> Implementacion de Persona::MostrarDatosPersona void Empleado::MostrarDatosEmpleado(void) { clrscr(); MostrarDatosPersona(); gotoxy(10,18); cout<<"CODIGO EMPLEADO: "<<EmpleadoId; gotoxy(10,19); cout<<"CARGO ASIGNADO: "<<Cargo; gotoxy(10,20); cout<<"Fecha de Ingreso: "<< FechIngreso.Dia<<"/"<<FechIngreso.Mes<<"/"<<FechIngreso.Anio; gotoxy(10,21); cout<<"Numero INSS: "<<INSS; return; } //********************************************************************// //**********Fin de Programacion de la Clase Empleado******************// //********************************************************************// void main() { Persona P; Empleado E; Programación II Página 3 gotoxy(10,10); cout<<"EN ESTE MOMENTO IMPLEMENTAREMOS LA CLASE PERSONA..."; gotoxy(10,12); cout<<"Presione cualquier tecla para continuar..."; getch(); P.LeerDatosPersona(); P.MostrarDatosPersona(); getch(); clrscr(); gotoxy(10,10); cout<<"EN ESTE MOMENTO IMPLEMENTAREMOS: "; gotoxy(10,12); cout<<"CLASE EMPLEADO Y CONCEPTO DE HERENCIA PERSONA->EMPLEADO"; gotoxy(10,14); cout<<"Presione cualquier tecla para continuar..."; getch(); E.LeerDatosEmpleado(); E.MostrarDatosEmpleado(); getch(); _exit(0); return; } //-------implementacion de funciones/procedimientos void FormularioDatosPersonales(char * Modo) { clrscr(); gotoxy(6,3); cout<<"********** Formulario "<<Modo<<" de Datos Personales **********"; gotoxy(8,6); cout<<"Primer Nombre:_______________"; //Posc de Lectura (23,6) gotoxy(39,6); cout<<"Segundo Nombre:_______________"; //Posc de Lectura (54,6) gotoxy(8,8); cout<<"Primer Apellido:_______________"; //Posc de Lectura (24,8) gotoxy(39,8); cout<<"Segundo Apellido:_______________"; //Posc de Lectura (56,8) gotoxy(8,10); cout<<"Fecha Nac: __/__/____"; //Posc de Lectura (18-21-24,10) gotoxy(44,10); cout<<"Cedula: ___-______-_____"; //Posc de Lectura (52,10) gotoxy(12,12); cout<<"Despues de ingresar un dato presione la tecla ENTER para"<<endl; gotoxy(8,13); cout<<"continuar con el siguiente dato"; for(int i = 2; i < 15 ; i++) { gotoxy(6,i); cout<<"|"; gotoxy(72,i); cout<<"|"; if (i==2 || i==4 || i==14) for(int p = 6; p <= 72; p++) { gotoxy(p,i); cout<<"="; } } return; } Programación II Página 4