Palacsintasütés Szimuláció

Beadási határidő:
2010. december 15. 23:59
A második zárthelyi dolgozatnak (és a tárgy teljesítésének) előfeltétele az elfogadott beadandó.
Teszt főprogram Teszt alaprecept

A feladat rövid ismertetése

Olyan programot szeretnénk készíteni, amellyel háromféle hozzávalóból (liszt, tej, tojás) palacsintatésztát tudunk összeállítani, majd lekérdezni az egyes hozzávalók arányát, és azt, hogy ezek az arányok a fájlból beolvasott alaprecepthez képest csak elfogadható mértékben térnek-e el. Ha igen, akkor jó a tésztánk, és le tudjuk kérdezni, hogy egy adott sugarú kör alakú serpenyővel hány darab adott vastagságú palacsinta süthető ki (feltételezzük, hogy a kisült palacsinta ugyanolyan vastag lesz, mint a nyers tészta, amiből sütjük). Ehhez készíteni kell majd egy interaktív konzolos felületet, amely lehetővé teszi a hozzávalók hozzáadását, és a minket érdeklő adatok lekérdezését.

A feladat részletes ismertetése

Ebben az ismertetésben az osztályok, valamint a minimálisan szükséges metódusok leírásai fognak szerepelni. A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat. Segédfüggvények természetesen létrehozhatóak (ezekre lesz is pár ajánlás a feladat szövegében), az adattagok és elnevezéseik is a feladat megoldójára vannak bízva. A következő osztályok a "sutes" nevű csomagba legyenek elhelyezve.

Hozzavalo absztrakt osztály

A Tej, Tojas és Liszt osztályok a Hozzavalo absztrakt osztályból származnak, közös tulajdonságaik a következők:

Serpenyo osztály

Egy kör alakú serpenyőt reprezentál, egyetlen adattagja a serpenyő double típusú sugara (cm-ben megadva), amelyet a konstruktornak átadott paraméterrel lehet beállítani és egy getSugar nevű metódussal lekérdezni.

PalacsintaTeszta osztály

Main osztály

A "sutes" csomagon kívülről a programot lehet tesztelni a megadott tesztprogrammal. Nektek egy teljesen másik Main nevű főprogramot kell létrehoznotok, amely a lentieknek megfelelően működik.

Kezdetben létrehoz egy üres palacsintatésztát, majd a következő menüt kapjuk:

1) Hozzavalo hozzaadasa
2) Hozzavalo aranyanak lekerdezese
3) Teszta kisutese
4) Kilepes

Az 1)-es pontnál kérjen be először egy hozzávaló nevet (a "liszt", "tej", "tojas" valamelyikét fogadhatja el), majd a mennyiséget. Ha valamelyik adat nem stimmel, írjon ki hibaüzenetet, és írja ki újra a menüt.

A 2)-es pontnál kérjen be egy hozzávalót a fentiek szerint, és írja ki a tésztában található arányát, majd írja ki újra a menüt.

A 3)-as pontnál kérjük be a serpenyű sugarának méretét és a kisütendő palacsinták vastagságát, ezután írjuk ki, mennyi palacsintát tudtunk sütni a tésztából, majd kapjuk vissza a menüt. Ha sütés sikertelen volt, kapjuk el a hozzá tartozó kivételt, írjuk ki hibaüzenetet, majd jelenjen meg a menü.

A 4)-essel befejeződik a program futása.

Ha nem 1 és 4 közötti számot gépelünk be, egy hibaüzenet után írja ki újra a menüt.

Melléklet: az alapteszta.txt formátuma

1. sor: a recept megnevezése (a mi szempontunkból nem lényeges).

A következő 3 sor: