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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda con Estructura!! en: 12 Junio 2017, 02:36 am
Buenas, quisiera me ayudaran como es la estructura de eliminar un nodo al final de la lista en C++ si pueden pegar el código se los agradecería saludos.
2  Programación / Programación C/C++ / Re: Ayuda con ejercicio de Algoritmo. en: 5 Junio 2017, 00:29 am
Logre un adelanto del código pero al tratar de correrlo me da el siguiente error quisiera me ayudaran el error que me indica es el siguiente.

collect2: error: ld returned 1 exit status


No se si me falta algo o tengo algo mal.

Código
  1. #include<iostream>
  2. #include<stdlib.h>
  3. using namespace std;
  4.  
  5. struct Registro{
  6. int cedula;
  7. string nombre;
  8. string apellido;
  9. int edad;
  10. char sexo;
  11. Registro *Rpersona;
  12. };
  13.  
  14.  
  15. void menu();
  16. void insertarLista(Registro *&,int c, string n, string a, int e, char s);
  17. void mostrarLista(Registro *);
  18. void buscarLista(Registro *,int c);
  19. void eliminarNodo(Registro *&,int c);
  20. void eliminarLista(Registro *&,int &);
  21.  
  22. Registro *lista = NULL;
  23.  
  24. int main(){
  25.  
  26. menu();
  27.  
  28. return 0;
  29. }
  30.  
  31. void menu(){
  32. int opcion,c,e;
  33. string n,a;
  34. char s;
  35.  
  36.  
  37. do{
  38. cout<<"\t.:::Proyecto UBV:::.\n";
  39. cout<<"1. Ingresar un Registro a la lista\n";
  40. cout<<"2. Mostrar los Registros de la lista\n";
  41. cout<<"3. Buscar un Registro en la lista\n";
  42. cout<<"4. Eliminar un Registro de la lista\n";
  43. cout<<"5. Dejar vacia la lista\n";
  44. cout<<"6. Salir\n";
  45. cout<<"Opcion: ";
  46. cin>>opcion;
  47.  
  48. switch(opcion){
  49. case 1: cout<<"\nIngrese un Numero de Cedula: ";
  50.        cin>>c;
  51.                    cout<<"\nIngrese el Nombre: ";
  52. cin>>n;
  53. cout<<"\nIngrese el Apellido: ";
  54. cin>>a;
  55. cout<<"\nIngrese la Edad: ";
  56. cin>>e;
  57. cout<<"\nIngrese el Sexo: ";
  58. cin>>s;
  59. insertarLista(lista,c,n,a,e,s);
  60. cout<<"\n";
  61. system("pause");
  62. break;
  63. case 2: mostrarLista(lista);
  64. cout<<"\n";                        
  65. system("pause");
  66. break;
  67. case 3: cout<<"\nIngrese el Numero de Cedula a Buscar en el Registro: ";
  68. cin>>c;
  69. buscarLista(lista,c);
  70. cout<<"\n";
  71. system("pause");
  72. break;
  73. case 4: cout<<"\nIngrese el Numero de Cedula a Eliminar del Registro: ";
  74. cin>>c;
  75. eliminarNodo(lista,c);
  76. cout<<"\n";
  77. system("pause");
  78. break;
  79. case 5:
  80. while(lista != NULL){
  81. eliminarLista(lista,c);
  82. cout<<c <<" -> ";
  83. }
  84. cout<<"\n";
  85. system("pause");
  86. break;
  87. }
  88. system("cls");
  89. }while(opcion != 6);
  90. }
  91.  
  92. void insertarLista(Registro *&,int c, string n, string a, int e, char s){
  93. Registro *nuevo_registro = new Registro();
  94.  
  95. nuevo_registro->cedula = c;
  96. nuevo_registro->nombre = n;
  97. nuevo_registro->apellido = a;
  98. nuevo_registro->edad = e;
  99. nuevo_registro->sexo = s;
  100. Registro *aux1 = lista;
  101. Registro *aux2;
  102.  
  103. while((aux1 != NULL) && (aux1->cedula < c), (aux1->nombre < n), (aux1->apellido < a), (aux1->edad < e), (aux1->sexo < s)){
  104. aux2 = aux1;
  105. aux1 = aux1->Rpersona;
  106. }
  107.  
  108. if(lista == aux1){
  109. lista = nuevo_registro;
  110. }
  111. else{
  112. aux2->Rpersona = nuevo_registro;
  113. }
  114.  
  115. nuevo_registro->Rpersona = aux1;
  116.  
  117. cout<<"\tPersona "<<c<<" insertada a la lista correctamente\n";
  118. }
  119.  
  120. void mostrarLista(Registro *lista){
  121. Registro *actual = new Registro();
  122. actual = lista;
  123.  
  124. while(actual != NULL){
  125. cout<<actual->cedula<<" -> ";
  126. cout<<actual->nombre<<" -> ";
  127. cout<<actual->apellido<<" -> ";
  128. cout<<actual->edad<<" -> ";
  129. cout<<actual->sexo<<" -> ";
  130. actual = actual->Rpersona;
  131. }
  132. }
  133.  
  134. void buscarLista(Registro *lista,int c,string n,string a,int e,char s){
  135. bool band = false;
  136.  
  137. Registro *actual = new Registro();
  138. actual = lista;
  139.  
  140. while((actual != NULL) && (actual->cedula <= c), (actual->nombre <= n), (actual->apellido <= a),(actual->edad <= e), (actual->sexo <= s)){
  141. if((actual->cedula == c), (actual->nombre == n), (actual->apellido == a), (actual->edad == e), (actual->sexo == s)){
  142. band = true;
  143. }
  144. actual = actual->Rpersona;
  145. }
  146.  
  147. if(band == true){
  148. cout<<"Persona "<<n<<" SI a sido encontrado en lista\n";
  149. }
  150. else{
  151. cout<<"Persona "<<n<<" NO a sido encontrado en la lista\n";
  152. }
  153. }
  154.  
  155. void eliminarNodo(Registro *&lista,int c,string n, string a, int e, char s){
  156.  
  157. if(lista != NULL){
  158. Registro *aux_borrar;
  159. Registro *anterior = NULL;
  160.  
  161. aux_borrar = lista;
  162.  
  163.  
  164. while((aux_borrar != NULL) && (aux_borrar->cedula != c), (aux_borrar->nombre != n), (aux_borrar->apellido != a), (aux_borrar->edad != e), (aux_borrar->sexo != s)){
  165. anterior = aux_borrar;
  166. aux_borrar = aux_borrar->Rpersona;
  167. }
  168.  
  169.  
  170. if(aux_borrar == NULL){
  171. cout<<"La persona no ha sido encontrado";
  172. }
  173.  
  174. else if(anterior == NULL){
  175. lista = lista->Rpersona;
  176. delete aux_borrar;
  177. }
  178.  
  179. else {
  180.        anterior->Rpersona = aux_borrar->Rpersona;
  181. delete aux_borrar;
  182. }
  183. }
  184. }
  185.  
  186.  
  187.        void eliminarLista(Registro *&lista,int &c, string &n, string &a,int &e, char &s){
  188.    Registro *aux = lista;
  189.    c = aux->cedula;
  190.    n = aux->nombre;
  191.    a = aux->apellido;
  192.    e = aux->edad;
  193.    s = aux->sexo;
  194.    lista = aux->Rpersona;
  195.    delete aux;
  196. }
3  Programación / Programación C/C++ / Re: Ayuda con ejercicio de Algoritmo. en: 31 Mayo 2017, 04:10 am
Gracias por la ayuda intentare realizar el código con el material que me facilito saludos.
4  Programación / Programación C/C++ / Re: Ayuda con ejercicio de Algoritmo. en: 30 Mayo 2017, 04:47 am
Gracias por la pronta respuesta el detalle esta en que no se como iniciar el código porque no entiendo muy bien sobre listas enlazadas y tampoco de nodos llevo días tratando pero la verdad no se y me mandaron ese ejercicio de proyecto final y necesito hacerlo si no raspo la materia me gustaría su ayuda y explicación.
5  Programación / Programación C/C++ / Ayuda con ejercicio de Algoritmo. en: 30 Mayo 2017, 02:39 am
Buenas amigos soy nuevo en el foro espero me saquen de este apuro necesito construir el siguiente código en C++ y no entiendo mucho sobre nodos.

A través de la realización de un algoritmo en C++, deben de construir una Lista enlazada la cual tendrá los siguientes datos a insertar:


 cedula (int)

 nombre (string)

 apellido (string)

 edad (int)

 sexo (char)

Se debe de validar que la cédula que se ingrese en la lista sea mayor a 999999 y menor e igual a 99999999; ej: (N > 999999 && N <= 99999999). Esto debido a que las cédula solo pueden tener 7 u 8 dígitos. Dicha lista al ejecutarse debe realizar los siguientes métodos:

1. Insertar un registro al inicio de la lista.

2. Insertar un registro al final de la lista.

3. Contar la cantidad de registros que tiene la lista.

4. Buscar cualquier registro a través de la cédula dentro de la lista.

5. Recorrer la lista y mostrar todos sus registros.

6. Eliminar un registro al final de la lista.

7. Eliminar un registro en cualquier posición de la lista.

8. Vaciar o Destruir la lista.

Dicho ejercicio de listas enlazadas debe cumplir con los siguientes parámetros exigibles:

1. Tener un menú dinámico, el cual permita ejecutar cualquier método sin cerrarse el

programa.

2. Validar que las cédulas que se estén ingresando cumplan con la validación.

3. Tener una opción para salir del programa.

Espero poder obtener su ayuda o aporte saludos.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines