Anonymní profil Jan Krejčí – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Jan Krejčí – Programujte.comAnonymní profil Jan Krejčí – Programujte.com

 

Příspěvky odeslané z IP adresy 85.70.6.–

Jan Krejčí
.NET › Obousměrný spojový seznam (n…
25. 5. 2015   #202422

Ahoj, měl jsem za úkol vytvořit obousměrný spojový seznam který umí addbefero, delete, save... 

Ale sekl jsem se u LOAD. Soubor dokážu uložit, následně ho nahrát a zobrazit data, ale už nevím jak s ním následně pracovat. Jde mi o to abych ho mohl nahrát a pak tam třeba ještě něco přidat nebo něco odebrat.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace LinkedList
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Vytvoření seznamu:");

            LinkedList<string> seznam = new LinkedList<string>();
            string pokracovat = "ano";
            while (pokracovat == "ano")
            {
                Console.WriteLine("Vyberte operaci, kterou chcete provédst! ");
                Console.WriteLine("1 - přidání ");
                Console.WriteLine("2 - odebrání ");
                Console.WriteLine("3 - přidání slova za vybrané slovo");
                Console.WriteLine("4 - přidání slova před vybrané slovo");
                Console.WriteLine("5 - hledání slova");
                Console.WriteLine("6 - vypíše seznam");
                Console.WriteLine("7 - smaže seznam");
                Console.WriteLine("8 - uloží do souboru");
                Console.WriteLine("9 - nahraje ze souboru");
                int volba = int.Parse(Console.ReadLine());
                switch (volba)
                {
                    case 1:
                        Console.WriteLine("Přidání slova do seznamu jako poslední");
                        string pridani = Console.ReadLine();
                        seznam.AddLast(pridani);
                        break;
                    case 2:
                        Console.WriteLine("Zadejte slovo které chcete odebrat ze seznamu");
                        string remove = Console.ReadLine();
                        seznam.Remove(remove);
                        break;
                    case 3:
                        Console.WriteLine("Přidání slova za vybrané slovo");
                        Console.WriteLine("Za které slovo chcete přidat údaj");
                        string hledaneZa = Console.ReadLine();
                        seznam.Find(hledaneZa);
                        Console.WriteLine("Zadejte slovo, které chcete přidat");
                        string hledaneZa1 = Console.ReadLine();
                        LinkedListNode<string> pridaniZa1 = seznam.Find(hledaneZa);
                        seznam.AddAfter(pridaniZa1, hledaneZa1);
                        break;
                    case 4:
                        Console.WriteLine("Přidání slova před vybrané slovo");
                        Console.WriteLine("Před které slovo chcete přidat údaj");
                        string hledanePred = Console.ReadLine();
                        seznam.Find(hledanePred);
                        Console.WriteLine("Zadejte slovo, které chcete přidat");
                        string hledanePred1 = Console.ReadLine();
                        LinkedListNode<string> pridaniZa2 = seznam.Find(hledanePred);
                        seznam.AddBefore(pridaniZa2, hledanePred1);
                        break;
                    case 5:
                        Console.WriteLine("Napiště slovo, které chcete najít");
                        string find = Console.ReadLine();
                        LinkedListNode<string> find1 = seznam.Find(find);
                        if (find1 == null)
                        {
                            Console.WriteLine("Slovo " + find + " neni v seznamu");
                        }
                        else
                            Console.WriteLine("Slovo " + find + " je v seznamu");
                        break;
                    case 6:
                        Console.Clear();
                        foreach (string i in seznam)
                            Console.WriteLine("{0} ", i);
                        break;
                    case 7:
                        Console.WriteLine("Chcete smazat celý seznam? (ano/ne)");

                        string smazat = Console.ReadLine();
                        if (smazat == "ano")
                        {
                            seznam.Clear();
                        }

                        break;
                    case 8:

                        using (StreamWriter sw = new StreamWriter(@"soubor.txt"))
                        {
                            foreach (string i in seznam)
                                sw.WriteLine("{0} ", i);
                                sw.Flush();
                        }
                        Console.WriteLine("Do souboru bylo zapsáno.");
                        break;
                    case 9:
                        Console.WriteLine("Vypisuji soubor na obrazovku: ");
                        using (StreamReader sr = new StreamReader(@"soubor.txt"))
                        {
                            string soubor;
                            while ((soubor = sr.ReadLine()) != null)
                            {
                                Console.WriteLine(soubor);
                            }
                        }
                        
                        break;
                    case 10:
                        
                        break;
                }


                Console.WriteLine("Přejete si udělat další změnu v seznamu? [ano/ne]");
                pokracovat = Console.ReadLine();
            }

            Console.WriteLine("Děkuji za použití a přeji pěkný den");
            Console.ReadKey();
        }
    }
}


Budu rád za jakoukoliv pomoc, zkoušel jsem FileStream jen mi to nešlo :-( to samé Stream.CopyTo. Hold nevim jak na to.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032022 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý