23/07/2015, 21:15
|
| | Fecha de Ingreso: julio-2015
Mensajes: 3
Antigüedad: 9 años, 5 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");
}
|