Autor Tema: ERROR al insertar strings dentro de una lista enlazada  (Leído 388 veces)

tracio

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Buenas, estoy empezando a programar en C , en este caso listas enlazadas pero resulta que no logro entender el siguiente error cuando compilo

 C:\Users\User\Desktop\collect2.exe[Error] ld returned 1 exit status
 
con la variable Int todo perfecto pero cuando quiero trabajar con una variable tipo char para escribir algun nombre no me deja entender que es lo que falla , seguro que estoy haciendo algo mal,hize un strcpy pero parece que me estoy dejando muchas cosas que necesito comprender, luego he visto en algunos tutos que utilizan strings para sus listas enlazadas <<typedef>> tambien haciendo uso de strcpy pero me pierdo y no consigo extrapolarlo, no se realmente para que es su uso y si es necesario saber de el ya que de momento es desconocido para mi.

 typedef struct lista {
    int valor;
    char *nombre;
    lista * prox;

entiendo los arrays uni/bi, condicionales , los bulces ,fopen para abrir ficheros, el tema de los punteros y referencias que hace poco empeze a entenderlo mejor pero me da la sensacion que no lo suficiente cuando llegan las listas enlazadas , es un jaleo de mucho cuidado por ejemplo *puntero =& casa  es decir puntero alamacena la direccion del valor de la variable casa lo veo mucho mas claro que ver esto?  (*& lista) ? una referencia pegada junto a un *? aqui especialmente me pierdo, entiendo el algoritmo depsues de 1000 ojeadas pero no sabria jugar con esto para crear otra combinacion diferente en la vida pork es demasiada tralla al meno spor ahora , supongo que la cosa se pone seria ahora y la proxima leccion que me toca es la programacion orientada a objetos.

aqui va un sencillo ejemplo de lo que hize , crear una lista que inserte elementos al principio y tambien que los muestre pero con un char y no funciono:

#include<stdlib.h>
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;

struct nodo{
char dato[20];

nodo*siguiente;
   
   };
   
   void insertarlista(nodo*&,char n);
      void mostrarlista(nodo*lista);
   
int main(){
int dato;
   
nodo*lista=NULL;   
      
 cout<<"digite:";cin>>dato;
 insertarlista(lista,dato);
cout<<"digite:";cin>>dato;
insertarlista(lista,dato);
cout<<"digite:";cin>>dato;
insertarlista(lista,dato);
   
   mostrarlista(lista);
      
   return 0;   
   }

void insertarlista(nodo*&lista,char n[20]){
   
   
nodo*nuevo_nodo=new nodo();

strcpy(n,nuevo_nodo->dato);

 
nodo*aux1=lista;
lista=nuevo_nodo;
nuevo_nodo->siguiente=aux1;   
   
   
}
  Gracias y encantado de formar parte de esta comunidad !!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".