Guest User

Untitled

a guest
Apr 24th, 2019
73
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Naloga4._1
  8. {
  9. public enum Prehranjevanje { rastlinojedec, mesojedec, vsejedec };
  10. public enum Spol { moski, zenska };
  11. public enum Status { študent, upokojenec, zaposlen };
  12.  
  13.  
  14.  
  15. interface IPRODAJNI
  16. {
  17. void ProdajKarto(Termin termin, Obiskovalec obiskovalec);
  18. void PrekliciKarto(Termin termin, Obiskovalec obiskovalec);
  19. //bool MestoProsto(Termin termin);
  20. double IzračunajCeno(Obiskovalec obiskovalec);
  21. }
  22.  
  23. class Izlet:IPRODAJNI
  24. {
  25. private string naziv;
  26. private double cena;
  27.  
  28. //Ne pozabi da si spremenil na static
  29. private int trajanjeIzleta;
  30.  
  31. private static Termin[] termini;
  32.  
  33. public string Naziv
  34. {
  35. get { return naziv; }
  36. set { naziv = value; }
  37. }
  38. public double Cena
  39. {
  40. get { return cena; }
  41. set { cena = value; }
  42. }
  43. public int TrajanjeIzleta
  44. {
  45. get { return trajanjeIzleta; }
  46. set { trajanjeIzleta = value; }
  47. }
  48. public Termin[] Termini
  49. {
  50. get { return termini; }
  51. set { termini = value; }
  52.  
  53. }
  54.  
  55. public Izlet(string _naziv, double _cena, int _trajanjeIzleta, Termin[] _termini)
  56. {
  57. Naziv = _naziv;
  58. Cena = _cena;
  59. TrajanjeIzleta = _trajanjeIzleta;
  60. Termini = _termini;
  61. }
  62. //METODA: ProdajKarto
  63. public void ProdajKarto(Termin termin, Obiskovalec obiskovalec)
  64. {
  65. Termin t = najdiTermin(termin);
  66. if (t != null)
  67. {
  68. t.PrijaviObiskovalca(obiskovalec);
  69. }
  70. else
  71. {
  72. Console.WriteLine("Termin ne obstaja");
  73. }
  74.  
  75. }
  76. //METODA:PrekliciKarto
  77. public void PrekliciKarto(Termin termin, Obiskovalec obiskovalec)
  78. {
  79. Termin t = najdiTermin(termin);
  80. if (t != null)
  81. {
  82. t.OdjaviObiskovalca(obiskovalec);
  83. Console.WriteLine("Obiskovalec {0} {1} je odjavljen s seznama.", obiskovalec.Ime, obiskovalec.Priimek);
  84. }
  85. else
  86. {
  87. Console.WriteLine("Obiskovalec ni na seznamu.");
  88. }
  89. }
  90.  
  91.  
  92. ///POMOŽNA METODA
  93. public Termin najdiTermin(Termin t)
  94. {
  95. for(int i = 0; i <termini.Length; i++)
  96. {
  97. if(termini[i].ZačetekOgleda==t.ZačetekOgleda && termini[i].KonecOgleda == t.KonecOgleda)
  98. {
  99. return termini[i];
  100. }
  101. }
  102. return null;
  103. }
  104. //INTERFACE metoda IzračunajCeno
  105. public double IzračunajCeno(Obiskovalec obiskovalec)
  106. {
  107. double cena = Cena;
  108.  
  109. if (obiskovalec.Status == Status.upokojenec)
  110. {
  111. return cena = cena * 0.90;
  112. }
  113. else if (obiskovalec.Status == Status.študent)
  114. {
  115. return cena = cena * 0.85;
  116.  
  117. }
  118. else
  119. return cena;
  120. }
  121.  
  122. public bool MestoProsto(Termin termin)
  123. {
  124. Termin t = najdiTermin(termin);
  125.  
  126. if (t != null)
  127. {
  128. return t.prostoMesto();
  129. }
  130. else
  131. {
  132. Console.WriteLine("Termin ne obstaja");
  133. return false;
  134. }
  135.  
  136. }
  137.  
  138. /// POMOŽNA METODA
  139. public static void Temp()
  140. {
  141. foreach(Termin t in termini)
  142. {
  143. Console.WriteLine(t.ZačetekOgleda + "" + t.KonecOgleda);
  144. }
  145. }
  146.  
  147. }
  148.  
  149. class Termin
  150. {
  151. private DateTime začetekOgleda;
  152. private DateTime konecOgleda;
  153. private Zival dodeljenaŽival;
  154.  
  155. public DateTime ZačetekOgleda
  156. {
  157. get { return začetekOgleda; }
  158. set { začetekOgleda = value; }
  159. }
  160. public DateTime KonecOgleda
  161. {
  162. get { return konecOgleda; }
  163. set { konecOgleda = value; }
  164. }
  165. public Zival DodeljenaŽival
  166. {
  167. get { return dodeljenaŽival; }
  168. set { dodeljenaŽival = value; }
  169. }
  170.  
  171. public Termin(DateTime _začetekOgleda, DateTime _konecOgleda, Zival _dodeljenaZival)
  172. {
  173. ZačetekOgleda = _začetekOgleda;
  174. KonecOgleda = _konecOgleda;
  175. DodeljenaŽival = _dodeljenaZival;
  176. }
  177.  
  178. //Seznam na izlet prijavljenih obiskovalcev
  179. public Obiskovalec[] seznam = new Obiskovalec[5];
  180.  
  181. private int steviloPrijavljenih = 0;
  182.  
  183. ///Helper metoda za INTERFACE ProdajKarto
  184. public void PrijaviObiskovalca(Obiskovalec novObiskovalec)
  185. {
  186. //mislim da je seznam.Length-1 napaka, sm dal stran
  187. if (steviloPrijavljenih == seznam.Length)
  188. {
  189. Console.WriteLine("Seznam je poln");
  190. }
  191. else
  192. {
  193. seznam[steviloPrijavljenih] = novObiskovalec;
  194. steviloPrijavljenih++;
  195. Console.WriteLine("Obiskovalec {0} {1} je dodan na seznam", novObiskovalec.Ime, novObiskovalec.Priimek);
  196. }
  197. }
  198.  
  199. ///Helper metoda za INTERFACE PrekliciKarto
  200. public void OdjaviObiskovalca(Obiskovalec obiskovalec)
  201. {
  202. for(int i = 0; i < seznam.Length; i++)
  203. {
  204. if (seznam[i].Email == obiskovalec.Email)
  205. {
  206. seznam[i] = null;
  207. steviloPrijavljenih--;
  208. break;
  209. }
  210. }
  211. Obiskovalec[] novSeznam = new Obiskovalec[seznam.Length];
  212. for(int i = 0; i < novSeznam.Length; i++)
  213. {
  214. if (seznam[i] != null)
  215. {
  216. novSeznam[i] = seznam[i];
  217. }
  218. }
  219. seznam = novSeznam;
  220.  
  221. }
  222. ///Helper metoda za INTERFACE MestoProsto
  223. public bool prostoMesto()
  224. {
  225. return seznam.Length > steviloPrijavljenih + 1;
  226. }
  227.  
  228.  
  229.  
  230.  
  231.  
  232. }
  233.  
  234. class Obiskovalec
  235. {
  236. private string ime;
  237. private string priimek;
  238. private Spol spol;
  239. private DateTime datumRojstva;
  240. private string email;
  241. private Status status;
  242.  
  243. public string Ime
  244. {
  245. get { return ime; }
  246. set { ime = value; }
  247. }
  248. public string Priimek
  249. {
  250. get { return priimek; }
  251. set { priimek = value; }
  252. }
  253. public Spol Spol
  254. {
  255. get { return spol; }
  256. set { spol = value; }
  257. }
  258. public DateTime DatumRojstva
  259. {
  260. get { return datumRojstva; }
  261. set { datumRojstva = value; }
  262. }
  263. public string Email
  264. {
  265. get { return email; }
  266. set { email = value; }
  267. }
  268. public Status Status
  269. {
  270. get { return status; }
  271. set { status = value; }
  272. }
  273.  
  274. public Obiskovalec(string _ime, string _priimek, Spol _spol, DateTime _datumRojstva, string _email, Status _status)
  275. {
  276. Ime = _ime;
  277. Priimek = _priimek;
  278. Spol = _spol;
  279. DatumRojstva = _datumRojstva;
  280. Email = _email;
  281. Status = _status;
  282. }
  283.  
  284. public bool Enakost(Obiskovalec ob1, Obiskovalec ob2)
  285. {
  286. if (ob1.ime == ob2.ime && ob1.priimek == ob2.priimek && ob1.spol == ob2.spol && ob1.DatumRojstva == ob2.DatumRojstva)
  287. {
  288. Console.WriteLine("Osebi sta enaki");
  289. return true;
  290. }
  291. else
  292. {
  293. Console.WriteLine("Osebi sta različni");
  294. return false;
  295. }
  296. }
  297.  
  298.  
  299.  
  300. }
  301.  
  302. class Zival
  303. {
  304. private string poreklo;
  305. private int starost;
  306. private double teza;
  307. private Kartoteka kartoteka;
  308. private DnevnikHranjenja dnevnik;
  309. private Spol spol;
  310.  
  311. //Getterji setterji
  312. public Spol _spol
  313. {
  314. get { return spol; }
  315. set { spol = value; }
  316. }
  317. public Kartoteka _kartoteka
  318. {
  319. get { return kartoteka; }
  320. set { kartoteka = value; }
  321. }
  322. public DnevnikHranjenja _dnevnik
  323. {
  324. get { return dnevnik; }
  325. set { dnevnik = value; }
  326. }
  327. public int _starost
  328. {
  329. get { return starost; }
  330. set { starost = value; }
  331. }
  332. public double _teza
  333. {
  334. get { return teza; }
  335. set { teza = value; }
  336. }
  337. public string _poreklo
  338. {
  339. get { return poreklo; }
  340. set { poreklo = value; }
  341. }
  342.  
  343. public Zival()
  344. {
  345.  
  346. }
  347.  
  348. public Zival(string _poreklo, int _starost, double _teza, Spol Sp, Kartoteka Kart)
  349. {
  350. poreklo = _poreklo;
  351. starost = _starost;
  352. teza = _teza;
  353. _spol = Sp;
  354. _kartoteka = Kart;
  355.  
  356.  
  357.  
  358. }
  359. ////3. Konstruktor
  360. //public Zival(Spol spol,string _poreklo, int _starost, double _teza, Kartoteka _kartoteka, DnevnikHranjenja _dnevnik) : this(_poreklo, _starost, _teza)
  361. //{
  362. // kartoteka = _kartoteka;
  363. // dnevnik = _dnevnik;
  364. // spol = _spol;
  365. //}
  366.  
  367. //Virtualna metoda, ki jo predefiniramo v izpeljanih razredih
  368.  
  369. public virtual void Izpis()
  370. {
  371. Console.WriteLine("\nPoreklo: {0}, starost {1}, teza {2},\nKartoteka: Opis težav: {3}, " +
  372. "Datum pregleda: {4}", poreklo, starost,
  373. teza, kartoteka._opisTezav, kartoteka._datum);
  374. }
  375.  
  376.  
  377. }
  378. class OdraslaZival : Zival
  379. {
  380. private int steviloPotomcev;
  381. public int _steviloPotomcev
  382. {
  383. get { return steviloPotomcev; }
  384. set { steviloPotomcev = value; }
  385. }
  386. //public OdraslaZival(int potomci, string _poreklo, int _starost, double _teza, Kartoteka _kartoteka, DnevnikHranjenja _dnevnik, Spol _spol)
  387. // :base(_spol, _poreklo, _starost, _teza, _kartoteka, _dnevnik)
  388. //{
  389. // _steviloPotomcev = potomci;
  390.  
  391. // //Kaj je praviln način nastavljanja vrednosti v konstruktorju?
  392. // /*Popravi poimenovanja v vseh tak ko si tu naredo */
  393.  
  394. //}
  395.  
  396. public OdraslaZival(int SteviloPotomcev, string _poreklo, int _starost, double _teza, Spol Sp, Kartoteka Kart)
  397. : base(_poreklo, _starost, _teza, Sp, Kart)
  398. {
  399. _steviloPotomcev = SteviloPotomcev;
  400. }
  401.  
  402. /*3 naloga*/
  403. public sealed override void Izpis()
  404. {
  405. base.Izpis();
  406. Console.WriteLine("Potomci: {0} \n", _steviloPotomcev);
  407.  
  408. }
  409. }
  410. class Mladic : Zival
  411. {
  412. private Prehranjevanje prehranjevanje;
  413. public Prehranjevanje _prehranjevanje
  414. {
  415. get { return prehranjevanje; }
  416. set { prehranjevanje = value; }
  417. }
  418.  
  419. public Mladic(Prehranjevanje Hranjenje, string _poreklo, int _starost, double _teza, Spol Sp, Kartoteka _kartoteka)
  420. : base(_poreklo, _starost, _teza, Sp, _kartoteka)
  421. {
  422. _prehranjevanje = Hranjenje;
  423.  
  424. }
  425.  
  426. //public Mladic(Prehranjevanje hrana, string _poreklo, int _starost, double _teza, Kartoteka _kartoteka, DnevnikHranjenja _dnevnik, Spol _spol)
  427. // : base(_spol,_poreklo, _starost, _teza, _kartoteka, _dnevnik)
  428. //{
  429. // hrana = _prehranjevanje;
  430. //}
  431.  
  432. public override void Izpis()
  433. {
  434. base.Izpis();
  435. Console.WriteLine("Žival je {0}\n ", _prehranjevanje);
  436. }
  437.  
  438.  
  439.  
  440.  
  441. }
  442. class Kartoteka
  443. {
  444. private DateTime datum;
  445. private string opisTezav;
  446.  
  447. public DateTime _datum
  448. {
  449. get { return datum; }
  450. set { datum = value; }
  451. }
  452. public string _opisTezav
  453. {
  454. get { return opisTezav; }
  455. set { opisTezav = value; }
  456. }
  457.  
  458. //default constructor
  459. public Kartoteka()
  460. {
  461.  
  462. }
  463.  
  464. public Kartoteka(DateTime _datum, string _opisTezav)
  465. {
  466. datum = _datum;
  467. opisTezav = _opisTezav;
  468. }
  469.  
  470. public void Izpis()
  471. {
  472. Console.WriteLine("Datum: {0}, opis težav: {1}", datum, opisTezav);
  473. }
  474.  
  475. }
  476.  
  477. abstract class DnevnikHranjenja
  478. {
  479. private double kolicinaObroka;
  480. private DateTime datumObroka;
  481. private decimal porabaVode;
  482.  
  483. public decimal _porabaVode
  484. {
  485. get { return porabaVode; }
  486. set { porabaVode = value; }
  487. }
  488.  
  489. //Getterji setterji
  490. public double _kolicinaObroka
  491. {
  492. get { return kolicinaObroka; }
  493. set { kolicinaObroka = value; }
  494. }
  495. public DateTime _datumObroka
  496. {
  497. get { return datumObroka; }
  498. set { datumObroka = value; }
  499. }
  500.  
  501. //Privzeti konstruktor
  502. public DnevnikHranjenja()
  503. {
  504.  
  505. }
  506. //Drugi konstruktor
  507. public DnevnikHranjenja(double _kolicinaObroka, DateTime _datumObroka)
  508. {
  509. kolicinaObroka = _kolicinaObroka;
  510. datumObroka = _datumObroka;
  511. }
  512.  
  513. public void Izpis()
  514. {
  515. Console.WriteLine("Količina: {0}, datum obroka {1}", kolicinaObroka, datumObroka);
  516. }
  517.  
  518. ///Metoda za izračun porabljene vode glede na datum
  519. public decimal porabljenaVoda(DateTime zacetek, DateTime konec)
  520. {
  521. double razlika = (konec - zacetek).TotalDays;
  522. decimal poraba = (decimal)razlika * 10;
  523. //shranimo porabo v _porabaVode
  524. _porabaVode = poraba;
  525.  
  526. return poraba;
  527. }
  528.  
  529. ///Metoda za izračun porabljene vode glede na datum in vreme
  530. public decimal porabljenaVoda(DateTime zacetek, DateTime konec, string pogoji)
  531. {
  532. //shranimo klic prejsnje funkcije v porabo
  533. decimal poraba = porabljenaVoda(zacetek, konec);
  534.  
  535.  
  536. if (pogoji.ToLower() == "sončno" || pogoji.ToLower() == "soncno")
  537. {
  538. decimal rezultat = (poraba * 150) / 100;
  539.  
  540. _porabaVode = rezultat;
  541. Console.WriteLine("Poraba v sončnem vremenu je {0} litrov", rezultat);
  542. return rezultat;
  543. }
  544. else
  545. {
  546. decimal rezultat = (poraba * 90) / 100;
  547. _porabaVode = rezultat;
  548. Console.WriteLine("Poraba deževnem vremenu je {0} litrov", rezultat);
  549. return rezultat;
  550. }
  551.  
  552. }
  553.  
  554. ///Abstraktna metoda
  555. public abstract void izracunajKalorijeObroka();
  556.  
  557. }
  558. class Zajtrk : DnevnikHranjenja
  559. {
  560. private double beljakovine;
  561. private double ogljikoviHidrati;
  562.  
  563. //get set
  564. public double _beljakovine
  565. {
  566. get { return beljakovine; }
  567. set { beljakovine = value; }
  568. }
  569. public double _ogljikoviHidrati
  570. {
  571. get { return ogljikoviHidrati; }
  572. set { ogljikoviHidrati = value; }
  573. }
  574.  
  575. public Zajtrk(double Beljakovine, double OgljikoviHidrati, double _kolicinaObroka, DateTime _datumObroka)
  576. : base(_kolicinaObroka, _datumObroka)
  577. {
  578. _beljakovine = Beljakovine;
  579. _ogljikoviHidrati = OgljikoviHidrati;
  580. }
  581.  
  582. //Prekrijemo metodo nadrazreda
  583. public new void Izpis()
  584. {
  585. Console.WriteLine("Beljakovine: {0}g, OgljikoviHidrati: {1}g", _beljakovine, _ogljikoviHidrati);
  586. }
  587.  
  588. public override void izracunajKalorijeObroka()
  589. {
  590. double skupneCal = _beljakovine * 4.0 + _ogljikoviHidrati * 4.1;
  591. Console.WriteLine("Skupaj: {0} kalorij", skupneCal);
  592. }
  593.  
  594.  
  595.  
  596. }
  597. class Vecerja : DnevnikHranjenja
  598. {
  599. private double beljakovine;
  600. private double ogljikoviHidrati;
  601. private double mascobe;
  602.  
  603. public double _beljakovine
  604. {
  605. get { return beljakovine; }
  606. set { beljakovine = value; }
  607. }
  608. public double _ogljikoviHidrati
  609. {
  610. get { return ogljikoviHidrati; }
  611. set { ogljikoviHidrati = value; }
  612. }
  613. public double _mascobe
  614. {
  615. get { return mascobe; }
  616. set { mascobe = value; }
  617. }
  618.  
  619. public Vecerja(double Beljakovine, double OgljikoviHidrati, double Mascobe, double _kolicinaObroka, DateTime _datumObroka)
  620. : base(_kolicinaObroka, _datumObroka)
  621. {
  622. _beljakovine = Beljakovine;
  623. _ogljikoviHidrati = OgljikoviHidrati;
  624. _mascobe = Mascobe;
  625. }
  626.  
  627. public new void Izpis()
  628. {
  629. Console.WriteLine("Beljakovine: {0}g, OgljikoviHidrati: {1}g", _beljakovine, _ogljikoviHidrati);
  630. }
  631.  
  632. public override void izracunajKalorijeObroka()
  633. {
  634. double skupneCal = _beljakovine * 4.0 + _ogljikoviHidrati * 4.1 + _mascobe * 9.0;
  635. Console.WriteLine("Skupaj: {0} kalorij", skupneCal);
  636. }
  637. }
  638.  
  639. class Program
  640. {
  641. static void Main(string[] args)
  642. {
  643. #region
  644. //zival1.Izpis();
  645.  
  646. ////zival2.Izpis();
  647. //Console.WriteLine("");
  648. ////zival3.Izpis();
  649. //Console.WriteLine("");
  650.  
  651. /*--- DRUGA NALOGA---*/
  652. //dnevnik1.porabljenaVoda(new DateTime(2019, 3, 20), new DateTime(2019, 3, 27));
  653. //dnevnik1.porabljenaVoda(new DateTime(2019, 3, 20), new DateTime(2019, 3, 27), "slabo");
  654. //dnevnik2.porabljenaVoda(new DateTime(2019, 5, 10), new DateTime(2019, 6, 27), "sončno");
  655.  
  656. /*-- PRVA NALOGA-- */
  657. //DnevnikHranjenja dnevnik1 = new DnevnikHranjenja(3, new DateTime(2019, 3, 4));
  658.  
  659. //Zival zival1 = new Zival(Spol.moski,"Afrika", 22, 150, kartoteka1, dnevnik1);
  660.  
  661. //DnevnikHranjenja dnevnik2 = new DnevnikHranjenja(10, new DateTime(2019, 3, 4));
  662.  
  663. //Zival zival2 = new Zival(Spol.zenska,"Afrika", 32, 400, kartoteka2, dnevnik2);
  664.  
  665. //DnevnikHranjenja dnevnik3 = new DnevnikHranjenja(2, new DateTime(2019, 3, 4));
  666.  
  667. //Zival zival3 = new Zival(Spol.zenska,"Afrika", 5, 22, kartoteka3, dnevnik3);
  668.  
  669.  
  670. /*--- TRETJA NALOGA---*/
  671. //Kartoteka kartoteka1 = new Kartoteka(new DateTime(2014, 4, 21), "Klopni menigitis");
  672. //Kartoteka kartoteka2 = new Kartoteka(new DateTime(2013, 4, 10), "Pljučnica");
  673. //Kartoteka kartoteka3 = new Kartoteka(new DateTime(2012, 3, 5), "Depresija");
  674.  
  675. //Zajtrk zajtrk = new Zajtrk(50, 200, 0.5, new DateTime(2019, 3, 4));
  676. //Vecerja vecerja = new Vecerja(40, 60, 20, 0.3, new DateTime(2019, 3, 4));
  677.  
  678. //OdraslaZival odraslaZival = new OdraslaZival(4, "Azije", 28, 80, Spol.moski, kartoteka1);
  679. //Mladic mladic = new Mladic(Prehranjevanje.vsejedec, "Azija", 3, 10, Spol.zenska, kartoteka2);
  680.  
  681.  
  682. ////zajtrk.Izpis();
  683. ////vecerja.Izpis();
  684.  
  685. //odraslaZival.Izpis();
  686. //mladic.Izpis();
  687.  
  688. //zajtrk.izracunajKalorijeObroka();
  689. //vecerja.izracunajKalorijeObroka();
  690. #endregion
  691. Kartoteka k1 = new Kartoteka(new DateTime(2019, 9, 9), "Bronhitis");
  692. Zival zival1 = new Zival("Severna Amerika", 18, 240, Spol.moski, k1);
  693.  
  694. Obiskovalec obiskovalec1 = new Obiskovalec("Miha", "Novak", Spol.moski, new DateTime(1999, 08, 30), "miha@yahoo.com", Status.študent);
  695. Obiskovalec obiskovalec2 = new Obiskovalec("Jona", "Potrč", Spol.zenska, new DateTime(1996, 02, 19), "jona@yahoo.com", Status.študent);
  696. Obiskovalec obiskovalec3 = new Obiskovalec("Jure", "Meh", Spol.moski, new DateTime(1990, 02, 22), "jure@yahoo.com", Status.zaposlen);
  697. Obiskovalec obiskovalec4 = new Obiskovalec("Žiga", "Petelin", Spol.zenska, new DateTime(2000, 08, 19), "ziga@yahoo.com", Status.zaposlen);
  698. Obiskovalec obiskovalec5 = new Obiskovalec("Janez", "Novak", Spol.moski, new DateTime(1912, 03, 19), "janez@yahoo.com", Status.upokojenec);
  699. Obiskovalec obiskovalec6 = new Obiskovalec("Tadej", "Tomič", Spol.moski, new DateTime(1992, 05, 19), "tadej@yahoo.com", Status.študent);
  700.  
  701.  
  702. Termin termin1 = new Termin(new DateTime(2012, 12, 19), new DateTime(2012, 12, 19), zival1);
  703. Termin termin2 = new Termin(new DateTime(2019, 5, 5), new DateTime(2019, 5, 6), zival1);
  704. Termin termin3 = new Termin(new DateTime(2019, 5, 6), new DateTime(2019, 5, 7), zival1);
  705. Termin termin4 = new Termin(new DateTime(2019, 5, 7), new DateTime(2019, 5, 8), zival1);
  706. Termin termin5 = new Termin(new DateTime(2019, 5, 9), new DateTime(2019, 5, 10), zival1);
  707.  
  708. Termin termin6 = new Termin(new DateTime(2019, 8, 8), new DateTime(2019, 8, 9), zival1);
  709.  
  710. Termin[] terminiIzletov = new Termin[5];
  711. terminiIzletov[0] = termin1;
  712. terminiIzletov[1] = termin2;
  713. terminiIzletov[2] = termin3;
  714. terminiIzletov[3] = termin4;
  715. terminiIzletov[4] = termin5;
  716.  
  717.  
  718. Izlet izlet1 = new Izlet("Ogled grizzlijev", 80, 12, terminiIzletov);
  719.  
  720.  
  721. obiskovalec1.Enakost(obiskovalec2, obiskovalec1);
  722. obiskovalec1.Enakost(obiskovalec1, obiskovalec1);
  723.  
  724. //Tu bo obvestilo o napačnem terminu
  725. izlet1.ProdajKarto(termin6,obiskovalec1);
  726.  
  727. //Prodaj karto
  728. izlet1.ProdajKarto(termin1,obiskovalec1);
  729. izlet1.ProdajKarto(termin1,obiskovalec2);
  730. izlet1.ProdajKarto(termin1,obiskovalec3);
  731. izlet1.ProdajKarto(termin1,obiskovalec4);
  732. izlet1.ProdajKarto(termin1,obiskovalec5);
  733. izlet1.ProdajKarto(termin1,obiskovalec5);
  734.  
  735. //Prekliči karto
  736. //izlet1.PrekliciKarto(termin1, obiskovalec1);
  737.  
  738. //Izračunaj ceno
  739. double cena=izlet1.IzračunajCeno(obiskovalec1);
  740. Console.WriteLine(cena);
  741.  
  742. //Prosto mesto
  743. Console.WriteLine(izlet1.MestoProsto(termin1));
  744. Console.WriteLine(izlet1.MestoProsto(termin2));
  745.  
  746. Console.WriteLine("Prosto mesto: {0}", termin2.prostoMesto() ? "Da" : "Ne");
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758. //Izlet.Temp();
  759.  
  760.  
  761.  
  762.  
  763. Console.ReadLine();
  764.  
  765.  
  766. }
  767. }
  768. }
RAW Paste Data