Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Lab5
- {
- interface IInfo
- {
- public void WypiszInfo();
- }
- class Wydzial
- {
- private List<Student> listaStudentow = new List<Student>();
- private List<Jednostka> listaJednostek = new List<Jednostka>();
- private List<Przedmiot> listaPrzedmiotow = new List<Przedmiot>();
- public bool PrzeniesWykladowce(Wykladowca wykladowca, string obecnaJednostka, string nowaJednostka)
- {
- bool przeniesiono = false;
- bool isNewInList = false;
- bool usunieto = false;
- bool isOldInList = false;
- bool isHeInList = false;
- foreach(Jednostka jednostka in listaJednostek)
- {
- if (jednostka.Nazwa == nowaJednostka)
- isNewInList = true;
- }
- for(int i = 0; i < listaJednostek.Count; i++)
- {
- if(obecnaJednostka == listaJednostek[i].Nazwa)
- {
- isOldInList = true;
- for(int j = 0; j < listaJednostek[i].IloscWykladowcow; j++)
- {
- if(listaJednostek[i][j].Imie == wykladowca.Imie && listaJednostek[i][j].Nazwisko == wykladowca.Nazwisko)
- {
- isHeInList = true;
- if (isNewInList)
- {
- listaJednostek[i].UsunWykladowce(wykladowca);
- usunieto = true;
- }
- }
- }
- }
- }
- if (isNewInList && usunieto && isHeInList)
- {
- for(int i = 0; i < listaJednostek.Count; i++)
- {
- if (nowaJednostka == listaJednostek[i].Nazwa)
- {
- listaJednostek[i].DodajWykladowce(wykladowca);
- przeniesiono = true;
- }
- }
- }
- if(!isHeInList)
- Console.WriteLine("[!!!!!] Podany prowadzacy [" + wykladowca.Imie + " " + wykladowca.Nazwisko + "] nie pracuje w podanej jednostce [" + obecnaJednostka + "]!");
- if (!isNewInList)
- Console.WriteLine("[!!!!!] Podana nazwa nowej jednostki [" + nowaJednostka + "] nie jest zarejestrowana w danym wydziale");
- if (!isOldInList)
- Console.WriteLine("[!!!!!] Podana nazwja obecnej jednostki [" + obecnaJednostka + "] nie jest zarejestrowana w danym wydziale");
- return przeniesiono;
- }
- public bool UsunStudenta(int numerIndeksu)
- {
- bool found = false;
- for(int i = 0; i < listaStudentow.Count; i++)
- {
- if (numerIndeksu == listaStudentow[i].NrIndeksu)
- {
- found = true;
- listaStudentow.RemoveAt(i); // usuwam odnalezionego studenta z listy
- break;
- }
- }
- return found;
- }
- public void DodajJednostke(string nazwa_, string adres_)
- {
- listaJednostek.Add(new Jednostka(nazwa_, adres_));
- }
- public void DodajJednostke(Jednostka jednostka) // dodałem od siebie metode ktora dodaje jednostke bezposrednio
- {
- listaJednostek.Add(jednostka);
- }
- public void DodajPrzedmiot(Przedmiot przedmiot)
- {
- listaPrzedmiotow.Add(przedmiot);
- }
- public void DodajStudenta(Student student)
- {
- listaStudentow.Add(student);
- }
- public bool DodajWykladowce(Wykladowca wykladowca, string nazwaJednostki)
- {
- bool found = false;
- for(int i = 0; i < listaJednostek.Count; i++)
- {
- if (nazwaJednostki == listaJednostek[i].Nazwa)
- {
- listaJednostek[i].DodajWykladowce(wykladowca);
- found = true;
- }
- }
- if (!found) Console.WriteLine("[!!!!!] Nie udalo sie odnalesc podana jednostke - " + nazwaJednostki);
- return found;
- }
- public bool DodajOcene(int nrIndeksu_, Przedmiot przedmiot, int ocena, string data)
- {
- bool markAdded = false;
- bool studentFound = false;
- bool subjectFound = false;
- foreach(Przedmiot przedmiot_ in listaPrzedmiotow) {
- if (przedmiot_.Nazwa == przedmiot.Nazwa)
- subjectFound = true;
- }
- for (int i = 0; i < listaStudentow.Count; i++) {
- if (listaStudentow[i].NrIndeksu == nrIndeksu_)
- {
- studentFound = true;
- if (subjectFound)
- {
- listaStudentow[i].DodajOcene(przedmiot, ocena, data);
- markAdded = true;
- }
- }
- }
- if(!studentFound)
- Console.WriteLine("[!!!!!] Nie udalo sie odnalesc danego studenta [" + nrIndeksu_ + "] przy dodawaniu oceny!");
- if(!subjectFound)
- Console.WriteLine("[!!!!!] Nie udalo sie odnalesc danego przedmiotu [" + przedmiot.Nazwa + "] przy dodawaniu oceny!");
- return markAdded;
- }
- public void InfoStudenci(bool infoOceny)
- {
- if (infoOceny)
- {
- Console.WriteLine("Wydzial nalicza " + listaStudentow.Count + " nastepnych studentow:");
- foreach(Student student in listaStudentow)
- {
- student.WypiszInfo();
- student.InfoOceny();
- }
- }
- else
- {
- Console.WriteLine("Wydzial nalicza " + listaStudentow.Count + " nastepnych studentow:");
- foreach (Student student in listaStudentow)
- student.WypiszInfo();
- }
- }
- public void InfoJednostki(bool infoWykladowcy)
- {
- if (infoWykladowcy)
- {
- Console.WriteLine("Wydzial nalicza " + listaJednostek.Count + " nastepnych jednostek z prowadzacymi:");
- foreach (Jednostka jednostka in listaJednostek)
- {
- jednostka.WypiszInfo();
- jednostka.InfoWykladowcy();
- }
- }
- else
- {
- Console.WriteLine("Wydzial nalicza " + listaJednostek.Count + " nastepnych jednostek:");
- foreach (Jednostka jednostka in listaJednostek)
- jednostka.WypiszInfo();
- }
- }
- public void InfoPrzedmioty()
- {
- foreach (Przedmiot przedmiot in listaPrzedmiotow)
- przedmiot.WypiszInfo();
- }
- }
- class Jednostka : IInfo
- {
- private string nazwa = "", adres = "";
- List<Wykladowca> listaWykladowcow = new List<Wykladowca>();
- public string Nazwa { get => nazwa; set => nazwa = value; }
- public string Adres { get => adres; set => adres = value; }
- public Wykladowca this[int i] { get => listaWykladowcow[i]; }
- public int IloscWykladowcow { get => listaWykladowcow.Count; }
- public Jednostka() { nazwa = adres = "nieznano"; }
- public Jednostka(string nazwa_, string adres_) {
- nazwa = nazwa_;
- adres = adres_;
- }
- public void DodajWykladowce(Wykladowca wykladowca_)
- {
- Wykladowca dodawanyWykladowca = new Wykladowca(wykladowca_);
- listaWykladowcow.Add(dodawanyWykladowca);
- }
- public bool UsunWykladowce(Wykladowca wykladowca)
- {
- //var indexToDelete = listaWykladowcow.Find(x => x.Imie == wykladowca.Imie && x.Nazwisko == wykladowca.Nazwisko); sposob 1
- listaWykladowcow.RemoveAt(listaWykladowcow.IndexOf(wykladowca) + 1); // sposob 2
- /*for(int i = 0; i < listaWykladowcow.Count; i++) SPOSOB 3
- {
- if (listaWykladowcow[i].Imie == wykladowca.Imie && listaWykladowcow[i].Nazwisko == wykladowca.Nazwisko && listaWykladowcow[i].DataUrodzenia == wykladowca.DataUrodzenia)
- listaWykladowcow.RemoveAt(i);
- }*/
- if (listaWykladowcow.Contains(wykladowca))
- return false;
- else return true;
- }
- public bool UsunWykladowce(string imie_, string nazwisko_)
- {
- bool found = false;
- for (int i = 0; i < listaWykladowcow.Count; i++)
- {
- if (listaWykladowcow[i].Imie == imie_ && listaWykladowcow[i].Nazwisko == nazwisko_) {
- found = true;
- listaWykladowcow.RemoveAt(i);
- }
- }
- return found;
- }
- public void InfoWykladowcy()
- {
- if (listaWykladowcow.Count > 0)
- {
- Console.WriteLine("Lista wykladowcow na jednostce: " + nazwa + "(jest ich/on) [" + listaWykladowcow.Count + "]");
- foreach (Wykladowca wykladowca in listaWykladowcow)
- wykladowca.WypiszInfo();
- }
- else
- Console.WriteLine("[!!!!!] Nie ma wykladowcow zarejstrowanych dla danej jednostki");
- }
- public void WypiszInfo()
- {
- Console.WriteLine("Jednostka: " + nazwa + " pod adresem: " + adres);
- }
- }
- class Przedmiot : IInfo { // klasa wydzial wyzej
- private string nazwa = "", kierunek = "", specjalnosc = "";
- private int semestr = 0, ilGodzin = 0;
- public string Nazwa { get => nazwa; set => nazwa = value; }
- public string Kierunek { get => kierunek; set => kierunek = value; }
- public string Specjalnosc { get => specjalnosc; set => specjalnosc = value; }
- public int Semestr { get => semestr; set => semestr = value; }
- public int IloscGodzin { get => ilGodzin; set => ilGodzin = value; }
- public Przedmiot()
- {
- nazwa = kierunek = specjalnosc = "nieznano";
- }
- public Przedmiot(string nazwa_, string kierunek_, string specjalnosc_, int semestr_, int ilGodzin_)
- {
- nazwa = nazwa_;
- kierunek = kierunek_;
- specjalnosc = specjalnosc_;
- semestr = semestr_;
- ilGodzin = ilGodzin_;
- }
- public Przedmiot(Przedmiot przedmiot_)
- {
- nazwa = przedmiot_.nazwa;
- kierunek = przedmiot_.kierunek;
- specjalnosc = przedmiot_.specjalnosc;
- semestr = przedmiot_.semestr;
- ilGodzin = przedmiot_.ilGodzin;
- }
- public virtual void WypiszInfo()
- {
- Console.WriteLine("Informacja o prdzedmiocie: " + nazwa + " dla specjalnosci " + specjalnosc);
- Console.WriteLine("Prowadzony na kierunku: " + kierunek + " dla Semestru #" + semestr + " w ilosci " + ilGodzin + " godzin");
- }
- }
- class OcenaKoncowa: Przedmiot, IInfo
- {
- private double wartosc = 0.0;
- private string data = "";
- private Przedmiot przedmiot;
- public OcenaKoncowa(): base(){
- data = "nieznana";
- }
- public OcenaKoncowa(double ocena_, string data_, Przedmiot przedmiot_): base(przedmiot_)
- {
- wartosc = ocena_;
- data = data_;
- }
- public override void WypiszInfo()
- {
- Console.WriteLine("Ocena [" + wartosc + "]" + " z przedmiotu " + Nazwa + " zarejestrowana " + data);
- }
- }
- class Osoba: IInfo {
- protected string imie, nazwisko, dataUrodzenia;
- public string Imie
- {
- get => imie;
- set => imie = value;
- }
- public string Nazwisko
- {
- get => nazwisko;
- set => nazwisko = value;
- }
- public string DataUrodzenia
- {
- get => dataUrodzenia;
- set => dataUrodzenia = value;
- }
- public Osoba()
- {
- imie = "nieznane";
- nazwisko = "nieznane";
- dataUrodzenia = "nieznana";
- }
- public Osoba(string imie_, string nazwisko_, string dataUrodzenia_)
- {
- imie = imie_;
- nazwisko = nazwisko_;
- dataUrodzenia = dataUrodzenia_;
- }
- public virtual void WypiszInfo()
- {
- Console.WriteLine(imie + " " + nazwisko + ". Urodzil sie " + dataUrodzenia);
- }
- }
- class Wykladowca: Osoba {
- private string tytulNaukowy = "", stanowisko = "";
- public Wykladowca(): base()
- {
- tytulNaukowy = "nieznany";
- stanowisko = "nieznane";
- }
- public Wykladowca(string imie_, string nazwisko_, string du_, string tytul_, string stan): base(imie_, nazwisko_, du_)
- {
- tytulNaukowy = tytul_;
- stanowisko = stan;
- }
- public Wykladowca(Wykladowca wykladowca)
- {
- tytulNaukowy = wykladowca.tytulNaukowy;
- stanowisko = wykladowca.stanowisko;
- imie = wykladowca.Imie;
- nazwisko = wykladowca.Nazwisko;
- dataUrodzenia = wykladowca.DataUrodzenia;
- }
- public override void WypiszInfo()
- {
- Console.WriteLine(tytulNaukowy + " " + imie + " " + nazwisko + "(" + dataUrodzenia + "). Stanowisko - " + stanowisko);
- }
- }
- class Student: Osoba
- {
- private string kierunek, specjalnosc;
- private int rok, grupa, nrIndeksu;
- List<OcenaKoncowa> listaOcen = new List<OcenaKoncowa>();
- public int NrIndeksu
- {
- get => nrIndeksu;
- set => nrIndeksu = value;
- }
- public Student(): base()
- {
- kierunek = specjalnosc = "nieznany";
- rok = grupa = nrIndeksu = 0;
- }
- public Student(string imie_, string nazwisko_, string dataUr, string kier, string specjal, int rok_, int grupa_, int nrI): base(imie_, nazwisko_, dataUr)
- {
- kierunek = kier;
- specjalnosc = specjal;
- rok = rok_;
- grupa = grupa_;
- nrIndeksu = nrI;
- }
- public override void WypiszInfo()
- {
- Console.WriteLine("Informacja o studencie: " + imie + " " + nazwisko + "(" + dataUrodzenia + ")");
- Console.WriteLine("Specjalnosc - " + specjalnosc + " kierunku " + kierunek + ". ROK:" + rok + ". Grupa: " + grupa + ". Num. indeksu: " + nrIndeksu);
- }
- public void InfoOceny()
- {
- if (listaOcen.Count > 0)
- {
- Console.WriteLine("Student " + imie + " " + nazwisko + "[nr.indeksu - " + nrIndeksu + "] ma oceny: ");
- foreach (OcenaKoncowa oceny in listaOcen)
- oceny.WypiszInfo();
- }
- else
- Console.WriteLine("[!!!!!] Nie ma ocen zarejestrowanych dla danego studenta");
- }
- public bool DodajOcene(Przedmiot przedmiot_, double ocena, string data_)
- {
- OcenaKoncowa dodawanaOcena = new OcenaKoncowa(ocena, data_, przedmiot_);
- listaOcen.Add(dodawanaOcena);
- if (listaOcen.Contains(dodawanaOcena))
- {
- Console.WriteLine("[!!!!!] dodano #" + listaOcen.Count + " ocene studentowi [" + nrIndeksu + "] ***");
- return true;
- }
- else return false;
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Wydzial WIMiI = new Wydzial();
- Wykladowca[] w = new Wykladowca[7]
- {
- new Wykladowca("Jaroslaw", "Bolonski", "12.04.1985", "Dr. hab. inz", "prowadzacy"),
- new Wykladowca("Krzystof", "Kaczmarek", "15.02.1989", "Dr. inz", "prowadzacy laboratoriow"),
- new Wykladowca("Tomasz", "Bernardcki", "01.01.1975", "Dr. hab. inz", "Dziekan"),
- new Wykladowca("Andrzej", "Plutacki", "10.11.1991", "Mgr. inz", "prowadzacy"),
- new Wykladowca("Lukasz", "Andrejszczuk", "11.12.1965", "Dr. hab. inz", "wykladowca"),
- new Wykladowca("Bartosz", "Bartlomiej", "09.05.1987", "Dr. inz", "prowadzacy"),
- new Wykladowca("Stephan", "Antonio", "10.10.1990", "Dr. inz", "prowadzacy zajec ERASMUS+")
- };
- Jednostka j1 = new Jednostka("ISII", "ul. Dabrowskiego");
- Jednostka j2 = new Jednostka("ICIS", "ul. Armii Krajowej 54");
- Jednostka j3 = new Jednostka("KISI", "ul. Dabrowkiego");
- Jednostka j4 = new Jednostka("IMIF", "Glowny Budynek WIMII");
- Student[] s = new Student[10]
- {
- new Student("Michal", "Bazyshyn", "15/04/2000", "Informatyka", "Programista", 2, 4, 130817),
- new Student("Denys", "Koornichuk", "22/09/2001", "Informatyka", "Programista", 3, 8, 131242),
- new Student("Tomasz", "Bernecki", "02/07/1999", "Informatyka", "Web-programista", 2, 5, 129232),
- new Student("Igor", "Davydenko", "10/04/2001", "Informatyka", "Designer", 1, 4, 123204),
- new Student("Tomek", "Barszczyk", "25/08/2000", "Informatyka", "Programista", 2, 6, 125252),
- new Student("Damian", "Czarny", "23/02/2000", "Informatyka", "Programista", 3, 3, 214129),
- new Student("Pawel", "Dabrowski", "01/01/1998", "Informatyka", "Programista", 2, 1, 123290),
- new Student("Adrian", "Marcin", "18/12/2001", "Informatyka", "Programista", 1, 2, 582002),
- new Student("Mateusz", "Arkadiusz", "09/11/1999", "Informatyka", "Programista", 2, 1, 627924),
- new Student("Lukasz", "Dorecki", "10/05/2000", "Zarzadzanie", "Finanse", 2, 9, 206206)
- };
- Przedmiot[] p = new Przedmiot[10] {
- new Przedmiot("Bazy danych", "Informatyka", "Programista", 4, 30),
- new Przedmiot("Analizy matematyczna", "Informatyk", "Informatyk", 1, 30),
- new Przedmiot("Programowanie objektowe", "Informatyk", "Programista", 4, 30),
- new Przedmiot("Logika", "Informatyka", "Informatyk", 1, 30),
- new Przedmiot("Algorytmy i struktury danych", "Informatyka", "Informatyk", 2, 15),
- new Przedmiot("Bazy danych", "Informatyka", "Programista", 4, 30),
- new Przedmiot("Statystyka ", "Informatyka", "Informatyk", 3, 15),
- new Przedmiot("Zarzadanie finansami", "Finanse i bankowosc", "Finansysta", 6, 45),
- new Przedmiot("Paradygmaty Programowania", "Informatyka", "Programista", 4, 15),
- new Przedmiot("Historia Obliczen", "Informatyka", "Informatyk", 4, 15)
- };
- OcenaKoncowa ocenaKoncowa = new OcenaKoncowa();
- OcenaKoncowa ocenaKoncowa1 = new OcenaKoncowa(4, "12/05.2019", p[0]);
- Console.WriteLine("*****************");
- for (int i = 0; i < 10; i++) // Dodaje przedmioty oraz studentow z "bazy" (tablic) do wydzialu
- {
- WIMiI.DodajPrzedmiot(p[i]);
- WIMiI.DodajStudenta(s[i]);
- }
- Console.WriteLine("*****************");
- WIMiI.DodajJednostke("KISI", "ul.Dekabrystów 26/30");
- WIMiI.DodajJednostke(j1);
- WIMiI.DodajJednostke(j2);
- WIMiI.DodajJednostke(j4);
- WIMiI.InfoJednostki(false);
- WIMiI.InfoJednostki(true);
- Console.WriteLine("******************");
- WIMiI.DodajWykladowce(w[0], "ICIS");
- WIMiI.DodajWykladowce(w[0], "KISI");
- WIMiI.DodajWykladowce(w[0], "IMIF");
- WIMiI.DodajWykladowce(w[1], "ISII");
- WIMiI.DodajWykladowce(w[2], "ICIS");
- WIMiI.DodajWykladowce(w[3], "KISI");
- WIMiI.DodajWykladowce(w[4], "KISI");
- WIMiI.DodajWykladowce(w[4], "ICIS");
- WIMiI.DodajWykladowce(w[5], "ICIS");
- WIMiI.DodajWykladowce(w[6], "IMIF");
- WIMiI.DodajWykladowce(w[6], "ISII");
- WIMiI.DodajWykladowce(w[6], "jakis text!");
- WIMiI.InfoJednostki(true);
- Console.WriteLine("******************");
- j1.UsunWykladowce(w[3]);
- j2.UsunWykladowce(w[0]);
- j2.UsunWykladowce(w[4]);
- WIMiI.InfoJednostki(true);
- j2.DodajWykladowce(w[0]);
- j2.DodajWykladowce(w[6]);
- WIMiI.InfoJednostki(true);
- WIMiI.PrzeniesWykladowce(w[0], "IMIF", "ISII");
- WIMiI.PrzeniesWykladowce(w[0], "KISI", "ICIS");
- Console.WriteLine("******************");
- WIMiI.InfoJednostki(true);
- WIMiI.PrzeniesWykladowce(w[0], "KISI", "ICISs");
- WIMiI.PrzeniesWykladowce(w[0], "KISsd", "ICISss");
- Console.WriteLine("******************");
- WIMiI.InfoStudenci(true);
- WIMiI.DodajOcene(130818, p[9], 5, "11.11.2019");
- WIMiI.DodajOcene(123204, p[4], 5, "01.05.2020");
- WIMiI.DodajOcene(123290, p[1], 5, "01.05.2020");
- WIMiI.DodajOcene(123290, p[2], 5, "01.05.2020");
- WIMiI.DodajOcene(582002, p[4], 5, "01.05.2020");
- WIMiI.DodajOcene(0000000, p[4], 5, "10.05.2020");
- WIMiI.InfoStudenci(true);
- Console.WriteLine("******************");
- WIMiI.InfoStudenci(false);
- WIMiI.UsunStudenta(131242);
- WIMiI.UsunStudenta(123290);
- WIMiI.UsunStudenta(206206);
- WIMiI.InfoStudenci(false);
- Console.WriteLine("******************");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement