PROGRAMA DE ALTAS, BAJAS DE EMPLEADOS, EL PROGRAMA INCLUYE UN MENU EN EL CUAL NOSOTROS ACCEDEMOS A LAS OPCIONES DEL PROGRAMA:
* ALTAS.
* BAJAS
* CONSULTAS ETC.// POR EL TAMAÑO DEL ESPACIO, ALGUNAS LINEAS SE HAN MOVIDO SOLO ACOMODELAS Y LISTO EL PROGRAMA ES 100 % FUNCIONAL.
cReAcIoN.................: JULIO ARMADO VELAZQUEZ CHAVEZ
LUIS ALBERTO LOPEZ GOMEZ.
PuBlIcAcIoN.............: RICARDO FLORES HERNANDEZ.
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
# define T 100
class Persona
{
int NCtrl;
char Nombre [35];
char Depto [35];
float salario;
public:
void GuardaDatos(int NC, char N[35], char D[35], float s);
int RegresaNCtrl() {return NCtrl;}
void Imprime(int,int);
int SonIguales(int NC);
};
void menu();
void Altas(Persona *);
void Bajas(Persona *);
void Cambios(Persona *);
void Consultas(Persona *);
void Persona::GuardaDatos(int NC,char N[20],char D[20],float s)
{
NCtrl=NC;
strcpy(Nombre,N);
strcpy(Depto,D);
salario=s;
}
void Persona::Imprime(int C, int R)
{
gotoxy(C+4,R); cout<<NCtrl;
gotoxy(C+19,R); cout<<Nombre;
gotoxy(C+35,R); cout<<Depto;
gotoxy(C+55,R); cout<<salario;
}
int Persona::SonIguales(int CN)
{
int existe=0;
if (NCtrl==CN) existe=1;
return(existe);
}
void main()
{
Persona Empleado [T];
char op;
for(int i=0;i<T;i++)
Empleado [i].GuardaDatos(0,"*","*",0);
do
{
menu();
op=getch();
switch(op)
{
case '1': Altas (Empleado);
break;
case '2': Bajas (Empleado);
break;
case '3': Cambios(Empleado);
break;
case '4': Consultas(Empleado);
}
} while (op!='5');
}
void menu()
{
clrscr();
cout<<"<<< MENU EMPLEADOS >>> \n";
cout<<"\n1.- Altas";
cout<<"\n2.- Bajas";
cout<<"\n3.- Cambios";
cout<<"\n4.- Consultas";
cout<<"\n5.- Salir";
cout<<"\n \n Elije una opcion [1...5]:";
}
void Altas(Persona*Empleado)
{
int NC,i,ocupado;
char N[20],D[20],Resp;
float s;
do
{
ocupado=1; i=0;
do
{
if(!Empleado[i].RegresaNCtrl())
ocupado=0;
i++;
} while(i < T && ocupado);
clrscr();
if(!ocupado)
{
cout<<" &&&&&&&&&&&&&&&&&&&&&&&&&& A L T A S.&&&&&&&&&&&&&&&&&&&&&&&&\n\n";
cout<<" No de control: \n"; cin>>NC;
cout<<"\n Nombre:\n"; gets(N);
cout<<"\n Departamento:\n"; gets(D);
cout<<"\n Salario:\n"; cin>>s;
Empleado[i-1].GuardaDatos(NC,N,D,s);
}
else
{
cout<<"\n El arreglo esta lleno.\n";
}
cout<<"\n\n ¨Deseas continuar dando de alta.? (s/n):\n";
Resp=getch();
}while(Resp=='s'&&!ocupado);
}
int BuscarReg(Persona*Empleado, int NC )
{
int i;
int Posi=0;
for(i=0;i<T;i++)
{
if ((Empleado[i].SonIguales(NC)) )
{
Posi=i;
break;
}
else Posi=0;
}
return Posi;
}
void Bajas(Persona*Empleado)
{
int i,NNCC;
char Res;
do
{
int C=1,R=7;
clrscr();
cout<<"&&&&&&&&&&&&&&&&&&&&&&&&&&&&& B A J A S.&&&&&&&&&&&&&&&&&&&&&&&&&&\n\n";
cout<<"******************************************************************\n";
cout<<" * NCtrl * NOMBRE * DEPARTAMENTO * SALARIO *\n";
cout<<"******************************************************************";
for(i=0;i<T;i++)
if(Empleado[i].RegresaNCtrl())
{
Empleado[i].Imprime(C,R);
R++;
}
cout<<"\n Introduzca el numero de control del registro a eliminar: \n";
cin>>NNCC;
i=BuscarReg(Empleado, NNCC);
if (i>=0)
{
clrscr();
Empleado[i].Imprime(1,4);
cout<<"\n Esta seguro de eliminar este registro: (s/n) \n"; cin>> Res;
if (Res=='s'|| Res=='S')
Empleado[i].GuardaDatos(0,"*","*",0);
}
else
cout<<"\n El registro que usted busca no se encuentra \n";
cout<<" Desea eliminar otro registro...(s/n)\n"; cin>> Res;
} while(Res=='s'|| Res=='S');
}
void Consultas(Persona*Empleado)
{
int i, C=1,R=7;
clrscr();
cout<<" &&&&&&&&&&&&&&&&&&&&&& C O N S U L T A S.&&&&&&&&&&&&&&&&&&&&&&&\n\n";
cout<<"*****************************************************************\n";
cout<<" * NCtrl * NOMBRE * DEPARTAMENTO * SALARIO *\n";
cout<<"*****************************************************************\n";
for(i=0;i<T;i++)
if(Empleado[i].RegresaNCtrl())
{
Empleado[i].Imprime(C,R);
R++;
}
cout<<" \n Oprime una tecla para salir de consultas.";
getch();
}
void Cambios(Persona*Empleado)
{
int i,NNCC,NC;
char Res;
char N[20],D[20];
float s;
do
{
int C=1,R=7;
clrscr();
cout<<" &&&&&&&&&&&&&&&&&&&&&&&&&& C A M B I O S.&&&&&&&&&&&&&&&&&&&&&&&&";
cout<<" ";
cout<<" ******************************************************************\n";
cout<<" * NCtrl * NOMBRE * DEPARTAMENTO * SALARIO *\n";
cout<<" ******************************************************************";
for(i=0;i<T;i++)
if(Empleado[i].RegresaNCtrl())
{
Empleado[i].Imprime(C,R);
R++;
}
cout<<"\n Introduzca el numero de control del registro que desee cambiar:\n"; cin>>NNCC;
i=BuscarReg(Empleado, NNCC);
if (i>=0)
{
clrscr();
Empleado[i].Imprime(1,4);
cout<<"\n Esta seguro de cambiar este registro: (s/n)\n"; cin>> Res;
if (Res=='s'|| Res=='S')
{
cout<<"\n Nombre:\n"; gets(N);
cout<<"\n Departamento:\n"; gets(D);
cout<<"\n Salario:\n"; cin>>s;
Empleado[i].GuardaDatos(NNCC,N,D,s);
}
}
else
cout<<"\n El registro que usted busca no se encuentra \n";
cout<<" Desea modificar otro registro...(s/n)\n"; cin>> Res;
} while(Res=='s'|| Res=='S');
}
// SALINA CRUZ OAXACA, MEXICO. CONSULTAS A rfh055@hotmail.com.
// Visite nuestra pagina:
http://sistemasiti.webcindario.com