Red de conocimiento informático - Consumibles informáticos - Buscando el código fuente de diseño de cursos de lenguaje C para obtener puntuaciones altas (no quedan muchos puntos, todo para usted)

Buscando el código fuente de diseño de cursos de lenguaje C para obtener puntuaciones altas (no quedan muchos puntos, todo para usted)

#include

#include

#include

#include

usando el espacio de nombres std;

clase Empleado //Definir clase de empleado

{

público:

Empleado (); //Constructor

virtual VEmployee();

virtual void Display()=0

int GetAge(); /p>

string GetName(); //Obtener el nombre

protected:

int Id; //Número de identificación del empleado

string Nombre; //Nombre del empleado

char Sex[5]; //Género

int Salario; //Salario

string Día de nacimiento; //Año y mes de nacimiento;

string WorkTime; //Tiempo de trabajo

int Edad; //Edad

};

clase Trabajador: público Empleado // Definición Clase de trabajador

{

público:

Trabajador();

virtual VWorker();

void Display();

};

clase Profesor: público Empleado //Definir clase de profesor

{

público:

Profesor();

VTeacher virtual();

void Display();

string GetAcademy();

privado:

cadena Academia;

};

Empleado::Empleado()

{

}

Empleado::VEmployee()

{

}

int Empleado::GetAge()

{

return Edad;

}

cadena Empleado::GetName()

{

return Nombre;

}

Profesor::Profesor() //Agregar información del profesor

{

cout<<"Por favor ingrese Esta información del profesor: "<

cout<<"Número de empleado: "<

cin>>I

d;

cout<<"Nombre: "<

cin>>Nombre;

cout<<"Género: "<

cin>>Sexo;

cout<<"Salario: "<

cin>>Salario;

cout <<"Hora de nacimiento: (formato xxxx/xx/xx)"<

cin>>Día de nacimiento;

cout<<"Hora de incorporación al trabajo: (formato xxxx/ xx/xx)"<

cin>>WorkTime;

cout<<"Departamento: "<

cin> >Academy;

//Extrae el año de nacimiento del cumpleaños

int Pos = BirthDay.find_first_of('/');

string BirthYear;< / p>

AñoNacimiento.assign(DíaNacimiento,0,Pos);

char chAñoNacimiento[6];

strcpy(chAñoNacimiento,DíaNacimiento.c_str());

//Obtener el año del sistema actual

char NowYear[5];

time_t tnow = time(0);

strftime (NowYear, 5 , "%Y" , localtime(&tnow));

Edad = atoi(NowYear)-atoi(chBirthYear); //Calcular edad

}

Teacher::VTeacher()

{

}

void Teacher::Display(){ //display() función con la misma nombre, genera información del maestro

cout<<"Número de empleado: "<

cout<<"Nombre: "<

cout <<"Género: "<

cout<<"Salario: "<

cout<< "Hora de nacimiento: "<

cout<<"Hora de trabajar: "<

cout<<"Edad: " <

}

cadena Profesor::GetAcademy(){

return Academia;

}

Trabajador: :Trabajador() //Agregar información del trabajador

{

cout<<"Por favor ingrese la información del trabajador:"<

> cout<<"Número de empleado: "<

cin>>Id;

cout<<"Nombre: "<

cin>>Nombre;

cout<<"Género: "<

cin>>Sexo;

cout<<"Salario: "<

cin>>Salario;

cout<<"Hora de nacimiento: (formato xxxx/xx/xx)"<

cin >>Cumpleaños;

cout<<"Hora de trabajo: (formato xxxx/xx/xx)"<

cin>>Hora de trabajo;

//Extrae el año de nacimiento del cumpleaños

int Pos = BirthDay.find_first_of('/');

string BirthYear;

BirthYear.assign( BirthDay,0,Pos);

char chBirthYear[6];

strcpy(chBirthYear,BirthDay.c_str());

//Obtener el actual año del sistema

char NowYear[5];

time_t tnow = time(0);

strftime(NowYear, 5, "%Y", localtime( &tnow));

Edad = atoi(NowYear)-atoi(chBirthYear); //Calcular edad

}

Trabajador::VWorker()

{

}

Función void Worker::Display(){//display() con el mismo nombre, genera información del trabajador

cout<< "Número de empleado: "<

cout<<"Nombre: "<

cout<<"Género: " <

cout<<"Salario: "<

cout<<"Hora de nacimiento: "<

cout<<"Hora de trabajar: "<

cout<<"Edad: "<

}

void AddTeacher(vector *TeaInfo) //Agregar objeto de profesor

{

system("color 05A"); la ventana actual El color de fondo y el color de primer plano

Teacher TeaTemp;

(*TeaInfo).push_back(TeaTemp

);

}

void AddWoker(vector *WorkerInfo) //Agregar un nuevo objeto trabajador

{

system("color 05A") ;

Trabajador Wokertmp;

(*WorkerInfo).push_back(Wokertmp

}

void DisplayAll(vector ); * TeaInfo,vector *WokerInfo){ //Mostrar todos los registros de los empleados

system("color 05A");

cout<<"Toda la información del profesor:"<< endl;

vector ::iterador pTeaInfo;

for (pTeaInfo=(*TeaInfo).begin();(*TeaInfo).empty()!=1&&pTeaInfo! =(*TeaInfo).end();pTeaInfo++) //Si se llega al final del vector, salga

{

(*pTeaInfo).Display();

cout<

}

cout<<"Información de todos los trabajadores:"<

vector ::iterador pWorkerInfo;

for (pWorkerInfo=(*WokerInfo).begin();(*WokerInfo).empty()!=1&&pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++) / /Si llega al final del vector, salga

{

(*pWorkerInfo).Display();

cout<

}

cout<<"Presione Enter para regresar"<

getchar();

}

void DisAvgTeacherAge (vector *TeaInfo){ //Consulta la edad promedio de los profesores

system("color 05A"); 0;

vector ::iterador pTeaInfo;

for (pTeaInfo=(*TeaInfo).begin();(*TeaInfo).empty()!=1&&pTeaInfo! =(*TeaInfo).end(); pTeaInfo++)//Atraviesa el contenedor del profesor

{

//Si se alcanza el final del vector, salimos

SumAge+= (*pTeaInfo).GetAge();

cout<

}

if((*TeaInfo).size()!=0)

cout<<"La edad promedio de los profesores es"<

else cout<<"Sin registro"<

cout<<"Presione Enter para regresar"<

getchar( ); getchar();

}

void DisAvgWorkerAge(vector *WokerInfo){

system("color 05A"

int SumAge = 0;

vector ::iterator pWorkerInfo;

for (pWorkerInfo=(*WokerInfo).begin(); (*WokerInfo vacío()!=1&&pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++) //Si se llega al final del vector, salga

{

SumAge+= (*pWorkerInfo();

cout<

}

if((*WokerInfo).size()! =0)

cout<<"La edad promedio de los empleados es"<

else cout<< "Sin registro"<

cout<<"Presione Enter para regresar"<

getchar();

}

void DelTeacher(vector *TeaInfo){ //Se utiliza para eliminar información del profesor

system("color 05A");

bool Hflag =false;

string SearchName;

vector ::iterator pTeaInfo

cout<<"Por favor, introduzca el nombre del profesor que desea eliminar:"<

cout<<"Nombre: ";

cin>>BuscarNombre;

for(pTeaInfo=(*TeaInfo). comenzar();(*TeaInfo).empty( ) != 1&&pTeaInfo!=(*TeaInfo).end();pTeaInfo++) //Si se llega al final del vector, salir

{

if (0==Buscar

chName.compare((*pTeaInfo).GetName())) //Si se encuentra el nombre del profesor que se va a eliminar, ejecute

{

Hflag=true; Encuentra el profesor

(*TeaInfo).erase(pTeaInfo); //Elimina el profesor especificado en el vector

continuar

}

}

if (false==Hflag) //Si no existe tal maestro, ejecuta

{

cout<<"No existe ¡qué maestro!"<

}

cout<<"Presione Enter para regresar"<

getchar(); getchar() ;

}

void DelWorker(vector *WokerInfo) //Se utiliza para eliminar información del trabajador

{

system( "color 05A");

bool Hflag=false;

string SearchName;

vector ::iterator pWorkerInfo; > cout<<"Ingrese lo que desee Nombre del trabajador eliminado: "<

cout<<"Nombre: ";

cin>>SearchName;

for(pWorkerInfo=( *WokerInfo).begin();(*WokerInfo).empty() != 1&&pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++) //Si el final del vector es alcanzado, salir

{

if (0==SearchName.compare((*pWorkerInfo).GetName())) //Si se encuentra el nombre del trabajador que se va a eliminar , ejecutar

{

Hflag=true; //Encontrar el trabajador

(*WokerInfo).erase(pWorkerInfo); //Eliminar el trabajador especificado en el vector

continue;

}

}

if (false==Hflag) //Si no existe tal trabajador, ejecutar

{

cout< <"¡No existe tal maestro! "<

}

cout<<"Presione Enter para regresar"<

getchar();getchar();

}

void SearchByName(vector *TeaInfo,vector *WokerInfo){ //Buscar información de los empleados por nombre

system("color 05A " );

bool Hflag=false;

cadena Mar

rchName;

vector ::iterator pTeaInfo;

cout<<"Ingrese el nombre del empleado que está buscando:"<

cout<<"Nombre: ";

cin>>BuscarNombre;

for(pTeaInfo=(*TeaInfo).begin();pTeaInfo!=(*TeaInfo) .end ();pTeaInfo++)

{

if (0==SearchName.compare((*pTeaInfo).GetName())) //Si se encuentra el empleado ingresado, ejecutar

{

Hflag=true; //Buscar empleado

cout<<"Esta persona es profesor y su información es:"<

(*pTeaInfo).Display(); //Mostrar información del empleado

continuar;

}

}

vector ::iterator pWorkerInfo;

for(pWorkerInfo=(*WokerInfo).begin();pWorkerInfo!=(*WokerInfo).end();pWorkerInfo++)

{

if (0==SearchName.compare((*pWorkerInfo).GetName())) //Si se encuentra el empleado ingresado, ejecute

{

Hflag=true; //Buscar al empleado

cout<<"Esta persona es profesor y su información personal es:"<

(*pWorkerInfo).Display( ); //Mostrar información del empleado

continuar;

}

}

if (false= =Hflag)

{

cout<<"¡No existe tal empleado!"<

}

cout<<"Presione Enter Retorno "<

getchar();

}

void DisTeacherByAcademy (vector TeaInfo){ / /Salida de información del profesor por departamento

system("color 05A");

bool Hflag=false;

string; SearchName;

vector ::iterator pTeaInfo;

while((TeaInfo).empty()!=1) { //Generar todos los profesores del departamento especificado

pTeaInfo=(Té

Info).begin();

string Academia = (*pTeaInfo).GetAcademy()

cout<<"Departamento:"<

for(pTeaInfo=(TeaInfo).begin();(TeaInfo).empty()!=1&&pTeaInfo!=(TeaInfo).end( ) ;){

if (0==Academy.compare((*pTeaInfo).GetAcademy()))

{

(*pTeaInfo). Mostrar ();

cout<

(TeaInfo).erase(pTeaInfo);

pTeaInfo=(TeaInfo).begin();

p>

}

else pTeaInfo++;

}

cout<

}

cout<<"Presione Enter para regresar"<

getchar(); getchar();

}

void WriteFile( vector *TeaInfo,vector *WokerInfo) //Generar nuevo archivo

{

ARCHIVO *fp;

if (NULL== (fp=fopen ("Empleado.txt","w+")))

{

cout<<"Error al abrir archivo"<

salir(- 1);

}

vector ::iterador pWorkerInfo

vector ::iterador pTeaInfo;

for(pTeaInfo=(*TeaInfo).begin();pTeaInfo!=(*TeaInfo).end();pTeaInfo++) //Escribe la información de todos los profesores en el vector

{

fputs("Información del profesor:\n",fp);

fprintf(fp,"Nombre: %s\n",(*pTeaInfo).GetName().c_str ());

fprintf(fp,"Edad:%d\n",(*pTeaInfo).GetAge());

fputs("\n",fp) ;

}

fputs("La información del profesor termina\n",fp);

for(pWorkerInfo=(*WokerInfo).begin();pWorkerInfo !=(*WokerInfo ).end();pWorkerInfo++) //Escribe la información de todos los profesores en el vector

{

fputs("Información del empleado:\n",fp );

fprintf(fp,"Nombre:%s\n",(*pWorkerInfo).GetNa

me().c_str());

fprintf(fp,"Edad:%d\n",(*pWorkerInfo).GetAge());

fputs("\ n",fp);

}

fputs("La información del empleado finaliza\n",fp);

fclose(fp);

}

void Mainmenu(){//Interfaz de menú

system("color 05A"); //Establece el color de fondo y el color de primer plano de la ventana actual

cout<<" ╭――――――――――"Sistema de gestión de profesores y personal"――――――――╮"<

cout<; <" ∣ Seleccione la función∣"<

cout<<" ├――――――――――――――――――――――――― ――― ┤"<

cout<<" ∣ 1. Crear e ingresar datos del empleado∣"<

cout<<" ∣ 2. Salida del empleado datos según condiciones ∣"<

cout<<" ∣ 3. Eliminar datos del empleado∣"<

cout<<" ∣ 0. Salir∣" <

cout<<" ╰――――――――――――――――――――――――――╯"<

cout<<" ―――――――――――――――――――――――――――――――――"<

cout <<" Seleccione la categoría que desea publicar: " ;

}

void Insert(vector *TeaInfo,vector *WorkerInfo ) //Agregar interfaz de menú de datos de empleado

{

system("color 05A" //Establecer el color de fondo y el color de primer plano de la ventana actual

int select = -1;

while(select!=0)

{

cout<<" ╭――――――――― ――"Agregar datos de empleado"―― ―――――――――╮"<

cout<<" ∣ Seleccione una operación: ∣"<

cout<<" ├―― ――――――――――――――――――――――――――――┤"<

>

cout<<" ∣ 1 agregar un registro de maestro ∣"<

cout<<" ∣ 2 agregar un registro de trabajador ∣"<

cout<<" ∣ 0Volver al menú principal∣"<

cout<<" ╰――――――――――――――――――――――― ―――――――╯"<

cin>>select;

switch(select){

caso 1:AddTeacher(TeaInfo );romper;

caso 2:AddWoker(WorkerInfo);romper;

caso 3:Mainmenu();romper;

valor predeterminado:

cout<<"¡Volver al menú principal!"<

}

}

}

void Search (vector *TeaInfo,vector *WorkerInfo) //Consulta la interfaz del menú de datos del empleado

{

system("color 05A" //Establece el ventana actual Color de fondo y color de primer plano

int select = -1

while(select!=0)

{

cout; < <" ╭――――――――――――"Consultar datos de empleado‖――――――――――╮"<

cout<<" ∣ Seleccione un operación: ∣"<

cout<<" ├――――――――――――――――――――――――――――――――┤ "<< endl;

cout<<" ∣ 1 Mostrar todos los registros de empleados∣"<

cout<<" ∣ 2 Generar información de los maestros por departamento∣"<< endl;

cout<<" ∣ 3Recuperar toda la información por nombre∣"<

cout<<" ∣ 4 Calcular la edad promedio de los profesores∣"<

cout<<" ∣ 5 Calcular la edad promedio de los trabajadores∣"&

lt;

cout<<" ∣ 0Volver al menú principal∣"<

cout<<" ╰―――――――――― ―― ―――――――――――――――――╯"<

cin>>select;

switch(select){

caso 1:DisplayAll(TeaInfo,WorkerInfo);break;

caso 2:DisTeacherByAcademy(*TeaInfo);break;

caso 3:SearchByName(TeaInfo, WorkerInfo) ;break;

caso 4:DisAvgTeacherAge(TeaInfo);break;

caso 5:DisAvgWorkerAge(WorkerInfo);break;

caso 6:Menú principal () ;break;

predeterminado:

cout<<"¡Volver al menú principal!"<

}

}

}

void Delete(vector *TeaInfo,vector *WorkerInfo) //Eliminar datos del empleado

{

system("color 05A"); //Establece el color de fondo y el color de primer plano de la ventana actual

int select = -1

while(select!= 0)

{

cout<<" ╭―――――――――――――――――――――――――――――― ―╮"<

cout<<" ∣ Seleccione la operación: ∣"<

cout<<" ├――――――――― ―――――――――― ――――――――――┤"<

cout<<" ∣ 1Eliminar un registro de maestro∣"<

cout<< " ∣ 2Eliminar un registro de trabajador∣"<

cout<<" ∣ 0Volver al menú principal∣"<

cin>>seleccionar ;

cambiar(seleccionar){

caso 1:DelTeacher(TeaInfo);romper;

>

caso 2:DelWorker(WorkerInfo);break;

caso 3:Mainmenu();break;

predeterminado:

cout<<" ¡Volver al menú principal!"<

}

}

}

void MainCho(vector * TeaInfo ,vector *WorkerInfo)

{ //Operación del menú principal

int Choice = -1;

while(choice!=0){

Menú principal();

cin>>elección;

cambiar(elección){

caso 1: Insertar(TeaInfo,WorkerInfo ) ;break;

caso 2:Buscar(TeaInfo,WorkerInfo);break;

caso 3:Delete(TeaInfo,WorkerInfo);break;

caso 0 :break;

predeterminado:

cout<<"¡Error de operación!"<

}

}

}

void main() //función principal

{

vector TeaInfo; > vector WorkerInfo; //

vector ::iterador pTeacher; //

vector ::iterador pWoker; p > pTeacher = TeaInfo.begin(); //

pWoker = WorkerInfo.begin(); //

MainCho(&TeaInfo,&WorkerInfo); / p>

WriteFile(&TeaInfo,&WorkerInfo //Operación para guardar el archivo

}