public MainWindow() { InitializeComponent(); Podzbior podzbior = new Podzbior(new Macierz[] { new Macierz(new int[] { 0, 0, 1, 1 }, new int[] { 0, 0, 1, 1 }), new Macierz(new int[] { 1, 1, 0, 0 }, new int[] { 1, 1, 0, 0 }), new Macierz(new int[] { 0, 1, 0, 1 }, new int[] { 0, 1, 0, 1 }), new Macierz(new int[] { 1, 0, 1, 0 }, new int[] { 1, 0, 1, 0 }), new Macierz(new int[] { 0, 1, 1, 0 }, new int[] { 0, 1, 1, 0 }), new Macierz(new int[] { 1, 0, 0, 1 }, new int[] { 1, 0, 0, 1 }) }); Podzbior podzbior2 = new Podzbior(new Macierz[] { new Macierz(new int[] { 1, 0, 0, 1 }, new int[] { 0, 1, 1, 0 }), new Macierz(new int[] { 0, 1, 1, 0 }, new int[] { 1, 0, 0, 1 }), new Macierz(new int[] { 0, 0, 1, 1 }, new int[] { 1, 1, 0, 0 }), new Macierz(new int[] { 1, 1, 0, 0 }, new int[] { 0, 0, 1, 1 }), new Macierz(new int[] { 0, 1, 0, 1 }, new int[] { 1, 0, 1, 0 }), new Macierz(new int[] { 1, 0, 1, 0 }, new int[] { 0, 1, 0, 1 }) }); Macierze_4subpiksele = new Zbior(podzbior, podzbior2); Podzbior podzbior3 = new Podzbior(new Macierz[] { new Macierz(new int[] { 0, 1 }, new int[] { 0, 1 }), new Macierz(new int[] { 1, 0 }, new int[] { 1, 0 }) }); Podzbior podzbior4 = new Podzbior(new Macierz[] { new Macierz(new int[] { 1, 0 }, new int[] { 0, 1 }), new Macierz(new int[] { 0, 1 }, new int[] { 1, 0 }) }); Macierze_2subpiksele = new Zbior(podzbior3, podzbior4); }
/// <summary> /// Konstruktor pobierający obiekt klasy Rezerwacja oraz Zbior. Następuje w nim przypisanie listy najemców do listBoxa /// </summary> /// <param name="rezerwacja"></param> /// <param name="zbior"></param> public NowaRezerwacjaWindow(Rezerwacja rezerwacja, Zbior zbior) : this() { this.rezerwacja = rezerwacja; this.zbior = zbior; lista = new ObservableCollection <Najemca>(zbior.ListaNajemcow); listBox_Najemcy.ItemsSource = lista; rezerwacja.Numer = 0; // to może być powód problemów z numerem. tylko jak inaczej to zrobić? }
/// <summary> /// Konstruktor wymagający podania konkretnego zbioru z okna głównego /// </summary> /// <param name="zbior"></param> public RezerwacjaWindow(Zbior zbior) : this() { this.zbior = zbior; int i = 0; int j = 0; listaBn = new ObservableCollection <string>(); listaR = new ObservableCollection <Rezerwacja>(); listaS = new ObservableCollection <Rezerwacja>(); /// Poniższa pętla uzupełnia kolekcję o nazwy budynków ze zbioru foreach (Budynek b in zbior.SpisBudynkow) { listaBn.Add(b.Nazwa); } listBox_Budynki.ItemsSource = listaBn; }
/// <summary> /// Pusty konstruktor w którym program wczyta dane z pliku XML /// </summary> public MainWindow() { InitializeComponent(); listatemp = new ObservableCollection <Rezerwacja>(); listanumerow = new List <int>(); zbior = (Zbior)Zbior.OdczytajXml("Zbior1"); /// Do obiektu zbior zostają wczytane dane z pliku XML int i = 0; ///Poniższa potrójna pętla sprawdza, czy w każdym budynku, w każdej sali, znajdują się aktualne rezerwacje. Jeżeli tak, to są one kopiowane na listę tymczasową foreach (Budynek b in zbior.SpisBudynkow) { foreach (Sala s in b.ListaSal) { foreach (Rezerwacja r in s.ListaRezerwacji) { if (r.Dzień > DateTime.Now.Date) { listatemp.Add(r); listanumerow.Add(r.Numer); } if (r.Dzień == DateTime.Now.Date && r.Godzina_końcowa > DateTime.Now.TimeOfDay) { listatemp.Add(r); listanumerow.Add(r.Numer); } } s.ListaRezerwacji.Clear(); s.LiczbaRezerwacji = 0; /// Wykorzystaje zostana metoda "ręcznego" ustawiania numeru dla przepisywanych rezerwacji foreach (Rezerwacja r in listatemp) { s.DodajRezerwację(r, listanumerow[i]); i++; } /// następuje przekopiowanie elementów z listy tymczasowej na listę rezerwacji danej sali s.ListaRezerwacji.Sort(); listatemp.Clear(); /// Czyszczenie listy tymczasowej, tak aby była ona gotowa do wykorzystania w kolejnej sali listanumerow.Clear(); i = 0; } } //zbior.ZapiszXml("Zbior1"); /// Zmiany zostają zapisane w pliku XML }
/// <summary> /// Główny konstruktor, w którym zostają przypisane wartości dla wyświatlanych kontrolek WPF (Labeli, TextBoxów,ListBoxa) /// </summary> public BudynekWindow(Zbior zbior) : this() { this.zbior = zbior; int i = 0; lista = new ObservableCollection <Sala>(zbior.SpisBudynkow[i].ListaSal); /// Do listy zostaje przypisana kolekcja "ListaSal" (typ Lista) listBox_sale.ItemsSource = lista; /// obiekt ListBox będzie pobierał dane z listy label_nazwaBudynku.Content = zbior.SpisBudynkow[i].Nazwa; ///Poniższe konstrukcje warunkowe służą do opisania budynku za pomocą słów Tak lub Nie if (zbior.SpisBudynkow[i].Winda == true) { labelWinda.Content = "Tak"; } else { labelWinda.Content = "Nie"; } if (zbior.SpisBudynkow[i].Wifi == true) { labelWifi.Content = "Tak"; } else { labelWifi.Content = "Nie"; } if (zbior.SpisBudynkow[i].Gastronomia == true) { labelGastronomia.Content = "Tak"; } else { labelGastronomia.Content = "Nie"; } }
public static void Main() { Zbior z; ulong a; Console.WriteLine(); Console.WriteLine("***** ETAP I (2p) *****"); Console.WriteLine(); Zbior z0 = new Zbior(0x5AUL); a = (ulong)z0; Console.WriteLine("wartosc liczbowa z0 to {0} (powinno byc 90)", a); Console.WriteLine(); Zbior z1 = 1; a = (ulong)z1; Console.WriteLine("wartosc liczbowa z1 to {0} (powinno byc 2)", a); Console.WriteLine(); Zbior z2 = new Zbior(1, 3, 4, 6); Zbior z3 = new Zbior(2, 4); a = (ulong)z3; Console.WriteLine("wartosc liczbowa z3 to {0} (powinno byc 20)", a); Console.WriteLine(); z = z1 + z3; a = (ulong)z; Console.WriteLine("wartosc liczbowa z to {0} (powinno byc 22)", a); Console.WriteLine(); z -= z3; a = (ulong)z; Console.WriteLine("wartosc liczbowa z to {0} (powinno byc 2)", a); Console.WriteLine(); Console.WriteLine("czy z == z1 ? {0} (powinno byc True)", z == z1); Console.WriteLine("a teraz czy z == z1 ? {0} (powinno byc True)", z.Equals(z1)); Console.WriteLine("czy z == z2 ? {0} (powinno byc False)", z == z2); Console.WriteLine("skrot (hash) z3 to {0} (powinno byc 20)", z3.GetHashCode()); Console.WriteLine(); Console.WriteLine("czy 3 nalezy do z2 ? {0} (powinno byc True)", z2[3]); Console.WriteLine("czy 9 nalezy do z2 ? {0} (powinno byc False)", z2[9]); z2[9] = true; Console.WriteLine("czy teraz 9 nalezy do z2 ? {0} (powinno byc True)", z2[9]); z2[9] = false; Console.WriteLine("a teraz 9 nalezy do z2 ? {0} (powinno byc False)", z2[9]); Console.WriteLine(); Console.WriteLine("zbior z2 to {0} (powinno byc {{ 1 3 4 6 }})", z2); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("***** ETAP II (1p) *****"); Console.WriteLine(); Console.WriteLine("iloczyn z2 i z3 to {0} (powinno byc {{ 4 }})", z2 * z3); Console.WriteLine("roznica z2 i z3 to {0} (powinno byc {{ 1 3 6 }})", z2 - z3); Console.WriteLine("roznica z3 i z2 to {0} (powinno byc {{ 2 }})", z3 - z2); Console.WriteLine(); Console.WriteLine("czy z2 zawiera się w z3 ? {0} (powinno byc False)", z2 <= z3); Console.WriteLine("czy z2 zawiera w sobie z3 ? {0} (powinno byc False)", z2 >= z3); Console.WriteLine("czy z1 zawiera się w z2 ? {0} (powinno byc True)", z1 <= z2); z = z2; Console.WriteLine("czy z2 zawiera się w z2 ? {0} (powinno byc True)", z2 <= z); Console.WriteLine(); z = new Zbior(0xCFFUL); Console.WriteLine("test dopelnienia i iloczynu {0} (powinno byc {{ 0 2 5 7 10 11 }})", z * !z2); Console.WriteLine(); Console.WriteLine("z2 ma {0} elementy (powinno byc 4)", z2.Ile); Console.WriteLine("najwiekszy element z2 to {0} (powinno byc 6)", z2.Max); Console.WriteLine("najwiekszy zbioru pustego to {0} (powinno byc -1)", Zbior.Pusty.Max); Console.WriteLine(); Console.WriteLine("czy iloczyn zbiorow z1 i z3 jest pusty ? {0} (powinno True)", z1 * z3 == Zbior.Pusty); Console.WriteLine(); z = z1; z[8] = true; Console.WriteLine("jeszcze jeden test rownosci {0} (powinno False)", z == z1); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("***** ETAP III (2p) *****"); Console.WriteLine(); Console.WriteLine("wszystkie podzbiory zbioru {0} to:", z2); Zbior[] tab = z2.Podzbiory(); for (int i = 0; i < tab.Length; ++i) { Console.WriteLine(" {0,2}: {1}", i, tab[i]); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("***** KONIEC *****"); Console.WriteLine(); }
/// <summary> /// Główny Konstruktor wymagający podania zbioru z okna głównego /// </summary> /// <param name="zbior"></param> public NajemcyWindow(Zbior zbior) : this() { this.zbior = zbior; lista = new ObservableCollection <Najemca>(zbior.ListaNajemcow); /// Do listy zostaje przypisana kolekcja "ListaNajemcow" (typ Lista) listBox_Najemcy.ItemsSource = lista; /// obiekt ListBox będzie pobierał dane z listy }