» »

[C#] Kopiranje osebe iz seznama v drug seznam

[C#] Kopiranje osebe iz seznama v drug seznam

Presidente ::

Imam problem in namreč tak, da bi rad iz seznamaPlanincev dodal (enega določenega) Planinca na seznamUdelezencevIzleta. Iz seznamaPlanincev bi rad kopiral/bilokaj podatke planinca(brez ponovnega vnosa) v seznamUdelezencevIzleta. Problem mi nastaja pri metodi dodajUdelezebo()

KODA:
namespace PlaninskaZveza
{
    /// <summary>
    /// Razred Planinec, v katerem so atributi vsi privatni, metode pa javne!
    /// </summary>
    public class Planinec
    {
 //atributi za razred Planinec
        private string ime;
        private string priimek;
        private string naslov;
        private string drustvo;


        public string Ime
        {
            get { return ime; }
            set { ime = value; }
        }

        public string Priimek
        {
            get { return priimek; }
            set { priimek = value; }
        }

        public string Naslov
        {
            get { return naslov; }
            set { naslov = value; }
        }

        public string Drustvo
        {
            get { return drustvo; }
            set { drustvo = value; }
        }

        /// <summary>
        /// Metoda za vpis podatkov. Vhodni parametri so vsi atributi iz razreda Planinec
        /// </summary>
        public void vpisPodatkov()
        {
            Console.Clear();
            Console.WriteLine("\nVnesite podatke o novem planincu...");
            Console.WriteLine("--------------------------------------------");
            Console.Write("Vnesite ime planinca: ");
            ime = Console.ReadLine();
            while (ime.Length == 0)
            {
                Console.WriteLine("Nepravilen vnos! ");
                ime = Console.ReadLine();
            }
            Console.Write("Vnesite priimek planinca: ");
            priimek = Console.ReadLine();
            while (priimek.Length == 0)
            {
                Console.WriteLine("Nepravilen vnos! ");
                priimek = Console.ReadLine();
            }
            Console.Write("Vnesite naslov planinca: ");
            naslov = Console.ReadLine();
            while (naslov.Length == 0)
            {
                Console.WriteLine("Nepravilen vnos! ");
                naslov = Console.ReadLine();
            }
            Console.Write("Vnesite drustvo, v katerem je planinc: ");
            drustvo = Console.ReadLine();
            while (drustvo.Length == 0)
            {
                Console.WriteLine("Nepravilen vnos! ");
                drustvo = Console.ReadLine();
            }
            Console.WriteLine("---------------------------------------------");
            Console.WriteLine("Novi planinec je bil uspešno dodan v seznam!");
        }

        /// <summary>
        /// Metoda za izpis vnesenih podatkov
        /// </summary>
        public void izpisPodatkov()
        {
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Ime: {0}", ime);
            Console.WriteLine("Priimek: {0}", priimek);
            Console.WriteLine("Naslov: {0}", naslov);
            Console.WriteLine("Drustvo: {0}", drustvo);
            Console.WriteLine("--------------------------------------------");
        }
    }

public class SeznamPlanincev
    {
        /// <summary>
        /// uporaba vgrajenega dinamičnega seznama
        /// </summary>        
        static List<Planinec> seznamPlanincev = new List<Planinec>();

        /// <summary>
        /// metoda za dodajanje planinca v seznam 
        /// </summary>
        public void dodajPlaninca(Planinec novPlaninec)
        {
            seznamPlanincev.Add(novPlaninec);
        }

 /// <summary>
        /// izvoz seznama planincev v tekstovno datoteko.
        /// </summary>
        public void shranjevanjePodatkov()
        {

            string imeDatoteke = "seznamPlanincev";
           
                //ustvarimo tekstovno datoteko in zapišemo seznam planincev v njo 
                StreamWriter shraniDatoteko = new StreamWriter(imeDatoteke);               
                shraniDatoteko.WriteLine("\n--------------------  SEZNAM PLANINCEV  -----------------\n");
                //za vsakega planinca v seznamu izpišemo v tekstovno datoteko
                for (int i = 0; i < seznamPlanincev.Count; i++)
                {
                    shraniDatoteko.WriteLine();
                    shraniDatoteko.WriteLine("{0}.PLANINEC", i + 1);
                    shraniDatoteko.WriteLine("Ime: {0}", seznamPlanincev[i].Ime);
                    shraniDatoteko.WriteLine("Priimek: {0}", seznamPlanincev[i].Priimek);
                    shraniDatoteko.WriteLine("Nalov: {0}", seznamPlanincev[i].Naslov);
                    shraniDatoteko.WriteLine("Drustvo: {0}", seznamPlanincev[i].Drustvo);
                }
                shraniDatoteko.WriteLine();
                shraniDatoteko.WriteLine("\n\n----------------- KONEC SEZNAMA PLANINCEV  --------------");
                //zapremo datoteko
                shraniDatoteko.Close();
                Console.Clear();
            }

/// <summary>
        /// uporaba vgrajenega dinamičnega seznama
        /// </summary>     
        static List<Planinec> seznamUdelezencevIzleta = new List<Planinec>();

        /// <summary>
        /// metoda za dodajanje planinca v seznam udeležencev izleta
        /// </summary>
        public void dodajUdelezenca(Planinec udelezenec)
        {
            seznamUdelezencevIzleta.Add(udelezenec);
        }


        /// <summary>
        /// Metoda za dodajanja planinca v seznam udelezencev
        /// </summary>
        public void dodajUdelezbo()     
            int udelezba;
            if (seznamPlanincev.Count != 0)
            {
                Console.WriteLine("Katerega planinca želite dodati na seznam udeležencev izleta?");

                while (!int.TryParse(Console.ReadLine(), out udelezba) || (udelezba < 0) || (udelezba > seznamPlanincev.Count))
                {
                    Console.WriteLine("Vnesli ste napačne podatke! Vnesite ponovno: ");
                }
                Console.Clear();
                //tukaj bi rad da mi doda planinca[udelezbe-1] v seznamUdelezencevIzeta
            }
            else
            { prazenSeznam(); }
        }



darkolord ::

dodajUdelezenca(seznamPlanincev[udelezba -1]);
?

^TMS^ ::

Čemu ne bi raje deklariral atributa tipa boolean v razredu Planinec, ki bi hranil podatek, če se planinec namerava udeležiti izleta?
To iterate is human, to recurse divine.

joze67 ::

Če odštejemo 10^6 konceptualnih zablod - kaj (če sploh kaj) je narobe z očitnim predlogom uporabnika darklord? Oz. kaj je problem?

KernelPanic ::

darkolord je izjavil:

dodajUdelezenca(seznamPlanincev[udelezba -1]);
?
Po moje je zamesal Array z List-om, je pa res, da tudi meni ni jasno, kaj je hotel tukaj postoriti.

Presidente ::

Hvala za nasvete.

Ta metoda deluje, tako kot sem si zamislil:

darkolord je izjavil:

dodajUdelezenca(seznamPlanincev[udelezba -1]);
?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

c# seminarska

Oddelek: Programiranje
112426 (2099) tuned
»

C# izvoz podatkov - lokacijo vpiše uporabnik

Oddelek: Pomoč in nasveti
111389 (1287) fokz8
»

[c#] Ustvarjanje objekta v drugem razredu

Oddelek: Programiranje
81562 (1507) Cvenemir
»

c sharp LinkedList - Naloga

Oddelek: Programiranje
91688 (1639) Msatir
»

[C#] razlaga

Oddelek: Programiranje
161527 (1244) krastača

Več podobnih tem