public static void PoziviPrekoDelegata() { // Instancirati delegata tipa MojDelegat metodom StatičkaMetoda te pozvati delegata MojDelegat md = StatičkaMetoda; md(); // Gornjem delegatu pridružiti metodu MetodaInstance te ponovno pozvati delegata StatičkeNestatičkeDelegatskeMetode o = new StatičkeNestatičkeDelegatskeMetode(); md += o.MetodaInstance; md(); }
static void Suma(int n, MojDelegat F) { int[] tab = new int[n]; int suma = 0; Stopwatch stoper = new Stopwatch(); stoper.Start(); for (int i = 0; i < n; i++) { tab[i] = i; suma += tab[i]; // Console.WriteLine(tab[i]); } stoper.Stop(); Console.WriteLine("Czas wykonania: {0}, czas teoretyczny: {1}, T(n)/F(n): {2}", stoper.ElapsedTicks, F(n), stoper.ElapsedTicks / F(n)); }
static void Main(string[] args) { // MojDelegat F1 = new MojDelegat(Liniowa); MojDelegat F2 = new MojDelegat(Kwadratowa); //zapis do pliku using (new OutToFile("output.txt")) // redirect the output to a text file { // Tutaj nasz cały kod zawierający informacje, które chcemy przesłać do pliku for (int i = 1; i <= 20; i++) { Suma(1000 * i, F2); } } // redirection ends upon exiting the using block Console.ReadKey(); }
static void Main(string[] args) { MojDelegat del1 = KlasaA.MetodA; MojDelegat del2 = KlasaB.MetodB; MojDelegat del = del1; del += del2; del("Miki Maus"); Console.WriteLine("---"); del -= del1; del("Dusko Dugousko"); Console.WriteLine("---"); del -= del2; del += del1; del("Patak Daca"); Console.WriteLine("---"); }
static void Suma(int n, MojDelegat F) { int[] tab = new int[n]; Stopwatch stoper = new Stopwatch(); stoper.Start(); int suma = 0; for (int i = 0; i < n; i++) { tab[i] = i; // Console.WriteLine(i); suma = suma + tab[i]; } stoper.Stop(); Console.WriteLine("{0,10}, {1,10}, {2,10}, {3,10}", n, stoper.ElapsedTicks, F(n), stoper.ElapsedTicks / F(n)); }
static void Suma(int n, MojDelegat F) { int[] tab = new int[n]; Stopwatch stoper = new Stopwatch(); stoper.Start(); int suma = 0; for (int i = 0; i < n; i++) { tab[i] = i; suma = suma + tab[i]; //Console.WriteLine(i); } stoper.Stop(); Console.WriteLine("Rozmiar danych: {0,10}, Czas wykonania T: {1,10}, funkcja dopasowana F {2,10}," + " iloraz T/F {3,10}", n, stoper.ElapsedTicks, F(n), stoper.ElapsedTicks / F(n)); }
public static void InvokeDelegate(MojDelegat del) // parametar koji predstavlja delegat { del("Hello World"); }
static void Registruj(Klinika klinika17818, NormalniPacijent n, bool hitanSlucaj) { Hitnislucaj hitan17818 = new Hitnislucaj(n); if (hitanSlucaj) { Console.WriteLine("Je li pruzena prva pomoc?"); string prvaPomoc = Console.ReadLine(); bool ispravanUnos = Boolean.TryParse(prvaPomoc, out bool pruzenaPrvaPomoc); Console.WriteLine("Opisite postupak koji je proveden nad pacijentom..."); string postupakPrvePomoci = Console.ReadLine(); Console.WriteLine("Pacijent je stabiliziran?\n1-DA\n2-NE"); int stabilan = Convert.ToInt32(Console.ReadLine()); hitan17818.Stabilan = (stabilan == 1); if (hitan17818.Stabilan == false) { Console.WriteLine("Pacijent je mrtav?\n" + "1-DA\n" + "2-NE"); int DaLiJeMrtav = Convert.ToInt32(Console.ReadLine()); if (DaLiJeMrtav == 1) { Console.WriteLine("Unesite datum i vrijeme smrti..."); hitan17818.VrijemeSmrti = Console.ReadLine(); Console.WriteLine("Opisite postupak lijecenja pacijenta..."); hitan17818.PostupakLijecenja = Console.ReadLine(); Console.WriteLine("Koji je uzrok smrti pacijenta?"); hitan17818.UzrokSmrti = Console.ReadLine(); Console.WriteLine("Unesite rezultat obdukcije..."); hitan17818.Obdukcija = Console.ReadLine(); } } } Console.WriteLine("Unesite ime pacijenta..."); n.Ime = Console.ReadLine(); Console.WriteLine("Unesite prezime pacijenta..."); n.Prezime = Console.ReadLine(); Console.WriteLine("Unesite datum rodjenja pacijenta..."); n.Datumrodjenja = Convert.ToDateTime(Console.ReadLine()); Console.WriteLine("Unesite mat. broj pacijenta..."); n.MaticniBroj = Console.ReadLine(); Console.WriteLine("Kojeg je spola pacijent?"); n.Spol = Console.ReadLine(); Console.WriteLine("Unesite adresu pacijenta..."); n.AdresaStanovanja = Console.ReadLine(); NormalniPacijent pacijent17818_1; //od sada on preuzima da je lakse registrovati preglede if (hitanSlucaj == false) { klinika17818.pacijenti.Add(n); pacijent17818_1 = n; } else { klinika17818.pacijenti.Add(hitan17818); pacijent17818_1 = n; } Console.WriteLine("Dodan pacijent, sada ih ukupno ima {0}", klinika17818.pacijenti.Count()); Console.Write(Environment.NewLine); Console.WriteLine("Za koje preglede ste zainteresirani?\n" + "1-VOZACKA DOZVOLA\n" + "2-SISTEMATSKI PREGLED\n" + "3-SAM/A ZELIM BIRATI"); int zainteresiran = Convert.ToInt32(Console.ReadLine()); switch (zainteresiran) { case 1: MojDelegat delegat17818_1 = VozackaDozvola; delegat17818_1(klinika17818, pacijent17818_1); break; case 2: MojDelegat delegat17818_2 = PoslovniPregled; delegat17818_2(klinika17818, pacijent17818_1); break; case 3: MojDelegat delegat17818_3 = SamostalanIzbor; delegat17818_3(klinika17818, pacijent17818_1); break; } }
public static void metodaZaObavijestiDELEGAT(KlasaElemenata ke, String tekstPoruke, String idKlijenta) { MojDelegat delegat = metodaZaObavijesti; delegat(ke, tekstPoruke, idKlijenta); }
static void Main(string[] args) { Klinika MalaKlinika = new Klinika(); Doktor Medina = new Doktor("Medina", "Dacic", "16051996", "1605996175068"); MalaKlinika.DodajDoktora("Medina", "Dacic", "16051996", "1605996175068"); MalaKlinika.DodajDoktora("Neki", "Sandzo", "11111991", "11111991175068"); MalaKlinika.DodajPacijenta("Bolesnik", "Prvi", "01051996", "0105996175068"); MalaKlinika.DodajPacijenta("Bolesnik", "Drugi", "12071996", "1207996175068"); MalaKlinika.DodajOrdinaciju("Ortopedija", 102, true, 0); MalaKlinika.DodajOrdinaciju("Kardiologija", 103, true, 0); MalaKlinika.DodajOrdinaciju("Dermatologija", 104, true, 0); MalaKlinika.DodajOrdinaciju("Otorinolaringologija", 105, true, 0); MalaKlinika.DodajOrdinaciju("Oftalmologija", 106, true, 0); MalaKlinika.DodajOrdinaciju("Laboratorija", 107, true, 0); MalaKlinika.DodajOrdinaciju("Stomatologija", 108, true, 0); MalaKlinika.DodajOrdinaciju("Hirurgija", 109, true, 0); bool ValidacijaUnosa(ref int n) { if (n == 1 || n == 2 || n == 3 || n == 4 || n == 5 || n == 6 || n == 7 || n == 8) { return(true); } return(false); } MojDelegat delegatic; delegatic = new MojDelegat(ValidacijaUnosa); int unos; Pacijent test_fja(ref bool testna) { string id; Console.WriteLine("Unesite id pacijenta: "); id = Console.ReadLine(); MalaKlinika.NadjiOsobu(id, ref testna); if (testna == true) { return(MalaKlinika.NadjiOsobu(id, ref testna)); } else { throw new Exception(); } } do { Console.WriteLine("Dobro dosli!\nOdaberite neku od sljedecih opcija:\n"); Console.WriteLine("1.Registruj/brisi pacijenta\n2.Prikazi raspored pregleda pacijenta\n3.Kreiranje kartona pacijenta\n4.Pretraga kartona pacijenta\n5.Registruj novi pregled\n6.Analiza sadrzaja\n7.Naplata\n8.Izlaz"); int br = 0; do { if (br == 1) { Console.WriteLine("Neispravan odabir opcije!\nPonovite odabir opcije!"); } try { unos = Convert.ToInt32(Console.ReadLine()); br = unos; } catch { Console.WriteLine("Pogresan odabir opcije!"); unos = -1; } }while (!delegatic(ref unos)); Pacijent p = new Pacijent(MalaKlinika); bool testna = true; switch (unos) { case 1: Console.WriteLine("1 - za registraciju pacijenta\n2 - za brisanje pacijenta "); string broj = Console.ReadLine(); if (broj == "1") { p.UnosOsobe(); MalaKlinika.DodajPacijenta(p); } else if (broj == "2") { testna = false; p = test_fja(ref testna); p.BrisiPacijenta(p.DajID()); } else { Console.WriteLine("Neispravan odabir opcije"); } //p.Ispisi(); break; case 2: //daje raspored pregleda try { testna = false; p = test_fja(ref testna); if (testna == true) { p.DajRasporedPregleda(); } } catch { Console.WriteLine("Neispravni podaci!\n"); } break; case 3: //kreira karton try { testna = false; p = test_fja(ref testna); if (testna == true) { p.KreirajKarton(); } } catch { Console.WriteLine("Neispravni podaci!\n"); } break; case 4: //pretraga kartona pacijenta try { testna = false; p = test_fja(ref testna); if (testna == true) { p.DajObavljenePreglede(); p.DajRasporedPregleda(); } } catch { Console.WriteLine("Neispravni podaci!\n"); } break; case 5: //registruj pregled, znaci dodaj zavrseni pregled try { testna = false; p = test_fja(ref testna); if (testna == true) { p.DodajZavrsenPregled(); } } catch { Console.WriteLine("Neispravni podaci!\n"); } break; case 6: //analiza sadrzaja Console.WriteLine("Za listing svih doktora pritisnite 1\n" + "Za listing svih pacijenata pritisnite 2\n" + "Za najzastupljenije dječije zarazne bolesti pritisnite 3\n" + "Za odjel koji je najmanje posjećen ove godine pritisnite 4"); int opcija = Convert.ToInt32(Console.ReadLine()); if (opcija == 1) { MalaKlinika.IspisiSveDoktore(); } else if (opcija == 2) { MalaKlinika.IspisiSvePacijente(); } else if (opcija == 3) { Console.WriteLine("1.Vodene kozice(Varicele)\n2.Ospice\n3.Hripavac\n4.Rubeola"); } else if (opcija == 4) { Console.WriteLine("Otorinolaringologija"); } else { Console.WriteLine("Neispravan unos!"); } break; case 7: //naplata try { testna = false; p = test_fja(ref testna); int cijena = 15 * p.BrojObavljenihPregleda(); int temp = p.DajBrojDolazakaNaKliniku(); bool redovan = false; if (temp > 3) { redovan = true; } Console.WriteLine("Gotovina ili rate : g ili r"); string nacin_placanja = Console.ReadLine(); if (nacin_placanja == "g") { if (redovan == true) { cijena = Convert.ToInt32((double)cijena * 0.9); } //p.DajObavljenePreglede(); Console.WriteLine("Za svaki navedeni pregled cijena je 15KM.\nUkupan iznos za naplatu je " + cijena); } else if (nacin_placanja == "r") { if (redovan == true) { ; } else { cijena = Convert.ToInt32((double)cijena * 1.15); } Console.WriteLine("Na koliko rata zelite placanje (najvise 4): "); int br_rata = Convert.ToInt32(Console.ReadLine()); //p.DajObavljenePreglede(); Console.WriteLine("Za svaki obavljeni pregled cijena je 15KM.\nUkupan iznos naplate za prvu ratu je " + cijena / br_rata); } p.PovecajBrojDolazaka(); p.AnulirajStanje(); } catch { Console.WriteLine("Neispravni podaci!\n"); } break; case 8: break; } } while (unos != 8); Console.WriteLine("\nSrdacan pozdrav!"); Console.ReadKey(); }