Por favor si pueden ayudarme con esto. Debo crear un registro que pueda insertar, modificar, eliminar y mostrar listado. En la parte Eliminar tengo un arroz con mango, en la linea 120 me da error y ya no se que hacer.
Aquí les copio todo el código,
Gracias de antemano.
Aquí les copio todo el código,
Gracias de antemano.
Código (c++) [Seleccionar]
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string.h>
#include <stdio.h>
using namespace std;
struct t_padres
{
int cedula;
char nombre[20];
};
struct t_datos
{
int cedula, telefono;
char nombre[20], correo[30];
t_padres padres[2];
} persona[5];
int dat_clave;
int eliminar;
char opc1;
short opc = 0, opcI=0, i=0, j=0;
void INSERTAR()
{ do{
cout<<"REGISTRAR"<<endl;
cout<<endl;
cout<<"Indique la cedula de la persona: "<<endl;
cin>>persona[i].cedula;
cout<<"Indique el nombre de la persona: "<<endl;
cin>>persona[i].nombre;
cout<<"Indique el correo de la persona: "<<endl;
cin>>persona[i].correo;
cout<<"Indique el telefono de la persona: "<<endl;
cin>>persona[i].telefono;
cout<<"Indique la cedula del padre: "<<endl;
cin>>persona[i].padres[0].cedula;
cout<<"Indique el nombre del padre: "<<endl;
cin>>persona[i].padres[0].nombre;
cout<<"Indique la cedula del madre: "<<endl;
cin>>persona[i].padres[1].cedula;
cout<<"Indique el nombre del madre: "<<endl;
cin>>persona[i].padres[1].nombre;
i++;
}
while(opcI = 1 && i < 5);
}
void MODIFICAR()
{ do{
cout<<"Indique la cedula: "<<endl;
cin>>dat_clave;
if(dat_clave == persona[j].cedula)
cout<<"Indique el nombre de la persona: "<<endl;
cin>>persona[j].nombre;
cout<<"Indique el correo de la persona: "<<endl;
cin>>persona[j].correo;
cout<<"Indique el telefono de la persona: "<<endl;
cin>>persona[j].telefono;
cout<<"Indique la cedula del padre: "<<endl;
cin>>persona[j].padres[0].cedula;
cout<<"Indique el nombre del padre: "<<endl;
cin>>persona[j].padres[0].nombre;
cout<<"Indique la cedula del madre: "<<endl;
cin>>persona[j].padres[1].cedula;
cout<<"Indique el nombre del madre: "<<endl;
cin>>persona[j].padres[1].nombre;
j++;
}
while (j < 5);
}
void ELIMINAR()
{ cout<<"USUARIOS REGISTRADOS: "<<endl;
cout<<"Usuario 1:"<<persona[1].cedula<<" , "<<persona[1].nombre<<" , "<<persona[1].correo<< " , "<<persona[1].telefono<<" , "<<persona[1].padres[1].cedula<<" , "<<persona[1].padres[1].nombre<<" , "<<persona[1].padres[1].cedula<<" , "<<persona[1].padres[1].nombre<<" , " <<endl;
cout<<endl;
cout<<"Usuario 2:"<<persona[2].cedula<<" , "<<persona[2].nombre<<" , "<<persona[2].correo<< " , "<<persona[2].telefono<<" , "<<persona[2].padres[2].cedula<<" , "<<persona[2].padres[2].nombre<<" , "<<persona[2].padres[2].cedula<<" , "<<persona[2].padres[2].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 3:"<<persona[3].cedula<<" , "<<persona[3].nombre<<" , "<<persona[3].correo<< " , "<<persona[3].telefono<<" , "<<persona[3].padres[3].cedula<<" , "<<persona[3].padres[3].nombre<<" , "<<persona[3].padres[3].cedula<<" , "<<persona[3].padres[3].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 4:"<<persona[4].cedula<<" , "<<persona[4].nombre<<" , "<<persona[4].correo<< " , "<<persona[4].telefono<<" , "<<persona[4].padres[4].cedula<<" , "<<persona[4].padres[4].nombre<<" , "<<persona[4].padres[4].cedula<<" , "<<persona[4].padres[4].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 5:"<<persona[5].cedula<<" , "<<persona[5].nombre<<" , "<<persona[5].correo<< " , "<<persona[5].telefono<<" , "<<persona[5].padres[5].cedula<<" , "<<persona[5].padres[5].nombre<<" , "<<persona[5].padres[5].cedula<<" , "<<persona[5].padres[5].nombre<<" , "<<endl;
cout<<endl;
cout<<"Seleccione numero de usuario para eliminar: "<<endl;
cin>>eliminar;
cout<<"Eliminando Usuario Seleccionado........"<<endl;
ifstream salida;
salida.open("registros.txt",ios::in);
ofstream entrada;
if(salida.fail()){
cout<<"Hubo un error al abrir el archivo registros.txt"<<endl;
getch();
}
else{
char aux[20];
cout<<"Ingrese la cedula: "<<endl;
cin>>aux;
salida>>persona[i].cedula;
while(!salida.eof()){
salida>>t_datos.nombre>>t_datos.correo>>t_datos.telefono>>t_padres.cedula>>t_padres.nombre>>t_padres.cedula>>t_padres.nombre<<endl;
if(strcmp()){
cout<<" El registro se ha eliminado"<<endl;
getch();
}
else{
entrada<<t_datos.nombre<<t_datos.correo<<t_datos.telefono<<t_padres.cedula<<t_padres.nombre<<t_padres.cedula<<t_padres.nombre<<endl;
}
salida>>cedula;
}
entrada.close();
salida.close();
remove("registros.txt");
rename("temp.txt","registros.txt");
}
cout<<"Usuario 1:"<<persona[1].cedula<<" , "<<persona[1].nombre<<" , "<<persona[1].correo<< " , "<<persona[1].telefono<<" , "<<persona[1].padres[1].cedula<<" , "<<persona[1].padres[1].nombre<<" , "<<persona[1].padres[1].cedula<<" , "<<persona[1].padres[1].nombre<<" , " <<endl;
cout<<endl;
cout<<"Usuario 2:"<<persona[2].cedula<<" , "<<persona[2].nombre<<" , "<<persona[2].correo<< " , "<<persona[2].telefono<<" , "<<persona[2].padres[2].cedula<<" , "<<persona[2].padres[2].nombre<<" , "<<persona[2].padres[2].cedula<<" , "<<persona[2].padres[2].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 3:"<<persona[3].cedula<<" , "<<persona[3].nombre<<" , "<<persona[3].correo<< " , "<<persona[3].telefono<<" , "<<persona[3].padres[3].cedula<<" , "<<persona[3].padres[3].nombre<<" , "<<persona[3].padres[3].cedula<<" , "<<persona[3].padres[3].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 4:"<<persona[4].cedula<<" , "<<persona[4].nombre<<" , "<<persona[4].correo<< " , "<<persona[4].telefono<<" , "<<persona[4].padres[4].cedula<<" , "<<persona[4].padres[4].nombre<<" , "<<persona[4].padres[4].cedula<<" , "<<persona[4].padres[4].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 5:"<<persona[5].cedula<<" , "<<persona[5].nombre<<" , "<<persona[5].correo<< " , "<<persona[5].telefono<<" , "<<persona[5].padres[5].cedula<<" , "<<persona[5].padres[5].nombre<<" , "<<persona[5].padres[5].cedula<<" , "<<persona[5].padres[5].nombre<<" , "<<endl;
cout<<endl;
}
void LISTADO()
{ cout<<"Usuario 1:"<<persona[1].cedula<<" , "<<persona[1].nombre<<" , "<<persona[1].correo<< " , "<<persona[1].telefono<<" , "<<persona[1].padres[1].cedula<<" , "<<persona[1].padres[1].nombre<<" , "<<persona[1].padres[1].cedula<<" , "<<persona[1].padres[1].nombre<<" , " <<endl;
cout<<endl;
cout<<"Usuario 2:"<<persona[2].cedula<<" , "<<persona[2].nombre<<" , "<<persona[2].correo<< " , "<<persona[2].telefono<<" , "<<persona[2].padres[2].cedula<<" , "<<persona[2].padres[2].nombre<<" , "<<persona[2].padres[2].cedula<<" , "<<persona[2].padres[2].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 3:"<<persona[3].cedula<<" , "<<persona[3].nombre<<" , "<<persona[3].correo<< " , "<<persona[3].telefono<<" , "<<persona[3].padres[3].cedula<<" , "<<persona[3].padres[3].nombre<<" , "<<persona[3].padres[3].cedula<<" , "<<persona[3].padres[3].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 4:"<<persona[4].cedula<<" , "<<persona[4].nombre<<" , "<<persona[4].correo<< " , "<<persona[4].telefono<<" , "<<persona[4].padres[4].cedula<<" , "<<persona[4].padres[4].nombre<<" , "<<persona[4].padres[4].cedula<<" , "<<persona[4].padres[4].nombre<<" , "<<endl;
cout<<endl;
cout<<"Usuario 5:"<<persona[5].cedula<<" , "<<persona[5].nombre<<" , "<<persona[5].correo<< " , "<<persona[5].telefono<<" , "<<persona[5].padres[5].cedula<<" , "<<persona[5].padres[5].nombre<<" , "<<persona[5].padres[5].cedula<<" , "<<persona[5].padres[5].nombre<<" , "<<endl;
cout<<endl;
}
int main(int argc, char *argv[])
{
do{
cout<<"OPCIONES"<<endl;
cout<<endl;
cout<<"1.- INSERTAR"<<endl;
cout<<"2.- MODIFICAR"<<endl;
cout<<"3.- ELIMINAR"<<endl;
cout<<"4.- LISTADO"<<endl;
cout<<"5.- SALIR"<<endl;
cout<<endl;
cout<<"Indique su opcion"<<endl;
cin>>opc;
switch (opc) {
case 1:{ INSERTAR();
break;
}
case 2:{ MODIFICAR();
break;
}
case 3:{ ELIMINAR();
break;
}
case 4:{ LISTADO();
break;
}
default:{
cout<<"Opcion invalida...."<<endl ;
} break;
}
} while (opc != 5);
cout<<"Desea Realizar otra operacion ¿s/n?"<<endl;
cin>>opc1;
} while (opc1 == 's');
}
system("PAUSE");
return EXIT_SUCCESS;
}