Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: DaNuK en 17 Octubre 2010, 02:16 am



Título: [Solucionado] Ayuda con Lista Ligada
Publicado por: DaNuK en 17 Octubre 2010, 02:16 am
Saludos a todos compañeros del foro disculpen por la molestia pero es que me he topado con un problema se trata de lo siguiente.
Tengo que crear una lista ligada el cual va recibir los siguientes datos No. Tel, Nombre y Fecha de cumpleaños pero estos datos se encuentran en un archivo de texto plano mi duda es como hago para agregar los datos
la lista lo implemento yo.
si alguien seria tan amable de ayudarme se lo agradecere mucho.
A continuacion pongo el codigo para generar los nodos
Código
  1. class Nodo
  2. {    
  3.   public string Nombre;  
  4.   public DateTime FeCumple;
  5.   public int Tel;
  6.   public Nodo siguiente;  
  7.   public Nodo(string nom,DateTime cumple,int tel)
  8.    {  
  9.     Nombre=nom;
  10.     FeCumple=cumple;
  11.     Tel=tel;
  12.    }
  13. }
  14.  


Título: Re: Ayuda con Lista Ligada
Publicado por: [D4N93R] en 17 Octubre 2010, 03:35 am
Hola,

1) No uses campos, usa propiedades.
2) Tienes que hacerlo a mano? porque puedes usar List<T>
3) Tu duda es: Cómo haces para leer un archivo de texto e instanciar los objetos según la data leida?

Saludos!


Título: Re: Ayuda con Lista Ligada
Publicado por: DaNuK en 18 Octubre 2010, 01:16 am
Si lo tengo que hacer a mano
y mi duda es como agrego los datos que tengo en el archivo a la lista
ejemplo
si tengo estos datos en el archivo como le hago para agregarlo en la lista

jose   125255  12/04/1990

Jesus 215558  14/06/1989


Título: Re: Ayuda con Lista Ligada
Publicado por: Lunfardo en 18 Octubre 2010, 14:47 pm
sabes lo que es el System.IO ?



deberias leer streams en .net, es fundamental


Título: Re: Ayuda con Lista Ligada
Publicado por: DaNuK en 19 Octubre 2010, 01:08 am
Si, se  como abrir un archivo pero el problema es como agregar el contenido del archivo a una lista ligada sencilla



Título: Re: Ayuda con Lista Ligada
Publicado por: [D4N93R] en 19 Octubre 2010, 01:16 am
Iterando la lineas del archivo, y por cada linea creas una lista. Luego guardas esa referencia y en la próxima vuelta del ciclo tienes la nueva linea y la anterior y ahí la ligas.


Título: Re: Ayuda con Lista Ligada
Publicado por: DaNuK en 19 Octubre 2010, 01:25 am
Serias tan amable de darme un ejemplo por favor si no es muucho pedir


Título: Re: Ayuda con Lista Ligada
Publicado por: Lunfardo en 19 Octubre 2010, 04:05 am
te dejo algo rustico que hice a la pasada por que no tengo tiempo,

el ejemplo supone que existe un archivo llamado "ejemplo.txt" en la misma carpeta donde esta el programa, dicho archivo pose 3 palabras (=P, que vago soy) separadas por espacios,todo en una solo renglon.

si te queda alguna duda y nadie hace algo mejor , te hago otro mas elaborado, esto esto es solo para mostrarte como guardar el texto en las variables.

pd: agregar los datos a una lista tambien se te complica?

Código
  1.  
  2.  
  3.  
  4. using System;
  5. using System.IO;
  6. class ejemplo
  7. {
  8.    static void Main()
  9.    {
  10.        int i=0;
  11.        string a="", j="", k="";
  12.        FileStream streamer;
  13.        string s;
  14.        try
  15.        {
  16.            streamer = new FileStream("ejemplo.txt", FileMode.Open);
  17.        }
  18.        catch (IOException ff)
  19.        {
  20.            Console.WriteLine(ff.Message);
  21.            return;
  22.        }
  23.        StreamReader joya = new StreamReader(streamer);
  24.        try
  25.        {
  26.            s = joya.ReadLine();
  27.            while (s[i] != ' ') { a += s[i]; i++; }
  28.            while(s[i]==' '){i++;}
  29.            while (s[i] != ' ') { j += s[i];i++; }
  30.            while(s[i]==' '){i++;}
  31.             while (i<s.Length ) { k += s[i];i++; }
  32.  
  33.             Console.WriteLine(a + "      " + k + "      " + j);
  34.  
  35.        }
  36.        catch (IOException ss)
  37.        {
  38.            Console.WriteLine(ss.Message);
  39.        }
  40.        joya.Close();
  41.    }
  42. }
  43.  
  44.  



Título: Re: Ayuda con Lista Ligada
Publicado por: DaNuK en 22 Octubre 2010, 20:43 pm
Muchas Gracias compañero me sirvio de mucho
 
les pongo el codigo por si alguien le sirve
Código
  1. StreamReader leer = new StreamReader("datos.txt");              
  2.                while (s != null)
  3.                {
  4.                    s = leer.ReadLine();
  5.                    if (s != null)
  6.                    {
  7.                        int i = 0;
  8.                        string a = "", j = "", k = "";
  9.                        while (s[i] != ' ')
  10.                        {
  11.                            a += s[i];
  12.                            i++;
  13.                        }
  14.                        while (s[i] == ' ')
  15.                        {
  16.                            i++;
  17.                        }
  18.                        while (s[i] != ' ')
  19.                        {
  20.                            j += s[i];
  21.                            i++;
  22.                        }
  23.                        while (s[i] == ' ')
  24.                        {
  25.                            i++;
  26.                        }
  27.                        while (i < s.Length)
  28.                        {
  29.                            k += s[i]; i++;
  30.                        }
  31.                        lista.Insertar(a, j, k);
  32.                    }
  33.                }
  34.                leer.Close();
  35.  
  36.  


Gracias a todos los que me respondieron