Személyes eszközök
Keresés

 

A InfoWiki wikiből


Tartalomjegyzék

Táplálék

  • Táplálék neve, nem lehet üres
  • Táplálék értéke forintban, nem lehet negatív, sem 0
  • Táplálék súlya grammban, nem lehet negatív, sem 0, tört érték is lehet
  • Ez egy étel-e I/N, logikai, ha értéke 'nem', akkor ital, amúgy étel
  • Konstruktor a 3 paraméterrel
  • Property-k, ahol szükséges


Kereskedő

  • tartalmaz egy 'listát' a nála kapható ételekről és italokról. Ezen a listán más típusú adat ne lehessen, sem 'null' érték.
  • a kereskedő 'maximális teherbírása': hány kilogramm súlyú (tört érték) étel/ital lehet nála, ez nem lehet 0 vagy negatív. Ennek értékét a konstruktorban lehet beállítani, később ez nem megváltoztatható, csak lekérdezhető.
  • 'konstruktor' a max teherbírás paraméterrel.
  • 'Összérték( kaja_neve)' megadja, hogy adott nevű táplálékból (string) hány forint értékű készlet van a kereskedőnél.
  • 'SzabadTeherbírás' csak olvasható property, mennyi gramm súlyt képes még a kereskedő elbírni.
  • 'Bepakol( Taplalek t)' egy táplálék hozzáadása a kereskedő készletéhez, amennyiben a teherbírása szerint azt a súlyt még képes elcipelni. Ha sikeres hozzáadás volt, térjen vissza igaz-al, ha nem, akkor hamis-al.
  • 'Eladás( string taplalekNeve, int mennyiseg)': adott mennyiségű (darabszámú), adott nevű táplálék törlése a listáról. A fv visszaadja, hogy ténylegesen mennyit sikerült eladni (ez maximum annyi lehet, amennyi a kért mennyiség, de ha nincs annyi a listán, akkor elvileg kevesebb is lehet).

Jó kereskedő

A 'jókereskedo' a 'kereskedo' gyerekosztálya.Változások az ősosztályhoz képest:

  • Van neki egy új mezője, 'Pénz' nevű, amely tárolja a kereskedőnél lévő összeget. Ennek induló értékét a konstruktorában lehet beállítani.
  • A 'Bepakol'-t úgy kell módosítani, hogy a kereskedő a nála lévő árut meg is veszi valakitől, tehát csak akkor pakolhat be a zsákjába táplálékot, ha azt elbírja, és ki tudja fizetni az árát. Ekkor a táplálék ára levonásra kerül a kereskedő pénzéből.
  • Az 'Eladás'-t úgy kell módosítani, hogy eladáskor az összeg hozzáadódjon a pénzéhez.
  • Írjunk hozzá 'Osszeszed(bool etel_e)' metódust, mely visszaadja az adott típusú (étel-e, ital-e) táplálékokat listában.

Főprogram

Készítsük el a fenti osztályokat a megfelelő OOP technikák alkalmazásával. Törekedjünk arra, hogy az osztályok ne tudjanak többet, mint ami szükséges, és ne blokkmásoljunk!

Készítsünk olyan főprogramot, amely példányosít egy JÓKERESKEDŐ-t, induló pénzösszegét és teherbírását megfelelő tartományban random állapítsa meg. Majd töltse fel TÁPLÁLÁKOKKAL, amelynek adatait valamely KAJAK.TXT text file-ból olvassa be. Egy ilyen sor a fenti 4 értékből tevődik össze (név, érték, súly, étel-e). A sorok száma legyen tetszőleges. Irassuk ki, hogy mennyi pénz van ezek után a kereskedőnél. Kérjük le tőle először az ételek, majd az italok listáját. Mindkét listáról válasszunk ki 3-3 táplálék-nevet, majd azokból vegyünk random mennyiségűt a kereskedőtől. Irassuk ki, miket vettünk, és mennyit. Majd irassuk ki, mennyi pénze van a kereskedőnek a legvégén.

A mezőket és metódusokat ki lehet egészíteni új mezőkkel és metódusokkal, property-kkel, ahol szükségesnek ítéled. De tartsd szem előtt az OOP elveket, és a hatékonyságot! Oldd meg minél kevesebb kódsorból, vagy legalábbis törekedj arra, hogy ugyanazon kódrészt lehetőleg ne írd le két helyre is a programodba (copy-paste kerülendő).

A lap eredeti címe: „http://wiki.ektf.hu/wiki/Mp4/page15
Nézetek
nincs sb_18.116.36.221 cikk