» »

Povezani seznam

Povezani seznam

somebody199 ::

Naloga, ki je ne ve noben rešiti, če komu uspe svaka mu čast.
/*V predlogi imate podane tri razrede ([zZ]aposlen, [oO]ddelek in [pP]odjetje). Znotraj
razreda [zZ]aposlen ni dovoljeno ničesar spreminjati. Razred [oO]ddelek vsebuje seznam
zaposlenih (kamor se shranjujejo objekti tipa [zZ]aposlen) ter podporne metode, ki upra-
vljajo s tem seznamom. Razred [pP]odjetje vsebuje seznam oddelkov (kamor se shra-
njujejo objekti tipa [oO]ddelek) ter podporne metode za upravljanje s tem seznamom.
Metode implementirajte po navodilih v predlogi.
*/

//definicija imenskega prostora(/podrocja)
namespace Vaja3
{
    //uporabljene knjižnice
    using System;

    //uporabljene knjižnice
    using System;
    using System.Collections.Generic;

    //razredi
    public class Zaposlen
    {
        //razreda Zaposlen ni dovoljeno spreminjati

        //atributi
        private string ime;
        private string priimek;
        private string naslov;
        private string emso;
        private string davcna;


        public Zaposlen(string ime, string priimek, string naslov, string emso, string davcna)
        {
            if (ime == null || priimek == null || naslov == null || emso == null || davcna == null)
                throw new ArgumentNullException("NAPAKA: Ustvarjanje Zaposlen z vrednostmi parametrov null.");
            if (ime.Equals("") || priimek.Equals("") || naslov.Equals("") || emso.Equals("") || davcna.Equals(""))
                throw new ArgumentException("NAPAKA: Ustvarjanje Zaposlen s praznimi vrednostmi.");
            this.ime = ime;
            this.priimek = priimek;
            this.naslov = naslov;
            this.emso = emso;
            this.davcna = davcna;
        }

        public string Ime
        {
            get
            {
                return ime;
            }
        }

        public string Priimek
        {
            get
            {
                return priimek;
            }
        }

        public string Naslov
        {
            get
            {
                return naslov;
            }
        }

        public string EMSO
        {
            get
            {
                return emso;
            }
        }

        public string Davcna
        {
            get
            {
                return davcna;
            }
        }

    }

    //razredi
    public class Oddelek
    {
        //naziv oddelka
        private string naziv;

        //seznam vseh usluzbencev v oddelku
        private LinkedList<Zaposlen> usluzbenci;

        //privzeti konstruktor - ustvari oddelek in opravi morebitne inicializacije
        public Oddelek(String nazivOddelka)
        {
            usluzbenci = new LinkedList<Zaposlen>();
            if (nazivOddelka.Equals("")) throw new ArgumentException("NAPAKA: Nastavljanje naziva Oddelka s prazno vrednostjo");
            else naziv = nazivOddelka;
        }

        public string Naziv
        {
            get
            {
                return naziv;
            }
        }


        public LinkedList<Zaposlen> SeznamUsluzbencev()
        {
            return usluzbenci;
        }

        //Namen metode SeznamUsluzbencevFiltrirano() je, da bo ob klicu vrnila
        //vse tiste usluzbence v oddelku, katerih ime in priimek, ustreza imenu in priimku,
        //ki ju dostavimo kot atributa v metodo.
        //Primer:
        //v oddelku imamo zaposlene:
        //Janez Novak (usluzbenec_1)
        //Mitja Spoljar (usluzbenec_2)
        //Janez Novak (usluzbenec_3)
        //Iscemo Janez Novak.
        //Metoda bo vrnila seznam v katerem bosta objekta (usluzbenec_1 in usluzbenec_2) 
        public LinkedList<Zaposlen> SeznamUsluzbencevFiltrirano(string ime, string priimek)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // vasa metoda naj NE vraca null, pac pa seznam usluzbencev v oddelku,
            // filtriranih po imenu in priimku 

            return null;
        }

        public void DodajUsluzbenca(Zaposlen usluzbenec)
        {
            if (usluzbenec != null)
                usluzbenci.AddLast(usluzbenec);
        }

        //namen metode DodajUsluzbence() je, da kot parameter metode prejmemo
        //seznam usluzbencev ter jih dodamo v seznam usluzbencev v oddelku
        public void DodajUsluzbence(LinkedList<Zaposlen> seznam)
        {
            //TUKAJ VSTAVI SVOJO KODO

            //v metodi implementirajte dodajanje usluzbencev v seznam usluzbencev
            //v seznam usluzbencev v oddelku
        }

        public Zaposlen VrniUsluzbenca(String davcna)
        {
            foreach (Zaposlen usluzbenec in usluzbenci)
            {
                if (usluzbenec.Davcna.Equals(davcna)) return usluzbenec;
            }

            return null;
        }

        //Namen metode OdstraniUsluzbenca() je, da odstranimo usluzbenca
        //katerega davcna stevilka ustreza davcni stevilki,
        //ki jo dostavimo kot atribut v metodo.
        //Metoda vrne true, ce smo uspeli odstraniti usluzbenca
        //ter false, ce do odstranjevanja ni prislo.
        //Opomba: ni se vam potrebno ukvarjati s primerom, ce
        //bo seznam imel vec usluzbencev z isto davcno stevilko
        //(v tem primeru samo odstranite prvega na katerega naletite).
        public bool OdstraniUsluzbenca(string davcna)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // v metodi implementirajte odstranjevanje usluzbenca iz seznama

            return false;
        }

        //Namen metode OdstraniUsluzbence() je, da odstranimo vse usluzbence
        //katerih ime in priimek ustreza imenu in priimku,
        //ki ju dostavimo kot atributa v metodo.
        //Metoda mora vrniti seznam vseh odstranjenih usluzbencev.
        public LinkedList<Zaposlen> OdstraniUsluzbence(string ime, string priimek)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // vasa metoda naj NE vraca null,
            // pač pa seznam vseh usluzbencev,
            // ki so bili odstranjeni iz seznama usluzbenci

            return null;
        }


        //Namen metode JeUsluzbenec() je, da prejme kot 
        //parameter metode objekt usluzbenec
        //ter vrne true, ce taksen usluzbenec obstaja v seznamu usluzbencev
        //oz. false, ce taksnega usluzbenca v seznamu ni.
        public bool JeUsluzbenec(Zaposlen usluzbenec)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // vaša metoda naj vrne true,  
            // ce usluzbenec obstaja v seznamu usluzbencev
            // ter false ce usluzbenca v tem seznamu ni

            return false;

        }

    }

    //razredi
    public class Podjetje
    {
        //seznam vseh oddelkov v podjetju
        private LinkedList<Oddelek> oddelki;

        //privzeti konstruktor - ustvari podjetje in opravi morebitne inicializacije
        public Podjetje()
        {
            oddelki = new LinkedList<Oddelek>();
        }

        public LinkedList<Oddelek> SeznamOddelkov()
        {
            return oddelki;
        }

        //Namen metode DodajOddelek() je, da kot parameter metode prejmemo
        //objekt oddelka ter ga dodamo v seznam oddelkov v podjetju.
        public void DodajOddelek(Oddelek dodan)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // v metodi implementirajte dodajanje oddelka v podjetje

        }

        //Namen metode VrniOddelek() je, da vrnemo oddelek
        //katerega naziv, ustreza nazivu,
        //ki ga dostavimo kot atribut v metodo
        //Opomba: ni se vam potrebno ukvarjati s primerom, ce
        //bo seznam imel vec oddelkov z istim nazivom
        //(v tem primeru samo vrnite prvega na katerega naletite).
        public Oddelek VrniOddelek(String naziv)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // metoda naj vrne oddelek z danim nazivom 
            // (ki ga dostavimo kot atribut v metodo)
            // ce taksnega oddelka ni, se vrne null

            return null;
        }

        //Namen metode OdstraniOddelek() je, da odstranimo oddelek
        //katerega naziv oddelka ustreza nazivu oddelka,
        //ki ga dostavimo kot atribut v metodo.
        //Metoda vrne true, ce smo odstranili oddelek
        //ter false, ce do odstranjevanja ni prislo.
        //Opomba: ni se vam potrebno ukvarjati s primerom, ce
        //bo seznam imel vec usluzbencev z isto davcno stevilko
        //(v tem primeru samo odstranite prvega na katerega naletite).
        public bool OdstraniOddelek(String naziv)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // vaša metoda naj vrne true,  
            // ce je oddelek z nazivom (dostavljenim kot atribut v metodo)
            // bil uspesno odstranjen
            // ter false ce taksnega oddelka v seznamu oddelki ni bilo

            return false;
        }

        //Namen metode SeznamUsluzbencev() je, da bo ob klicu
        //vrnila seznam vseh usluzbencev, ki so trenutno 
        //zaposleni v podjetju
        public LinkedList<Zaposlen> SeznamUsluzbencev()
        {
            // TUKAJ VSTAVI SVOJO KODO

            // vasa metoda naj NE vraca null,
            // pac pa seznam vseh usluzbencev v podjetju

            return null;
        }

        //Namen metode SeznamUsluzbencevFiltrirano() je, da bo ob klicu
        //vrnila seznam vseh usluzbencev, ki so trenutno 
        //zaposleni v podjetju, filtriranih po naslovu
        public LinkedList<Zaposlen> SeznamUsluzbencevFiltrirano(string naslov)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // vasa metoda naj NE vraca null,
            // pac pa seznam vseh usluzbencev v podjetju
            // filtriranih po naslovu

            return null;
        }

    }

    public class Test
    {
        //glavna metoda
        static void Main(string[] args)
        {
            Podjetje pd = new Podjetje();
            Oddelek od = new Oddelek("Finance");
            Zaposlen usluzbenec = new Zaposlen("Zaposlen_ime", "Zaposlen_priimek", "Zaposlen_naslov", "1234567891011", "12345678");

            od.DodajUsluzbenca(usluzbenec);
            pd.DodajOddelek(od);

            LinkedList<Zaposlen> seznam_usluzbencev_testni = pd.SeznamUsluzbencev();

            if (seznam_usluzbencev_testni != null)
            {
                if (seznam_usluzbencev_testni.Count == 1)
                    Console.WriteLine("V podjetju je en zaposlen!");
                else Console.WriteLine("Napaka v stevilu zaposlenih!");
            }
            else Console.WriteLine("Napaka v stevilu zaposlenih!");


            Oddelek testni_oddelek = pd.VrniOddelek("Finance");
            if (testni_oddelek != null)
            {
                Zaposlen testni_usluzbenec = testni_oddelek.VrniUsluzbenca("12345678");
                if (testni_usluzbenec != null)
                {
                    Console.WriteLine("V oddelku {0} je zaposlena oseba z imenom {1} in priimkom {2}!", testni_oddelek.Naziv, testni_usluzbenec.Ime, testni_usluzbenec.Priimek);
                }
            }
            else Console.WriteLine("Zaposlenega v podjetju ni!");
        }
    }
}
//na koncu prazna vrstica

Vesoljc ::

kasno razvajanje...
Abnormal behavior of abnormal brain makes me normal...

Zgodovina sprememb…

  • odbrisal: Mavrik ()

pohano ::

Jaz sem se je lotil samo še sem tudi do nekih problemov prišo... ne morem pa testnih primerov preverit ker predzadnja metoda me malo zajebava ker nvm kak bi vračo seznam vseh uslužbencev v podjetju. PROSIM POMAGAJTE mi pri predzadnji metodi vnaprej bom že probau skužit :)!!!!!!
//definicija imenskega prostora(/podrocja)
namespace Vaja3
{
    //uporabljene knjižnice
    using System;

    //uporabljene knjižnice

    using System.Collections.Generic;

    //razredi
    public class Zaposlen
    {
        //razreda Zaposlen ni dovoljeno spreminjati

        //atributi
        private string ime;
        private string priimek;
        private string naslov;
        private string emso;
        private string davcna;


        public Zaposlen(string ime, string priimek, string naslov, string emso, string davcna)
        {
            if (ime == null || priimek == null || naslov == null || emso == null || davcna == null)
                throw new ArgumentNullException("NAPAKA: Ustvarjanje Zaposlen z vrednostmi parametrov null.");
            if (ime.Equals("") || priimek.Equals("") || naslov.Equals("") || emso.Equals("") || davcna.Equals(""))
                throw new ArgumentException("NAPAKA: Ustvarjanje Zaposlen s praznimi vrednostmi.");
            this.ime = ime;
            this.priimek = priimek;
            this.naslov = naslov;
            this.emso = emso;
            this.davcna = davcna;
        }

        public string Ime
        {
            get
            {
                return ime;
            }
        }

        public string Priimek
        {
            get
            {
                return priimek;
            }
        }

        public string Naslov
        {
            get
            {
                return naslov;
            }
        }

        public string EMSO
        {
            get
            {
                return emso;
            }
        }

        public string Davcna
        {
            get
            {
                return davcna;
            }
        }

    }

    //razredi
    public class Oddelek
    {
        //naziv oddelka
        private string naziv;

        //seznam vseh usluzbencev v oddelku
        private LinkedList<Zaposlen> usluzbenci;

        //privzeti konstruktor - ustvari oddelek in opravi morebitne inicializacije
        public Oddelek(String nazivOddelka)
        {
            usluzbenci = new LinkedList<Zaposlen>();
            if (nazivOddelka.Equals("")) throw new ArgumentException("NAPAKA: Nastavljanje naziva Oddelka s prazno vrednostjo");
            else naziv = nazivOddelka;
        }

        public string Naziv
        {
            get
            {
                return naziv;
            }
        }


        public LinkedList<Zaposlen> SeznamUsluzbencev()
        {
            return usluzbenci;
        }

        //Namen metode SeznamUsluzbencevFiltrirano() je, da bo ob klicu vrnila
        //vse tiste usluzbence v oddelku, katerih ime in priimek, ustreza imenu in priimku,
        //ki ju dostavimo kot atributa v metodo.
        //Primer:
        //v oddelku imamo zaposlene:
        //Janez Novak (usluzbenec_1)
        //Mitja Spoljar (usluzbenec_2)
        //Janez Novak (usluzbenec_3)
        //Iscemo Janez Novak.
        //Metoda bo vrnila seznam v katerem bosta objekta (usluzbenec_1 in usluzbenec_3) 
        public LinkedList<Zaposlen> SeznamUsluzbencevFiltrirano(string ime, string priimek)
        {
            // TUKAJ VSTAVI SVOJO KODO
            foreach (Zaposlen usluzbenec in usluzbenci)
            {
                if (usluzbenec.Ime.Equals(ime) && usluzbenec.Priimek.Equals(priimek))
                {
                    return usluzbenci;
                }
            }
            // vasa metoda naj NE vraca null, pac pa seznam usluzbencev v oddelku,
            // filtriranih po imenu in priimku 

            return null;
        }

        public void DodajUsluzbenca(Zaposlen usluzbenec)
        {
            if (usluzbenec != null)
                usluzbenci.AddLast(usluzbenec);
        } 

        //namen metode DodajUsluzbence() je, da kot parameter metode prejmemo
        //seznam usluzbencev ter jih dodamo v seznam usluzbencev v oddelku
        public void DodajUsluzbence(LinkedList<Zaposlen> seznam)
        {
            foreach (Zaposlen usluzbenec in usluzbenci)
            {
                usluzbenci.AddLast(usluzbenec);
                            
            }

            //TUKAJ VSTAVI SVOJO KODO
            //v metodi implementirajte dodajanje usluzbencev v seznam usluzbencev
            //v seznam usluzbencev v oddelku
        }

        public Zaposlen VrniUsluzbenca(String davcna)
        {
            foreach (Zaposlen usluzbenec in usluzbenci)
            {
                if (usluzbenec.Davcna.Equals(davcna)) return usluzbenec;
            }

            return null;
        }

        //Namen metode OdstraniUsluzbenca() je, da odstranimo usluzbenca
        //katerega davcna stevilka ustreza davcni stevilki,
        //ki jo dostavimo kot atribut v metodo.
        //Metoda vrne true, ce smo uspeli odstraniti usluzbenca
        //ter false, ce do odstranjevanja ni prislo.
        //Opomba: ni se vam potrebno ukvarjati s primerom, ce
        //bo seznam imel vec usluzbencev z isto davcno stevilko
        //(v tem primeru samo odstranite prvega na katerega naletite).
        public bool OdstraniUsluzbenca(string davcna)
        {
            // TUKAJ VSTAVI SVOJO KODO
            foreach (Zaposlen usluzbenec in usluzbenci)
            {
                if (usluzbenec.Davcna.Equals(davcna))
                {
                    usluzbenci.Remove(usluzbenec);
                    return true;
                }
             
            }
            return false;
         
            // v metodi implementirajte odstranjevanje usluzbenca iz seznama
   
  
        }

        //Namen metode OdstraniUsluzbence() je, da odstranimo vse usluzbence
        //katerih ime in priimek ustreza imenu in priimku,
        //ki ju dostavimo kot atributa v metodo.
        //Metoda mora vrniti seznam vseh odstranjenih usluzbencev.
        public LinkedList<Zaposlen> OdstraniUsluzbence(string ime, string priimek)
        {
            foreach (Zaposlen usluzbenec in usluzbenci)
            { 
                if(usluzbenec.Ime.Equals(ime)&& usluzbenec.Priimek.Equals(priimek))
                {
                    usluzbenci.Remove(usluzbenec);
                   
                }
            }
            return usluzbenci;
            // TUKAJ VSTAVI SVOJO KODO

            // vasa metoda naj NE vraca null,
            // pač pa seznam vseh usluzbencev,
            // ki so bili odstranjeni iz seznama usluzbenci

          
        }


        //Namen metode JeUsluzbenec() je, da prejme kot 
        //parameter metode objekt usluzbenec
        //ter vrne true, ce taksen usluzbenec obstaja v seznamu usluzbencev
        //oz. false, ce taksnega usluzbenca v seznamu ni.
        public bool JeUsluzbenec(Zaposlen usluzbenec)
        {
            // TUKAJ VSTAVI SVOJO KODO
            if (usluzbenci.Contains(usluzbenec))
                return true;
            else
            // vaša metoda naj vrne true,  
            // ce usluzbenec obstaja v seznamu usluzbencev
            // ter false ce usluzbenca v tem seznamu ni

            return false;

        }

    }

    //razredi
    public class Podjetje
    {
        //seznam vseh oddelkov v podjetju
        private LinkedList<Oddelek> oddelki;

        //privzeti konstruktor - ustvari podjetje in opravi morebitne inicializacije
        public Podjetje()
        {
            oddelki = new LinkedList<Oddelek>();
        }

        public LinkedList<Oddelek> SeznamOddelkov()
        {
            return oddelki;
        }

        //Namen metode DodajOddelek() je, da kot parameter metode prejmemo
        //objekt oddelka ter ga dodamo v seznam oddelkov v podjetju.
        public void DodajOddelek(Oddelek dodan)
        {
            // TUKAJ VSTAVI SVOJO KODO

            oddelki.AddLast(dodan);
            // v metodi implementirajte dodajanje oddelka v podjetje

        }

        //Namen metode VrniOddelek() je, da vrnemo oddelek
        //katerega naziv, ustreza nazivu,
        //ki ga dostavimo kot atribut v metodo
        //Opomba: ni se vam potrebno ukvarjati s primerom, ce
        //bo seznam imel vec oddelkov z istim nazivom
        //(v tem primeru samo vrnite prvega na katerega naletite).
        public Oddelek VrniOddelek(String naziv)
        {
            // TUKAJ VSTAVI SVOJO KODO

            foreach (Oddelek oddelek in oddelki)
            {
                if (oddelki.Equals(naziv))
                    return oddelek;
            }

            // metoda naj vrne oddelek z danim nazivom 
            // (ki ga dostavimo kot atribut v metodo)
            // ce taksnega oddelka ni, se vrne null

            return null;
        }

        //Namen metode OdstraniOddelek() je, da odstranimo oddelek
        //katerega naziv oddelka ustreza nazivu oddelka,
        //ki ga dostavimo kot atribut v metodo.
        //Metoda vrne true, ce smo odstranili oddelek
        //ter false, ce do odstranjevanja ni prislo.
        //Opomba: ni se vam potrebno ukvarjati s primerom, ce
        //bo seznam imel vec usluzbencev z isto davcno stevilko
        //(v tem primeru samo odstranite prvega na katerega naletite).
        public bool OdstraniOddelek(String naziv)
        {
            // TUKAJ VSTAVI SVOJO KODO

            foreach (Oddelek oddelek in oddelki)
            {
                if (oddelki.Equals(naziv))
                {
                    oddelki.Remove(oddelek);
                    return true;
                }
          
                 
            }
            return false;
            // vaša metoda naj vrne true,  
            // ce je oddelek z nazivom (dostavljenim kot atribut v metodo)
            // bil uspesno odstranjen
            // ter false ce taksnega oddelka v seznamu oddelki ni bilo

        }

        //Namen metode SeznamUsluzbencev() je, da bo ob klicu
        //vrnila seznam vseh usluzbencev, ki so trenutno 
        //zaposleni v podjetju
        public LinkedList<Zaposlen> SeznamUsluzbencev()
        {

            // TUKAJ VSTAVI SVOJO KODO
            return null;
            // vasa metoda naj NE vraca null,
            // pac pa seznam vseh usluzbencev v podjetju
         
    
        }

        //Namen metode SeznamUsluzbencevFiltrirano() je, da bo ob klicu
        //vrnila seznam vseh usluzbencev, ki so trenutno 
        //zaposleni v podjetju, filtriranih po naslovu
        public LinkedList<Zaposlen> SeznamUsluzbencevFiltrirano(string naslov)
        {
            // TUKAJ VSTAVI SVOJO KODO

            // vasa metoda naj NE vraca null,
            // pac pa seznam vseh usluzbencev v podjetju
            // filtriranih po naslovu

            return null;
        }
        
    }

    public class Test
    {
        //glavna metoda
        static void Main(string[] args)
        {
            Podjetje pd = new Podjetje();
            Oddelek od = new Oddelek("Finance");
            Zaposlen usluzbenec = new Zaposlen("Zaposlen_ime", "Zaposlen_priimek", "Zaposlen_naslov", "1234567891011", "12345678");

            od.DodajUsluzbenca(usluzbenec);
            pd.DodajOddelek(od);

            LinkedList<Zaposlen> seznam_usluzbencev_testni = pd.SeznamUsluzbencev();

            if (seznam_usluzbencev_testni != null)
            {
                if (seznam_usluzbencev_testni.Count == 1)
                    Console.WriteLine("V podjetju je en zaposlen!");
                else Console.WriteLine("Napaka v stevilu zaposlenih!");
            }
            else Console.WriteLine("Napaka v stevilu zaposlenih!");


            Oddelek testni_oddelek = pd.VrniOddelek("Finance");
            if (testni_oddelek != null)
            {
                Zaposlen testni_usluzbenec = testni_oddelek.VrniUsluzbenca("12345678");
                if (testni_usluzbenec != null)
                {
                    Console.WriteLine("V oddelku {0} je zaposlena oseba z imenom {1} in priimkom {2}!", testni_oddelek.Naziv, testni_usluzbenec.Ime, testni_usluzbenec.Priimek);
                }
            }
            else Console.WriteLine("Zaposlenega v podjetju ni!");
            Console.ReadLine();
        }
    }
}
//na koncu prazna vrstic

Zgodovina sprememb…

  • spremenilo: pohano ()

Spura ::

Firma ima list oddelkov, ki imajo list zaposlenih. Ti rabis list zaposlenih na firmi, torej na vseh oddelkih.
Pohano:
SeznamUsluzbencevFiltrirano dela narobe.
DodajUsluzbence dela narobe.
OdstraniUsluzbence dela narobe.
JeUsluzbenec potencialno dela narobe.
OdstraniOddelek dela narobe.

SansungPark ::

Če že praviš da je narobe, lahko tudi argumentiraš zakaj bi bilo narobe, ker imam sam podobno in tudi stestirano deluje glede zadnjih dveh metod pa si moraš pomagati tako, da se sprehodiš skozi vse oddelke in znotraj vsakega oddelka dobiš zaposlene katere shranjuješ v seznam nato pa ta seznam samo vrneš.

Zgodovina sprememb…

pohano ::

Torej...
foreach(Oddelek oddelek in oddelki)
{
kako dostopat do zaposelnih, preko katerih shranim v seznam
}

I know.....I am stupid and I know it.

BabakAnsari ::

Pri metodi DodajUsluzbence imaš narobe foreach (Zaposlen usluzbenec in usluzbenci), osluzbenci spremeni v seznam

Pri metodi OdstraniUsluzbence ne vračaš pravilnega seznama, kajti metoda mora vrniti seznam odstranjenih usluzbencev(namig:Ustvari nov seznam v katerega shraniš vse uslužbence ki jih je potrebno izbrisati(npr. izbrisani)in nato iz dejanskega seznama usluzbencev izbriši usluzbence ki jih vsebuje nov seznam(izbrisani)in nato samo še vrneš seznam ki si ga ustvaril, se pravi vrneš seznam izbrisani).

metoda OdstraniOddelek je narobe zaradi if pogoja(v if pogoju oddelki zamenjaj z oddelek).

Metodo SeznamUsluzbencevFiltrirano popravi tako, da bo metoda vračala seznam najdenih uslužbencev(namig: ustvari nov seznam v katerega potem shraniš najdene uslužbence in na koncu tudi vrneš ta novi seznam z najdenimi uslužbenci).

SansungPark potem pa si ti to malo slabo stestirav, predlagam da se še 1x lotiš testov.

SansungPark ::

BabakAnsari je lepo napisal kako in kaj, tudi sam sem naredil tako kot je on napisal in sem prej nekoliko površno pogledal zgornji program, ki ima res nekoliko nepotrebnih in predvsem površnih napak. Lepo je razložil kako je treba stvari narediti, da bodo pravilne tako, da nimam tu več kaj dodati!

Glede zadnjih dveh metod pa je tako, da moreš it z zanko foreach skozi vse oddelke in znotraj oddelkov prav tako z zanko foreach skozi vse zaposlene(Namig: pri tem boš potreboval tudi dva na novo ustvarjena seznama.)

pohano ::

Hvala obema za izčrpen odgovr.

Spura ::

SansungPark je izjavil:

BabakAnsari je lepo napisal kako in kaj, tudi sam sem naredil tako kot je on napisal in sem prej nekoliko površno pogledal zgornji program, ki ima res nekoliko nepotrebnih in predvsem površnih napak. Lepo je razložil kako je treba stvari narediti, da bodo pravilne tako, da nimam tu več kaj dodati!

A res? Po njegovem popravku OdstraniOddelek dela pravilno? Zanimivo. JeUsluzbenec niti niste popravili. Prej sm pozabil se eno: VrniOddelek ne dela pravilno.

Zgodovina sprememb…

  • spremenil: Spura ()

SansungPark ::

OdstraniOddelek in vrni Oddelek ne dela pravilno, ker nima pravilno napisanega pogoja "if (oddelki.Equals(naziv))", pravilno bi bilo "if(oddelek.Naziv.Equals(naziv))" oz. "if(oddelek.Naziv==naziv)", pri JeUsluzbenec pa mislim da ima prav tako napako v if pogoju.

Spura ::

List.Contains ne bo pravilno deloval na objektih razreda, ki nimajo Equals overridean.

pohano ::

Sem upošteval vaš nasvet in sem pri metodi odstraniUsluzbence prišel do takšnega zapisa. Prevajalnik mi sicer ne javi napake, vendar bi vas proso če pokledate pa le skritizirajte prosim :)

//Namen metode OdstraniUsluzbence() je, da odstranimo vse usluzbence
        //katerih ime in priimek ustreza imenu in priimku,
        //ki ju dostavimo kot atributa v metodo.
        //Metoda mora vrniti seznam vseh odstranjenih usluzbencev.
        public LinkedList<Zaposlen> OdstraniUsluzbence(string ime, string priimek)
        {
           LinkedList<Zaposlen> izbrisani = new LinkedList<Zaposlen>();
            foreach(Zaposlen usluzbenec in usluzbenci)
                if (usluzbenec.Ime.Equals(ime) && usluzbenec.Priimek.Equals(priimek))
                {
                    usluzbenci.Remove(usluzbenec);
                }
            return izbrisani;
        }


1

Zgodovina sprememb…

  • spremenilo: pohano ()

pohano ::

Prav tako sem popravil metodo JeUsluzbenec
 //Namen metode JeUsluzbenec() je, da prejme kot 
        //parameter metode objekt usluzbenec
        //ter vrne true, ce taksen usluzbenec obstaja v seznamu usluzbencev
        //oz. false, ce taksnega usluzbenca v seznamu ni.
        public bool JeUsluzbenec(Zaposlen usluzbenec)
        {
            // TUKAJ VSTAVI SVOJO KODO
         
            if (usluzbenci.Equals(usluzbenec))
                return true;
            else
            // vaša metoda naj vrne true,  
            // ce usluzbenec obstaja v seznamu usluzbencev
            // ter false ce usluzbenca v tem seznamu ni

            return false;

        }


Vredno ogleda ...

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

[C#] Razširitev Linked List-a

Oddelek: Programiranje
51117 (783) Ciklamen
»

[C++] Naloga seznam

Oddelek: Programiranje
223303 (2578) Matic1911
»

[c#] Sklad

Oddelek: Programiranje
91591 (1451) Spura
»

[c#] Ustvarjanje objekta v drugem razredu

Oddelek: Programiranje
81665 (1610) Cvenemir
»

c sharp LinkedList - Naloga

Oddelek: Programiranje
91862 (1813) Msatir

Več podobnih tem