//Proyecto 7.
//SISTEMA PARA GUARDAR Y BUSCAR EMPLEADOS EN UNA EMPRESA.
/* Una empresa desea un pequeño sistema que les permita guardar los datos de 20 empleados; número de empleado y primer nombre.
Los números de empleados van del 1 al 20, pero no se ingresan de forma consecutiva, el usuario lo ingresa aleatoriamente, por
ejemplo: primero ingresa el número 5, después ingresa el número 2, etc.
Una vez que los datos estén guardados el usuario desea tener las siguientes funciones:
1.- Buscar el nombre de empleado por su número de empleado.
2.- Buscar el número de empleado por su nombre.
3.- Saber si un usuario no existe.
4.- Saber si hay nombres similares entre sus empleados.
5.- Mostrar empleados de forma ascendente por un número de empleados.
6.- Mostrar empleados de forma descendente por número de empleado. */
#include<iostream>
#include<string.h>
using namespace std;
int main(){
int numeroempleado[4] = {};
char nombre[4][15] = {}, nombrecam[4][15] = {};
int aux = 0, opcion = 0;
int a = 0, buscar = 0, superior = 0, inferior = 0, centro = 0;
char condicion = {'F'}, clave[15] = "";
for(int i = 0; i <= 3; i++){
cout<<"Ingresa el numero de empleado: ";
cin>>numeroempleado[i];
cout<<"Ingresa el primer nombre del empleado: ";
cin>>nombre[i];
cout<<endl;
}
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(numeroempleado[j] > numeroempleado[j + 1]){
aux = numeroempleado[j];
strcpy(nombrecam[j], nombre[j]);
numeroempleado[j] = numeroempleado[j + 1];
strcpy(nombre[j], nombre[j + 1]);
numeroempleado[j + 1] = aux;
strcpy(nombre[j + 1], nombrecam[j]);
}
}
}
cout<<endl;
cout<<"Menu de opciones: ";
cout<<endl<<endl<<"1.- Buscar el nombre de un empleado por su numero de empleado.";
cout<<endl<<"2.- Buscar el numero de empleado por su nombre.";
cout<<endl<<"3.- Saber si hay nombres similares entre los empleados.";
cout<<endl<<"4.- Mostrar empleados de forma ascendente por numero de empleado.";
cout<<endl<<"5.- Mostrar empleados de forma descendente por numero de empleado.";
cout<<endl<<endl<<"Digite una opcion: ";
cin>>opcion;
switch(opcion){
case 1:
cout<<endl<<endl<<"Ingrese el numero de empleado: ";
cin>>buscar;
inferior = 0;
superior = 3;
while(inferior <= superior){
centro = (inferior + superior) / 2;
if(numeroempleado[centro] == buscar){
condicion = 'V';
break;
} else if(numeroempleado[centro] > buscar){
superior = centro - 1;
} else {
inferior = centro + 1;
}
}
cout<<endl;
if(condicion == 'V'){
cout<<"El numero "<<buscar<<" de empleado coincide con el nombre: "<<nombre[centro];
} else {
cout<<"El empleado no existe en la base de datos. ";
}
}
switch(opcion){
case 2:
cout<<endl<<endl<<"Ingrese el nombre del empleado: ";
cin>>clave;
for(int i = 0; i <= 3; i++){
for(int j = 0; j <= 3; j++){
if(nombre[j] == clave){
condicion = 'V';
}
}
}
for(int i = 0; i <= 3; i++){
if(condicion == 'V'){
cout<<"El nombre "<<clave<<" de empleado coincide con el nombre: "<<nombre[i];
}
}
}
switch(opcion){
case 4:
cout<<endl<<endl<<"Empleados de forma ascendente por numero de empleado: "<<endl;
for(int i = 0; i <= 3; i++){
cout<<"Numero: "<<numeroempleado[i]<<" || Nombre: "<<nombre[i]<<endl;
}
}
switch(opcion){
case 5:
cout<<endl<<endl<<"Empleados de forma descendente por numero de empleado: "<<endl;
for(int i = 3; i >= 0; i--){
cout<<"Numero: "<<numeroempleado[i]<<" || Nombre: "<<nombre[i]<<endl;
}
}
return 0;
}