Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2015, 21:15
dasilvadanij
 
Fecha de Ingreso: julio-2015
Mensajes: 3
Antigüedad: 8 años, 9 meses
Puntos: 1
Como eliminar los Elementos de un Arrays

Hola, buenas, estoy creando un programa "proyecto" para mi universidad pero tengo una duda a la hora de eliminar los datos de un arrays. de verdad no se como empezar a hacerlo sin que me modifique todos los demas datos. el programa tiene estas opciones. para ver si pueden ayudarme a hacerlo o orientarme de alguna manera. se trata de una empresa X.

Código:
#include <iostream>
#include <string>
#include <conio.h>
#include <cstdlib>
#include <stdio.h> 
#include <cstring>
using namespace std;

class Empresa{
public:
struct Trab {
int totalempl;
int nempleado[100];
int cedula[100];
int Antiguedad[100];
char nombre[100][100];
char nombre2[100][100];
char nacionalidad[1][100];
double salario[100];
double TotalFinal[100];
} trabajadores;	
public:
float Carga_Inicial ();
float Depar_Opci ();
float Anadir_Empl();
float Gana_Emple ();
float Extr_Traba ();
float Consulg_Emp();
void Consuloa_Emp();
float consul_Emp();
float Modif_Emp();
float Borr_Emp();
float Calcular_Sueldo();

};
float Empresa::Carga_Inicial() {
	int N;
   	system("cls");
   	cout<<"Carga Inicial De Empleados"<<endl;
   	cout<<"---------------------------"<<endl;
    cout<<"Ingrese la cantidad de Empleados que desea Ingresar:"<<endl;
    cin>>N;
    while((N < 2) || (N > 100)) {
    	cout<<"Debe ingresar un numero mayor o igual a 0 y menor o igual 100"<<endl;
    	cin>>N;
    }
    int i;
    for (i = 0; i < N; i++) {
    	cout<<"Registro numero:"<<i+1<<endl;
    	Empresa::Anadir_Empl(); }}
    	
float Empresa::Anadir_Empl(){
	
	system("cls");
	int i = trabajadores.totalempl;

	char V[100] = "V";
	char E[100] = "E";
	
	cout<<"Ingrese los datos del Empleado:"<<endl;
	cout<<"--------------------"<<endl;
	cout<<"Numero de Empleado: "<<i+1<<endl;
	cout<<"\n"<<endl;
	trabajadores.nempleado[i]=i+1;
    cout<<"Nombre:"<<endl;
    cin>>trabajadores.nombre[i];
    cout<<"\n"<<endl;
    cout<<"cedula:"<<endl;
    cin>>trabajadores.cedula[i];
    cout<<"\n"<<endl;
     cout<<"Antiguedad en la Empresa (Valorada en Años):"<<endl;
    cin>>trabajadores.Antiguedad[i];
    cout<<"\n"<<endl;
	cout<<"Nacionalidad V o E:"<<endl;
	cin>>trabajadores.nacionalidad[i];
	
	while((strcmp(trabajadores.nacionalidad[i], E) != 0) && (strcmp(trabajadores.nacionalidad[i], V) != 0)) {
		cout<<"Indique una opcion valida (V o E):"<<endl;
		cin>>trabajadores.nacionalidad[i];
	}
	cout<<"\n"<<endl;
	cout<<"Salario del Empleado:"<<endl;
	cin>>trabajadores.salario[i];
	trabajadores.totalempl++;
};

float Empresa::Depar_Opci (){
	system("cls");
	int U;
	cout<<"Bienvenido a la Empresa Daniel&Christian C.A - Company - "<<endl;
	cout<<"------------------------------------------------------------------"<<endl;
	cout<<"Cantidad de Empleados registrados ("<< trabajadores.totalempl <<")"<<endl;
	cout<<"Elija una de las siguientes opciones:"<<endl;
	cout<<"1) Datos del empleado que mas gana por Semana"<<endl;
	cout<<"2) Total pagado a los Empleados Extranjeros"<<endl;
	cout<<"3) Consulta general ordenada por número de empleado"<<endl;
	cout<<"4) Consulta general ordenada por nombre de empleado"<<endl;
	cout<<"5) Consulta individual"<<endl;
	cout<<"6) Ingresar un Nuevo Empleado"<<endl;
	cout<<"7) Modificar Datos"<<endl;
	cout<<"8) Borrar Datos"<<endl;
	cout<<"9) Salir"<<endl;
	cout<<"OPCION: ";
    cin>>U;
    while((U < 1) || (U > 9)) {
    	cout<<"Debe ingresar un opcion valida"<<endl;
    	cin>>U;
    }
	switch (U)
    {
        case 1:
            Empresa::Gana_Emple();
            Empresa::Depar_Opci();
            break;
        case 2:
        	Empresa::Extr_Traba();
        	Empresa::Depar_Opci();
            break;
        case 3:
            Empresa::Consulg_Emp();
            Empresa::Depar_Opci();
            break;
        case 4:
        	Empresa::Consuloa_Emp();
        	Empresa::Depar_Opci();
            break;
        case 5:
            Empresa::consul_Emp();
            Empresa::Depar_Opci();
            break;
        case 6:
        	Empresa::Anadir_Empl();
        	Empresa::Calcular_Sueldo();
        	Empresa::Depar_Opci();
        	break;
        	
        case 7:
        	Empresa::Modif_Emp();
        	Empresa::Calcular_Sueldo();
        	Empresa::Depar_Opci();
        	break;
        case 8:
        	Empresa::Borr_Emp();
        	Empresa::Depar_Opci();
        	break;
        case 9:
        	
        	break;
    }
};

float Empresa::Gana_Emple(){
	
	int T = trabajadores.totalempl;
	int M = 0;
	int i;
	for (i = 1; i < T; i++) {
		if(trabajadores.salario[i] > trabajadores.salario[i-1]) {
			M = i;
		}
	}
	system("cls");
	cout<<"El Empleado que mas gana por dia a la Semana"<<endl;
	cout<<"Numero: "<<trabajadores.nempleado[M]<<endl;
	cout<<"Nombre: "<<trabajadores.nombre[M]<<endl;
	cout<<"Nacionalidad: "<<trabajadores.nacionalidad[M]<<endl;
	cout<<"Antiguedad: "<<trabajadores.Antiguedad[M]<< " Años"<<endl;
	cout<<"Gana: "<<trabajadores.salario[M]<<endl;
	cout<<"\n"<<endl;
	system("pause");

	}
	
float Empresa::Extr_Traba() {
	char e[100] = "V";
	int i;
	int T = trabajadores.totalempl;
	double Total = 0;
	
	for(i = 0; i < T; i++) {
		if(strcmp(trabajadores.nacionalidad[i], e) == 0) {
			
		}
		else {
			Total = Total + trabajadores.salario[i];
			cout<<trabajadores.salario[i];
		}
	}
	
	cout<<"\n"<<endl;
	cout<<"El monto total pagado a los Empleados Extranjeros es de: "<<Total<<endl;
	cout<<"\n"<<endl;
	system("pause");
	
}


float Empresa::Consulg_Emp() {
	
		int cont,i;
		system ("cls");
	cout<<" ---------------------------------------------------------------------------"<<endl;
	cout<<"!             Consulta General Ordenada por Numero de Empleado               ! "<<endl;
	cout<<" ---------------------------------------------------------------------------"<<endl;
	cout<<" ---------------------------------------------------------------------------"<<endl;
	for (int i=0; i<trabajadores.totalempl; i++)
	{
		
	cout<<"Num: "<<trabajadores.nempleado[i]<<"\t Nombre: "<<trabajadores.nombre[i]<<"\t Antiguedad: "<<trabajadores.Antiguedad[i]<<"\t Salario: "<<trabajadores.salario[i]<<"\t Salario Total "<<trabajadores.TotalFinal[i]<<endl;
	cout<<" --------------------------------------------------------------------------"<<endl;
	}
	system("Pause");
}



void Empresa::Consuloa_Emp(){


int i,j;
int h,k;
char aux[100];

for (h=0;h<trabajadores.totalempl; h++)
strncpy(trabajadores.nombre2[h], trabajadores.nombre[h], 100);


for(i=0; i<trabajadores.totalempl-1; i++)
for(j=i+1; j<trabajadores.totalempl; j++)
if(strcmp(trabajadores.nombre2[i], trabajadores.nombre2[j]) > 0)	
{ 
strcpy(aux, trabajadores.nombre2[i]); 
strcpy(trabajadores.nombre2[i], trabajadores.nombre2[j]); 
strcpy(trabajadores.nombre2[j], aux); 
} 
cout<<" ---------------------------------------------------------------------------"<<endl;
cout<<"!             Consulta General Ordenada por Nombre de Empleado              ! "<<endl;
cout<<" ---------------------------------------------------------------------------"<<endl;
for(i=0; i<trabajadores.totalempl; i++) {
cout<<"Nombres: "<< trabajadores.nombre2[i]<<"\t Antiguedad: "<<trabajadores.Antiguedad[i]<<"\t Salario: "<<trabajadores.salario[i]<<"\t Salario Total "<<trabajadores.TotalFinal[i]<<endl;
}


system("Pause");
}
	

float Empresa::consul_Emp() {
	 int n;
	 cout<<"Ingrese el numero de empleado que desea consultar:"<<endl;
	 cin>>n;
	 cout<<"\n"<<endl;
	 cout<<"Nombre: "<<trabajadores.nombre[n-1]<<endl;
	 cout<<"Cedula: "<<trabajadores.cedula[n-1]<<endl;
	 cout<<"Nacionalidad: "<<trabajadores.nacionalidad[n-1]<<endl;
	 cout<<"Antiguedad: "<<trabajadores.Antiguedad[n-1]<<endl;
	 cout<<"Salario: "<<trabajadores.salario[n-1]<<endl;
	 
	 system("Pause");
	} 

float Empresa::Calcular_Sueldo(){
	int i;
	int semana;
	double Totalfinal;
	semana=4*5;
	for (int i=0; i<trabajadores.totalempl; i++)
	{
	
	trabajadores.TotalFinal[i]=trabajadores.salario[i]*semana;
    
}

}
	 
float Empresa::Modif_Emp(){
	int n;
	int o;
	 cout<<"Ingrese el numero de empleado que desea Modificar:"<<endl;
	 cin>>n;
	cout<<"\n"<<endl;
	cout<<"Nombre de empleado a Modificar: "<<trabajadores.nombre[n-1]<<endl;
	cout<<"Opciones para Modificar Selecione"<<endl;
	cout<<"1) Nombre"<<endl;
	cout<<"2) Cedula"<<endl;
	cout<<"3) Antiguedad"<<endl;
	cout<<"4) Nacionalidad (V o E)"<<endl;
	cout<<"5) Salario"<<endl;
	cout<<"6) No Editar"<<endl;
	cout<<"opc: ";
	 cin>>o;
    while((o < 1) || (o > 6)) {
    	cout<<"Debe ingresar un opcion valida"<<endl;
    	cin>>o;
    }
		switch (o)
    {
        case 1:
            cout<<"Editar Nombre: "<<endl;
            cin>>trabajadores.nombre[n-1];
            break;
        case 2:
            cout<<"Editar Cedula: "<<endl;
            cin>>trabajadores.cedula[n-1];
            break;
        case 3:
        cout<<"Editar Antiguedad : "<<endl;
            cin>>trabajadores.Antiguedad[n-1];
            break;
        case 4:
        	cout<<"Edit Nacionalidad Ingrese (V o E): "<<endl;
            cin>>trabajadores.nacionalidad[n-1];
            break;
        case 5:
            cout<<"Editar Salario: "<<endl;
            cin>>trabajadores.salario[n-1];
            break;
		case 6:
		break;	
}
	 }

float Empresa::Borr_Emp() {
	int n;
	int o;
	 cout<<"Ingrese el numero de empleado que desea Eliminar: "<<endl;
	 cin>>n;
	 cout<<" Los datos que desea Eliminar Son del empleado: "<<trabajadores.nombre[n-1];
	 cout<<"\n"<<endl;
	 cout<<"SEGURO QUE QUIERE ELIMINAR LOS DATOS (Y O N)"<<endl;
	 cin>>o;
	   switch (o)
    {
        case 'y':
               
            break;
        case 'n':
           break;
	  
}
}	


int main ()
{
	Empresa x;
	x.Carga_Inicial();
	x.Calcular_Sueldo();
	x.Depar_Opci();
	system("pause");
}