Arhiv: 'R-iT - 1. letnik'
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
Napišite razred DruzinskiClan z lastnostmi: ime (string), leto_rojstva (int) in funkcija (mati, oce, sin, hci).
Zapišite konstruktorje, metodo izpis ter metode get in set za vse lastnosti.
Nato napišite razred Druzina z naslednjimi lastnostmi: priimek (string) in polje članov (uporabite vector).
Slednja lastnost naj bo tipa DruzinskiClan. Razred Druzina ima naslednje metode:
- void dodajClana(DruzinskiClan a), ki doda clana v vector.
- void dodajClana(string i, int l, int f), ki ustvari in doda clana v vektor.
- int stOtrok(), ki vrne število otrok.
- int stClanov(), ki vrve število članov.
Nato prekrij operatorje nad razredom Družinam < (manjše), > (večje) in == (enako).
Družine primerjajte po številu družinskih članov.
Prekrijte še operator + (plus), ki vrača vsoto družinskih članov.
Za lažje razumevanje si oglejmo glavni program in njegov izpis.
Druzina:Prelogar
Oce : Ime:Matej rojen-a:1970
Mati: Ime:Sara rojen-a:1971
otroki so:
Ime:Marija rojen-a:2008
Ime:Martin rojen-a:2005
Ime:Janez rojen-a:2006
Druzina steje 5 clanov.
Druzina:Music
Oce : Ime:Tomaz rojen-a:1970
Mati: Ime:Lidija rojen-a:1971
otroki so:
Ime:Maj rojen-a:2007
Ime:Zarja rojen-a:2001
Druzina Prelogar je vecja od druzine Music.
Za druzini potrebujemo mizo za 9 oseb.
Press any key to continue . . .
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
Dopolnite nalogo 8.2 tako, da bo vektor strank urejen po imenu stranke. Uporabite v glavnem programu sort iz knjižnice STL.
V komentar odgovori na naslednja vprašanja:
- Razloži kakšna je razlika uporabe parametrov pri funkciji sort.
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
Preučite razred vector v STL knjižnici tukaj.
Nato nalogo 5.1. dopolnite tako, da bo glavni program uporabljal razred vector. Elementi razreda vektor so Stranke.
Poleg metode push_back demonstrirajte vsaj še dveh metod razreda vector ter uporabite iteratorja begin in end za pomik po elementih vektorja.
Primer za push_back:
seznam_strank.push_back(new Stranka("Janez Hlebec", new Datum(17,4,2009)));
V komentar odgovori na naslednja vprašanja:
- Kako deluje destruktor v razredu vector?
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
Napišite šablono razreda Aritmetika. Razred vsebuje polje ene dimenzije ter število elementov v polju (maksimalna velikost polja je 10).
Velikost polja podajte razredu s parametrom.
V razredu napišite naslednje funkcije:
- sum – vsota vseh elementov
- max- vrne največjega v polju
- povprecna – vrne povprečno vrednost v polju
- toString – ki vrne string elementov polja, ločenih z vejico
Izpis glavnega programa mora biti identičen podanemu.
Izpis programa:
Vsota: 11.3
Max: 4.2
Povpecje: 2.825
String: 2, 3, 4.2, 2.1
St. znakov: 65
Max: intervencijska
Povpecje: 6.5
String: Medveda je v blizini gostilne Pod Roznikom uspavala intervencijska skupina
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
Po vzoru naloge 7.2 pripravite še šablonske funkcije za delo s polji besed (string-i).
Napišite naslednje funkcije:
- sum – vsota dolžine vseh besed
- max – vrne najdaljšo besedo v polju
- povprecna – vrne povprečno velikost besed v polju
- toString – vrne stavek – besede iz polja ločene z vejico.
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
S pomočjo šablon napišite funkcije za delo s polji ene dimenzije.
Velikost polja podajte funkcijam preko parametra.
Napišite naslednje funkcije:
- sum – vsota vseh elementov
- max- vrne največjega v polju
- povprecna – vrne povprečno vrednost v polju
- toString – ki vrne string elementov polja, ločenih z vejico
Preuči kaj naredi ukaz:”sizeof p/sizeof p[0]” – glej primer.
Izpis glavnega programa mora biti identičen podanemu.
Primer izpisa:
10
52.3
4
45.2
2.5
13.075
1, 2, 3, 4
2, 3, 45.2, 2.1
Press any key to continue . . .
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
- Napišite razred Datum z naslednjimi zaščitenimi lastnostmi: dan, mesec in leto.
- Za razred zapišite še konstruktorje (privzeti in konstruktor s tremi parametri) in metodo izpis.
- Napišite razred Ura z naslednjimi zaščitenimi lastnostmi: ura, minute in sekunde.
- Za razred zapišite še konstruktorje (privzeti in konstruktor s tremi parametri) in metodo izpis.
- Napišite razred DatumUra, ki deduje iz razreda Datum in Ura (večratno dedovanje).
- Za razred zapišite še konstruktorje (privzeti in konstruktor s šestimi parametri) in prekrijte metodo izpis.
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
- Napišite razred IzpisPonudbe, ki bo imel zaščiteno lastnost seznamIzdelkov, stevilo_storitev in podjetje ( razrede snamite tukaj).
- Konstruktur (privzeti, kopirni, pretvorbeni)
- Destruktor
- Napišite javno metodo izpisPonudbe z naslednjo funkcionalnostjo:
izpisPonudbe() {
glavaPonudbe();
for(int i=0; i< stevilo_izdelkov; i++)
{
teloPonudbe(i, izdelki[i]);
}
nogaPonudbe();
}
- Javno abstraktno metodo glavaPonudbe(), ki na ponudbo izpiše podatke o podjetju.
- Javno abstraktno metodo teloPonudbe(int i, Storitev stor), ki na ponudbo izpiše podatke o izdelku.
- Javno abstraktno metodo nogaPonudbe(), ki na ponudbo izpiše podatek o skupni ceni izdelkov.
- Iz razreda IzpisPonudbe izpeljite razred IzpisPonudbeTekst, ki implementira metode glavaPonudbe(), teloPonudbe(Storitev stor) in nogaPonudbe().
UML predstavitev naloge*
* Tudi razred Storitev (ter vsebovana razreda Enota in Cena), bi lahko predstavili v zgornjem razrednem diagramu.
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
- Napišite razred A z zaščiteno spremenljivko s in konstruktorjem.
- V razred A dopišite javni metodi m1 in m2. Metodi vračata string in nimata parametrov (glje primer glavnega programa spodaj).
- Napišite razred B, ki razširja razred A. Razredu dopišite konstruktor.
- V razredu B, prekrijte metodi nadrazreda – m1 in m2.
- Napišite razred C, ki razširja razred B. Razredu dopišite konstruktor.
- V razredu B, prekrijte metodi nadrazreda – m1 in m2.
- V razredu A, B in C označite metodi m1 in m2 tako, da bo izpis glavnega programama ustrezal rešitvam zapisanim v komentarju.
>> Poglej rešitev <<
n/a
Avtor: Sonicelo | 01 May 2010 | Ni ni komentarjev
Kategorija: PROG II
Navodilo:
Napišite razred Kraj, ki vsebuje ime kraja in oznako kraja.
Napišite razred Kraji, ki vsebuje vsaj tri kraje (polje krajev) in razdalje med njimi (dvodimenzionalno polje).
Indeks kraja v polju (poloûaj v seznamu) predstavlja id kraja (celoštevilčno oznako).
Napišite naslednje metode:
- vrniRazdaljo(int id1, int id2), ki vrne razdaljo med dvema krajema.
- vrniIme(int id1), ki vrne ime mesta
- vrniKraj(int id1), ki vrne kraj
- vrniMaxRazdaljo(int &id1, int &id2), ki vrne preko reference id-ja mest, ki sta maksimalno oddaljena in vrednost te razdalje.
- vrniMinRazdaljo(int &id1, int &id2), metoda podobna prejšnji le da vrne minimalne vrednosti.
Napišite privzeti konstruktor, ki ustvari 3 kraje (napolni polje) in določi razdalje med njimi (mesta in razdalje si sami izmislite).
Napišite glavni program, ki omogoča preko menija klice metod razreda kraji.
Primer programa:
Menu
=========
1 … VNOS KRAJEV
2 … RAZDALJA MED KRAJEMA A IN B
3 … VRNI IME KRAJA ZA ID
4 … VRNI OZNAKO ZA ID
5 … MAKSIMALNA RAZDALJA
6 … MINIMALNA RAZDALJA
0 … IZHOD IZ PROGRAMA
=========
Izberi: 5
Kraja z maksimalno razdaljo:
Ajdovščina
Murska Sobota
Razdalja: 268 km
>> Poglej rešitev <<