Tekma

Tekma

Avtor: Aleš Brelih

Opis problema

Napišite razred Tekma za spremljanje košarkaške tekme. V razredu morate voditi imeni ekip, skupno število prekrškov na obeh straneh, koliko je bilo košev po 1, 2 in 3 točke ter dodati metodo za izpis statistike tekme. Doseganje košev (in prekrškov) implementirajte s pomočjo metod (npr. ZadelProstiMet(...), ZadelZa2Tocki(...)).

  • Dana je datoteka trenutnih stanj tekem. Za vsako tekmo izpiši, katera ekipa vodi in za koliko točk.
  • Iz dane datoteke tekem izloči tiste, kjer je trenutni rezultat izenačen.
  • Izpišite imena tistih ekip, ki so v tem trenutku dosegle največ trojk.
  • Izpiši statistiko tekme, kjer gostje vodijo za največ točk.
  • Dano tabelo tekem uredite tako, da bodo v njej urejeni dosežki glede na razliko med številom točk domače in gostujoče ekipe. Če imata dve tekmi enako razliko, zapišite prej tisto, ki ima večji posamezni dosežek.

Razlaga rešitve

Rešitev je sestavljena iz dveh delov:

  • V prvem delu predstavimo razred. Torej njegove lastnosti in metode.
  • Drugi del služi testiranju rešitev.

Lastnosti razreda

Razred predstavlja celotno statistike za košarkaško tekmo. Lastnosti, ki jih bomo potrebovali:

  • Število košev za eno točko za obe ekipi.
  • Število košev za dve točki.
  • Število košev za tri točke.
  • Skupni rezultat za obe ekipi.
  • Število prekrškov za obe ekipi.

Konstruktorji razreda

  • public TekmaK()

    • Privzeti konstruktor brez parametrov. Vse lastnosti postanejo enake 0.
  • public TekmaK(string imePrva, string imeDruga, int stPrekP, int stPrekD, int stK1P, int stK1D, int stK2P, int stK2D, int stK3P, int stK3D)

    • Ustvari tekmo glede na lastnosti, ki jih vnesemo. Vse lastnosti so razdeljeno v lastne spremenljivke.
  • public TekmaK(string podatki)

    • Ustvari tekmo glede na lastnosti, ki jih vnesemo. Vse lastnosti so združene v en niz. Ta konstrukor bomo uporabili pri branju in ustvarjanju tekem iz datotek.

Metode razreda

Metode:

  • public override string ToString()

    • Metoda vrne lastnosti tekme kot niz.
  • public void PrekrsekPrva(int stPrek = 1) in public void PrekrsekDruga(int stPrek = 1)

    • Poveča število prekrškov.
  • public void ZadelProstiMetPrva(int stKos = 1) in public void ZadelProstiMetDruga(int stKos = 1)

    • Poveča število zadetih prostih metov za število, ki je v spremeniljivki stPrek.
  • public void ZadelZa2TockiPrva(int stKos = 1) in public void ZadelZa2TockiDruga(int stKos = 1)

    • Poveča število košev za dve točki za število, ki se nahaja v spremenljivki stPrek.
  • public void ZadelZa3TockePrva(int stKos = 1) in public void ZadelZa3TockePrva(int stKos = 1)

    • Metoda poveča število košev za tri točke za število, ki se nahaja v spremenljivki stPrek.
  • public int PrvaSkupno() in DrugaSkupno()

    • Metoda izračuna skupno število točk za izbrano ekipo.
  • public void IzpisStatistike()

    • V Konzoli izpiše statistiko za izbrano tekmo.
  • public void DodajNaDatoteko(string imeDat)

    • Doda tekmo na izbrano datoteko.
  • public static TekmaK[] PreberiZDatoteke(string imeDat)

    • Prebere vse tekme na datoteki in vrne seznam, ki jih vsebuje.
  • public static void TvoriDatoteko(string imeDat, int stElementov)

    • Ustvari stElementov različnih tekem in jih shrani na izbrano datoteko - imeDat.
  • public static TekmaK ustvariNakljucen()

    • Ustvari in vrne naključno tekmo.
  • public static void IzpisiDat(string imeDat)

    • Izpiše statistiko za vse tekme na datoteki imeDat.

Test rešitve

0%
0%