elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / ayuda con registros y archivos .txt en C++ en: 1 Agosto 2014, 17:54 pm
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.

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <fstream>
  4. #include <conio.h>
  5. #include <string.h>
  6. #include <stdio.h>
  7.  
  8. using namespace std;
  9.  
  10. struct t_padres
  11. {
  12. int cedula;
  13. char nombre[20];
  14. };
  15.  
  16. struct t_datos
  17. {
  18. int cedula, telefono;
  19. char nombre[20], correo[30];
  20. t_padres padres[2];
  21.  
  22. } persona[5];
  23. int dat_clave;
  24. int eliminar;
  25. char opc1;
  26. short opc = 0, opcI=0, i=0, j=0;
  27. void INSERTAR()
  28. { do{
  29. cout<<"REGISTRAR"<<endl;
  30. cout<<endl;
  31. cout<<"Indique la cedula de la persona: "<<endl;
  32. cin>>persona[i].cedula;
  33. cout<<"Indique el nombre de la persona: "<<endl;
  34. cin>>persona[i].nombre;
  35. cout<<"Indique el correo de la persona: "<<endl;
  36. cin>>persona[i].correo;
  37. cout<<"Indique el telefono de la persona: "<<endl;
  38. cin>>persona[i].telefono;
  39. cout<<"Indique la cedula del padre: "<<endl;
  40. cin>>persona[i].padres[0].cedula;
  41. cout<<"Indique el nombre del padre: "<<endl;
  42. cin>>persona[i].padres[0].nombre;
  43. cout<<"Indique la cedula del madre: "<<endl;
  44. cin>>persona[i].padres[1].cedula;
  45. cout<<"Indique el nombre del madre: "<<endl;
  46. cin>>persona[i].padres[1].nombre;
  47. i++;
  48.  
  49. }
  50. while(opcI = 1 && i < 5);
  51. }
  52.  
  53. void MODIFICAR()
  54. { do{
  55. cout<<"Indique la cedula: "<<endl;
  56. cin>>dat_clave;
  57. if(dat_clave == persona[j].cedula)
  58.  
  59. cout<<"Indique el nombre de la persona: "<<endl;
  60. cin>>persona[j].nombre;
  61. cout<<"Indique el correo de la persona: "<<endl;
  62. cin>>persona[j].correo;
  63. cout<<"Indique el telefono de la persona: "<<endl;
  64. cin>>persona[j].telefono;
  65. cout<<"Indique la cedula del padre: "<<endl;
  66. cin>>persona[j].padres[0].cedula;
  67. cout<<"Indique el nombre del padre: "<<endl;
  68. cin>>persona[j].padres[0].nombre;
  69. cout<<"Indique la cedula del madre: "<<endl;
  70. cin>>persona[j].padres[1].cedula;
  71. cout<<"Indique el nombre del madre: "<<endl;
  72. cin>>persona[j].padres[1].nombre;
  73. j++;
  74. }
  75. while (j < 5);
  76. }
  77.  
  78. void ELIMINAR()
  79. { cout<<"USUARIOS REGISTRADOS: "<<endl;
  80.  
  81. 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;
  82. cout<<endl;
  83.  
  84. 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;
  85. cout<<endl;
  86.  
  87. 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;
  88. cout<<endl;
  89.  
  90. 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;
  91. cout<<endl;
  92.  
  93. 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;
  94. cout<<endl;
  95.  
  96. cout<<"Seleccione numero de usuario para eliminar: "<<endl;
  97. cin>>eliminar;
  98.  
  99. cout<<"Eliminando Usuario Seleccionado........"<<endl;
  100.  
  101. ifstream salida;
  102. salida.open("registros.txt",ios::in);
  103.  
  104. ofstream entrada;
  105.  
  106. if(salida.fail()){
  107. cout<<"Hubo un error al abrir el archivo registros.txt"<<endl;
  108. }
  109. else{
  110. char aux[20];
  111.  
  112. cout<<"Ingrese la cedula: "<<endl;
  113. cin>>aux;
  114.  
  115. salida>>persona[i].cedula;
  116.  
  117. while(!salida.eof()){
  118.  
  119. salida>>t_datos.nombre>>t_datos.correo>>t_datos.telefono>>t_padres.cedula>>t_padres.nombre>>t_padres.cedula>>t_padres.nombre<<endl;
  120.  
  121. if(strcmp()){
  122.  
  123. cout<<" El registro se ha eliminado"<<endl;
  124. }
  125. else{
  126.  
  127. entrada<<t_datos.nombre<<t_datos.correo<<t_datos.telefono<<t_padres.cedula<<t_padres.nombre<<t_padres.cedula<<t_padres.nombre<<endl;
  128. }
  129. salida>>cedula;
  130.  
  131. }
  132. entrada.close();
  133. salida.close();
  134.  
  135. remove("registros.txt");
  136. rename("temp.txt","registros.txt");
  137.  
  138. }
  139.  
  140. 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;
  141. cout<<endl;
  142. 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;
  143. cout<<endl;
  144. 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;
  145. cout<<endl;
  146. 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;
  147. cout<<endl;
  148. 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;
  149. cout<<endl;
  150. }
  151.  
  152. void LISTADO()
  153. { 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;
  154. cout<<endl;
  155. 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;
  156. cout<<endl;
  157. 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;
  158. cout<<endl;
  159. 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;
  160. cout<<endl;
  161. 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;
  162. cout<<endl;
  163. }
  164.  
  165.  
  166. int main(int argc, char *argv[])
  167. {
  168.  
  169. do{
  170. cout<<"OPCIONES"<<endl;
  171. cout<<endl;
  172. cout<<"1.- INSERTAR"<<endl;
  173. cout<<"2.- MODIFICAR"<<endl;
  174. cout<<"3.- ELIMINAR"<<endl;
  175. cout<<"4.- LISTADO"<<endl;
  176. cout<<"5.- SALIR"<<endl;
  177. cout<<endl;
  178. cout<<"Indique su opcion"<<endl;
  179. cin>>opc;
  180.  
  181. switch (opc) {
  182. case 1:{ INSERTAR();
  183. break;
  184. }
  185.  
  186. case 2:{ MODIFICAR();
  187. break;
  188. }
  189.  
  190.  
  191. case 3:{ ELIMINAR();
  192. break;
  193. }
  194.  
  195. case 4:{ LISTADO();
  196. break;
  197. }
  198. default:{
  199. cout<<"Opcion invalida...."<<endl ;
  200. } break;
  201. }
  202.  
  203. } while (opc != 5);
  204. cout<<"Desea Realizar otra operacion ¿s/n?"<<endl;
  205. cin>>opc1;
  206.  
  207. } while (opc1 == 's');
  208.  
  209. }
  210. system("PAUSE");
  211. return EXIT_SUCCESS;
  212. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines