[C con Clase] Ayuda con Clase Modificar en C++
Ing CuCei
guru_wissens en outlook.com
Mie Mar 25 06:05:55 CET 2015
Buenos dias amigos soy nuevo en el grupo y programando fijence que tengo un codigo el cual quieren que le ponga la opcion de buscar que ya la tiene pero al momento de modificar un arreglo en x posicion lo que pasa es que me modifica el primer arreglo en vez que el seleccionado alguien me podria decir el problema Les dejo el codigo Muchas Gracias
//Hecho Por Guru_wissens
#include<iostream>#define MAX 3
int ban=0;int cont_prod=0;using namespace std;class Empleados{ public:
int Id,Sal,i,contador; char cliente[25],Fec[10],RFC[25],Dir[30],ultc[10],Nss[20]; long int Tel[3]; public:
void capturar(); void mostrar(); void buscar(); void modificar(int x);}e;
Empleados em[10];
void Empleados::capturar(){ cout<<"\t\nID:" <<endl; cin>>Id; cout<<"\t\nNss:" <<endl; cin>>Nss; cout<<"\t\nEmpleado:" <<endl; cin>>cliente; cout<<"\t\nPuesto:" <<endl; cin>>ultc; cout<<"\t\nDireccion:" <<endl; cin>>Dir; cout<<"\t\nFecha :" <<endl; cin>>Fec; cout<<"\t\nR.F.C:" <<endl; cin>>RFC; for(i=0;i<3;i++) { cout<<"\t\nTelefono:" <<i+1 <<endl; cin>>Tel[i];
}
cout<<"\t\nSalario" <<endl; cin>>Sal;
}
void Empleados::mostrar(){ cout<<"\t\nID:" <<Id; cout<<"\t\nNss:" <<Nss; cout<<"\t\nEmpleado:" <<cliente; cout<<"\t\nDireccion:" <<Dir; cout<<"\t\nPuesto:" <<ultc; for(i=0;i<3;i++) { cout<<"\t\nTelefono:"<<i+1<<Tel[i] <<endl;
} cout<<"\t\nFecha:" <<Fec; cout<<"\t\nR.F.C:" <<RFC; cout<<"\t\nSalario:" <<Sal;
}
void Empleados::buscar(){ int Clave; cout<<"\nID del Cliente:"<<endl; cin>>Clave; if(Id==Clave) { cout<<"\nEmpleado:"<<cliente; cout<<"\nID: "<<Id; cout<<"\nNss: "<<Nss; cout<<"\nR.F.C: "<<RFC; cout<<"\nPuesto: "<<ultc; for(i=0;i<3;i++) { cout<<"\t\nTelefono:"<<i+1<<Tel[i] <<endl;
} cout<<"\nDireccion: "<<Dir; cout<<"\nFecha: "<<Fec;
}
}
void Empleados :: modificar(int x){ int opc=0; int tam=4;
for(int j=0;j<tam;j++) {
if(x==Id) { cout<<"\nEl Codigo es: \n"; mostrar(); while(opc!=5) { cout<<"\n\nQue deseas modificar "<<endl; cout<<"\n1. Codigo "<<endl; cout<<"\n2. Nombre "<<endl; cout<<"\n3. Fecha "<<endl; cout<<"\n4. Nss "<<endl; cout<<"\n5. Ir a menu de servicio"<<endl; cin>>opc;
switch (opc){ case 1: cout<<"\nCodigo: "; cin>>em[j].Id; break; case 2:cin.ignore(100,'\n'); cout<<"\nNombre: "; cin.getline(em[j].cliente,20,'\n'); break; case 3: cout<<"\nFecha: "; cin>>em[j].Fec; break; case 4: cout<<"\nNss: "; cin>>em[j].Nss; break; }
} } else ban=1; }
};
int main(){ char Id;int op,x=0,i,contador,Idx;int opc=0,opcion=0; int cod=0,cod_s=0,cod_e=0,cod_c=0;
while(x<=1) { cout<<"\t\t Empleados\n\n"<<endl; cout<<"\t1.Capturar\n \t2.Mostrar\n \t3.Buscar\n\t4.Modificar\n"<<endl; cin>>op; switch(op){
case 1:
for(i=0;i<10;i++) { em[i].capturar(); }
break;
case 2:
for(i=0;i<10;i++) { em[i].mostrar(); }
break; case 3:
for(i=0;i<10;i++) { em[i].buscar(); }
break;
case 4:ban=0;Idx=0; cout<<"\n\nCodigo del producto a modificar \n"; cin>>Idx; for(int x=1;x<Idx;x++) em[x].modificar(Idx); if (ban==1) cout<<"Esa producto no existe \n"; break; default: cout<<"\nEsa opcion no Existe"<<endl; } cout<<"\nDesea Regresar al Menu: 1.Si 2.No"<<endl; cin>>x; } }
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20150324/b46f4f82/attachment.html>
Más información sobre la lista de distribución Cconclase