Dokumentáció. 1. Beadandó feladat



Hasonló dokumentumok
Osztályok. 4. gyakorlat

Programozási nyelvek II. JAVA

Bevezetés a Python programozási nyelvbe

és az instanceof operátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Objektum elvu alkalmaza sok fejleszte se

OOP: Java 8.Gy: Abstract osztályok, interfészek

Smart Pointer koncepciója

Java és web programozás

Programozási technológia I. 1. beadandó feladatsor

C++ programozási nyelv

Egyetemi könyvtári nyilvántartó rendszer

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Rendszerterv. Makoviczki András. Neptun: JJ26AR

Java programozási nyelv 6. rész Java a gyakorlatban

Egyetemi könyvtári nyilvántartó rendszer

Programozási alapismeretek 4.

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

BME MOGI Gépészeti informatika 8.

Programozási nyelvek Java

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

MAGYAR KERESKEDELMI ÉS IPARKAMARA. Országos Szakmai Tanulmányi Verseny. Elődöntő KOMPLEX ÍRÁSBELI FELADATSOR

I. Objektumorientált programozás

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Bisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.

OOP és UML Áttekintés

Web-technológia PHP-vel

Gyakorlati vizsgatevékenység A

III. OOP (objektumok, osztályok)

Java gyakorlat feladatai e s megolda sai ( )

Programozási nyelvek JAVA EA+GY 1. gyakolat

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, november 08.

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

6.21. Szállodai vendéglátás Hotel F&B gazdálkodás. 1.Szállodai vendéglátás sajátosságai. 2. Vendéglátás közvetlen személyi költségek F&B Payroll

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

Kazsik Ádám Programozás Technológia 1.

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Pincér Pincér

Tájékoztató. Használható segédeszköz: -

8. gyakorlat Pointerek, dinamikus memóriakezelés

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

Programozás I ZH, Név:... A. csoport EHA: pont Gyakorlatvezető:...

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Java és web programozás

Pincér Pincér

A dokumentáció felépítése

C++ programozási nyelv

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

Objektumelvű programozás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

500. AA Megoldó Alfréd AA 500.

Alkatresz::Alkatresz(string n; int csz, int a) { nev = n; cikkszam = csz; ar = a; };

Programozás I gyakorlat

Mercedes XENTRY Portal Pro interfész

II. labor Az alábbi osztálydiagram (2.10 ábra) alapján hozzuk létre a diagramban feltüntetett csomagokat, interfészt és osztályokat.

Tájékoztató. Használható segédeszköz: -

Programozási technológia I. programból! A Gomb4 megoldásból induljunk ki!

Tájékoztató. Használható segédeszköz: -

Adatszerkezetek 2. Dr. Iványi Péter

Forráskód formázási szabályok

Objektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben

Az állományok kezelésére használt fontosabb parancsok

HASZNÁLATI ÚTMUTATÓ. Készletérték feladás modul

Programozás C++ -ban 2007/7

Bevezetés a Warehouse Management azaz a raktárgazdálkodás rejtelmeibe

OOP. Alapelvek Elek Tibor

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

Objektumok inicializálása

Programozás 2. gyakorlat

Alkalmazott modul: Programozás

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

Programozási technológia I.

Programozási nyelvek II. JAVA

Pincér Pincér

MAGYAR KERESKEDELMI ÉS IPARKAMARA. Országos Szakmai Tanulmányi Verseny. Elődöntő KOMPLEX ÍRÁSBELI FELADATSOR MEGOLDÁSA

Youtube videó letöltés és konvertálás Linuxon

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

3. Osztályok II. Programozás II

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Tartalomjegyzék. Bevezetés I. rész: Ismerkedés a C#-pal fejezet: Első konzolos C#-alkalmazásunk elkészítése... 13

Java és web programozás

Telepközi alkatrész átadás több telephelyes DOAS rendszerben

A következő táblázat tartalmazza az egyes fajták jellemzőit.

Már megismert fogalmak áttekintése

Származtatási mechanizmus a C++ nyelvben

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Az Általános Forgalmi Adót érintő aktualitások. Dr. Lambertus József Ügyfélkapcsolati és Tájékoztatási Főosztály

InCash számlázó program és a Webshop Hun rendszer összekötése

ELTE SAP Excellence Center Oktatóanyag 1

ELTE, Informatikai Kar december 12.

Átírás:

Ballai Brigitta XG3077 gittacska91@gmail.com 2013.11.25. Dokumentáció 1. Beadandó feladat Feladat : A feladat egy kellően bonyolult osztálystruktúra megtervezése és implementálása Java nyelven. Minimális követelmények: Legalább 7 osztály vagy interfész. A program tartalmazzon származtatást, a származtatott osztályok objektumai legyenek polimorfikusan használva. A program tartalmazzon absztrakt osztályt vagy interfészt. A kódolási konvenciók betartása: az osztálynevek nagybetűvel, a metódusés változónevek kisbetűvel kezdődjenek, a formázás átlátható legyen, egy forrásfájlban egy osztálydefiníció legyen, stb... Az osztálystruktúrán kívül legyen egy tesztprogram (teszt osztály), ami "csinál valamit" (objektumokat példányosít, meghívja függvényeiket, állapotukról adatokat ír ki a standard outputra) a feladat témájának megfelelően. A legfontosabb: a modell funkcionalitása legyen logikailag jól széttagolva az osztályok és azok függvényei között. Nem elfogadható, ha az osztályok csak adatokat tárolnak, és minden lényegi munkát egy osztály valamely függvénye(i) végez(nek) el. Téma : Vendéglátás Vendéglátás: étterem, személy, pincér, vendég, szakács, áru, ital, étel. Létrehoz egy éttermet, és a bevételt méri néhány napot szimulálva. A vendégek elégedettségét befolyásolja az áruk minősége, és a kiszolgálás. Ha nem elégedettek, kevésbé valószínű, hogy visszamennek másnap az étterembe.

A programom összesen 4 csomagot tartalmaz, ezek közül a main, vagyis a főprogram az egyik. - main - ember - termek - hely ember Az ember-en belül létrehoztam a Személy fájlt, amiből származtatjuk a Vendéget és a Dolgozót. A Dolgozóból származtatjuk a Szakácsot és a Pincért. A Személy egyetlenegy adattagot tartalmaz, a nevet, mert csak ez a közös a három személyben. A Vendég létrehozásakor a konstruktora megkapja a nevét és a pénzmennyiségét, amennyit magával visz az étterembe. A pénzét le is kérdezhetjük vagy, ha elfogyott a pénze azt időközben újratölthetjük. Van két olyan adattagja, ami az elégedettségét állítja be. Az egyik(elegedettseg) a szakács és a pincér alapján, a másik(kajaelegedettseg) az elfogyasztott étel, ital minősége alapján állítódik be. Van egy olyan metódusa, ami a fizetést teszi lehetővé. Itt állítódik be az elégedettsége is. A Dolgozó konstruktorában a nevét, a munkatapasztalatát és a fizetését lehet megadni, majd a teljesítmény is beállítódik a ledolgozott évek alapján. Továbbiakban a fizetést és a munkatapasztalatot le lehet kérdezni. A Dolgozóból származó Szakács konstruktorában a nevét, a munkatapasztalatát és a fizetését adjuk meg. A Dolgozóból származó Pincér konstruktora is ugyanígy állítódik be, csak kap egy kedvesség adattagot. Az utóbbi azt jelzi, hogy a vendéggel mennyire tud egy barátságos viszonyt kialakítani. A Pincérhez hozzárendelünk egy Szakácsot, akivel együtt dolgozik. termek Tartalmaz egy absztrakt Aru osztályt, amiből származtatjuk az Italt és az Ételt. Az Áru rendelkezik a közös adattagokkal, a névvel, a beszerzési árral, az eladási árral és a minőségével. Ezeket az Áru létrehozásakor be is kell állítani. A mennyiség beállítása és lekérdezése absztrakt, mivel ezeket az étel és az ital esetén is másképp kell definiálni. Az Áru összes adattagját le lehet kérdezni. Az Etel az Aru ból származik. Az Áruból kapott adattagok mellett az adagot is meg kell adni. Itt a mennyiség beállítását és a lekérdezését felül kell definiálni, mert a mennyiséget adagba mérjük és egy étkezéshez egy adagot rendelünk. Az Ital is ezen a módon alakul, csak ott a mennyiség dl-ben mérődik és egy étkezésnél 2 dl üdítőt töltünk ki a vendégnek.

hely Ebben az Etterem osztály található, ami felhasználja termék és a személy osztályban található fájlokat. Ezt az elején az importálással jelezzük. Egy étterem létrehozásánál megkapja, hogy mennyi a befogadóképessége, meg mennyi az induló tőkéje. Továbbá beállítódik 4 tömb, amiben a vendégeket, a dolgozókat, az italokat és az ételeket tároljuk. A férőhely és a kassza lekérdezhető, de nem állítható. Rendelkezik egy olyan metódussal, amivel árut tudunk vásárolni. Megvizsgálja, hogy az adott áru ital vagy étel és ez alapján kiszámoljuk, hogy mennyibe kerül. Ha a kasszában van annyi pénzünk, akkor megvesszük és belerakjuk a neki megfelelő tömbbe. Van egy külön metódus arra, ha dolgozót felveszünk, ilyenkor a dolgozót a dolgozok tömbbe tároljuk el. Amikor a vendég eszik, akkor ennek a függvénynek az aktuális vendéget és a vendég rendelését adjuk meg paraméterül. Vizsgálatra kerül, hogy van-e hely az étteremben. Ha van, akkor megnézzük, hogy ez a vendég volt-e már az étteremben és hogy elégedett volt-e. Ha még nem volt az étteremben az elégedettsége 5-ről indul, mert az elején tetszik neki a hely. Ha volt már és az elégedettsége legalább 3, akkor beültetjük az étterembe, mint visszajáró vendéget, a programkódban hozzáadjuk a vendégek tömbjéhez. Megvizsgáljuk, hogy van-e az adott italból, ételből. Ha nincsen, akkor töröljük őket a nekik megfelelő tömbökből, de ha van, akkor leveszünk belőle megfelelő mennyiséget. A kassza pénzét növeljük az eladási árral számolva és a vendég pénzét csökkentjük. Itt feltételezzük, hogy a vendég, ha jön az étteremben, rendelkezik a megfelelő pénzmennyiséggel. Ha a vendég eltávozik, akkor a vendegmegy függvényt hívjuk meg átadva neki a megfelelő vendéget. Ezzel törlődik a vendegek tömbből. Ha ezt nem adjuk ki, akkor a bezár függvénynél, biztosítjuk, hogy az étterem kiürüljön a zárásra. Itt ha a vendégek tömbben van még elem, akkor törlésre kerül. A napi zárás metódusban az étterem dolgozóit fizetjük ki. main Létrehozunk egy éttermet egy bizonyos tőkével és férőhellyel. Ezután létrehozzuk a Szakácsokat és a Pincéreket, majd felvesszük őket. A Pincérekhez hozzárendeljük a Szakácsokat, akikkel fognak dolgozni. Létrehozzuk a vendégeket és az italokat, ételeket. Amikor elkezdődik az első nap, akkor megvásároljuk az árukat az étterem raktárába. Jönnek a vendégek, esznek, majd fizetnek és távoznak. Minden nap végén kiíratjuk a kasszában lévő pénzt. A program futása során kiíratom a vendégek elégedettségét és lehet látni, hogy lesz egy vendég, akinek 2-es lesz

ez az értéke és marad is, nem javul, ami azt jeleni, hogy ő már nem jár az étteremben. Lehet látni, hogy némelyik nap egy két vendégnek javul az elégedettsége annak köszönhetően, hogy jó pincér szolgálta fel és jó minőségű ételt kapott. A kassza alapján lehet látni, hogy egy vendég elvesztése után is nagyon jövedelmező az étterem, mivel több pénz van benne az ötödik nap végére, mint ahogy indult az étterem. A példaprogram 5 napon keresztül követi az étterem változását. Példaprogram :

Osztálydiagram : csomagok Etterem

Aru Szemely