A InfoWiki wikiből
(Változatok közti eltérés)
a (Új oldal, tartalma: „<cim cim3="#13 Diszkek, CD-k" cim2="OOP Gyakorlat" cim1="Magasszintű Programozási Nyelvek II" prev="mp4/page12" next="mp4/page14" kep="hz_csik.p...”) |
Aktuális változat (2010. február 5., 19:03) (lapforrás) a (Új oldal, tartalma: „<cim cim3="#13 Diszkek, CD-k" cim2="OOP Gyakorlat" cim1="Magasszintű Programozási Nyelvek II" prev="mp4/page12" next="mp4/page14" kep="hz_csik.p...”) |
Aktuális változat
Disk + CD-DVD R/W + File
Készítsünk el egy 'File' osztályt az alábbiak szerint:
- 'név' mező (a file neve, nem lehet üres)
- 'hossz' mező (a file mérete byte-okban, nem lehet negatív szám)
- 'masolat_e' mező (I/N, ez az eredeti file, vagy ez egy archivált másolat)
- 'konstruktor' amelyen keresztül a kezdőértékeket be lehet állítani
- property-k kellő módon, ahol szükséges
class file { protected string _neve; public string neve { set { if (value != null || value.Trim() != string.Empty) _neve = value; else throw new Exception("A neve hibás!"); } get { return _neve; } } protected int _meretbyteokban; public int meretbyteokban { set { if (value >= 0) _meretbyteokban = value; else throw new Exception("A mérete hibás!"); } get { return _meretbyteokban; } } protected bool masolate; public file(string aneve, int ameretbyteokban, bool amasolate) { neve = aneve; meretbyteokban = ameretbyteokban; masolate = amasolate; } }
Készítsünk el egy 'Hattertar' osztályt az alábbiak szerint:
- 'MaxKapacitas' mező (a háttértár maximális kapacitása byte-okban, nem lehet nulla vagy negatív). Az értékét a konstruktorban (illetve a formattálás során) lehet beállítani, később csak kiolvasni szabad.
- 'lista' egy lista a háttértáron aktuális tárolt 'File'-okról
- 'szabadKapacitas' csak olvasható property, mely megadja a háttértáron még rendelkezésre álló szabad kapacitás mértékét byte-okban
- 'Hozzaad(File f)' metódus, melyen keresztül file-t lehet a háttértárra másolni (hozzáadni). Ez legyen logikai típusú, jelezze hogy a másolás sikeres volt-e vagy sem. Nem sikeres a másolás, ha nem elégséges a szabad kapacitás a file méretéhez képest, illetve ha ilyen nevű file már van a háttértárolón.
- 'Formattalas(ujKapacitas)' metódus, mely törli a háttértár file listáját, és beállítja új maximális kapacitását.
Készítsünk el egy 'CD_DVD_RW' osztályt az alábbiak szerint:
- őse a 'Hattertar' osztály
- kapacitása csakis 4500 vagy 750 byte lehet
- 'Feliras()' metódus, mely a file-okat "kiírja" a CD-re vagy DVD-re. Felírás után file-ok listája nem módosítható (figyeljünk a 'Hozzaad(..)' metódus működésére), de 'Formattalas(...)' után újra kezdhetünk hozzáadni file-okat.
Készítsünk olyan főprogramot, amely példányosít egy háttértárat, és feltölti file-okkal, amelyek adatait a C:\hattertar.txt text file-ból olvassa be. Egy ilyen sor a fenti 3 értékből tevődik össze, a sorok száma legyen tetszőleges. Hasonlóan, példányosítson a CD_DVD_RW osztályból is, amelyet a C:\dvdrw.txt file-ból töltsön fel. Aztán keressünk olyan file-t a háttértáron, amely nem másolat, és másoljuk át a dvdrw-re (ott másolat legyen). Amikor már nem lehet a következő ilyen file-t hozzáadni a dvdrw-hez (vagy már nincs ilyen file), akkor a dvd-t írjuk fel.