Választható házi feladatok

 

 

1. Analóg számlapú óra készítése óra/perc/másodpercmutatókkal. A számlapnak ki kell töltenie a program főablakát, mely átméretezhető nagyságú. A program egy kerek ablakban jelenjen meg (SetWindowRgn függvény használható).

2. Egy Notepad-szerű szövegszerkesztő program írása file load/save opciókkal.

3. Egyszerű rajzolóprogram írása a következő funkciókkal:

-     szabadkézi/vonal/négyzet/ellipszis rajzolás

-     négyzet/ellipszis rajzolás kitöltéssel vagy anélkül

-     ceruzavastagság választhatóság

4. Program készítése, amely a kiválasztott háttértároló eszköz (floppy, hdd) szabad/foglalt helyét mutatja kördiagramon.

5. Szabványos Windows bitmap file megnyitása, méretezhető ablakban történő megjelenítése. File info lekérdezési lehetőség (felbontás, színek száma, stb.). A program kezeljen legalább egyfajta tömörített formátumot is (RLE, JPEG, PNG).

6. Media player program írása, amely szabványos Windows .wav audio file-okat tud megnyitni és lejátszani (play/stop funkciók). File info lekérdezési lehetőség (hossz, csatornák száma, sampling rate stb.).

7. Képernyővédő program írása. Megvalósítható szabványos screen-saver függvényekkel vagy egyszerű Windows timerrel.

8. File konverziós program írása, ami egy szabványos Windows bitmap formátumú file-t tud egy tetszőlegesen választható egyéb formátumba konvertálni (PCX, GIF, JPEG, TIFF, stb.).

9. Media player program írása video file lejátszására. A program egy tetszőlegesen kiválasztható video formátum ablakban történő megjelenítésére legyen alkalmas (pl. tömörítetlen AVI formátum).

10.Egy egyváltozós függvény ábrázolására képes program megírása. A függvényértékeket pl. bináris file-ból olvashatja a program. Az ábrázolás egy méretezhető ablakban történjen x, y koordinátatengelyeken.

11.Egy kétváltozós függvény ábrázolására képes program megírása. A függvényértékek bináris file-ban legyenek megadva. Az ábrázolás egy méretezhető ablakban történjen axonometrikus formában.

12.Négy alapműveletes kalkulátort megvalósító program írása.

13.A Naprendszer animált megjelenítése egy (méretezhető) ablakban (Nap, bolygók, Hold). Az animációs sebesség változtatható legyen.

14.Icon editor program készítése. A program standard 32*32 pixel méretű icon megnyitására, szerkesztésére, elmentésére legyen képes.

15.Hex-dump program írása. A program legyen képes megnyitni egy tetszőleges file-t, és egy scrollozható ablakban jelenítse meg a szokásos hexadecimális dump formátumban.(pl. Cím, 16 byte adat, karakter megfelelője)

16.Text-print program: a programban legyen lehetőség egy szöveges formátumú file megnyitására és kinyomtatására.

17.Multi-thread applikáció írása, amelyben a főablak menüjéből indítható el tetszőleges számú thread, melyek valamilyen szabadon választható feladatot hajtanak végre egy saját ablakban. (pl. minden thread egy golyó rugalmas ütközését szimulálja az ablakban.)

18.Tömörítő program készítése. A program legyen képes megnyitni egy tetszőleges file-t, és azt tömörített formában elmenteni, vagy egy tömörített file-t kibontani. Tetszőleges tömörítési algoritmus választható.

19.Titkosító program készítése. A program legyen képes megnyitni egy tetszőleges file-t, és azt titkosított (pl. password-del védett) formában elmenteni, vagy egy védett file-t kibontani. Tetszőleges algoritmus választható.

20.Windows applikáció készítése egyedi (nem standard téglalap alakú) ablakkal, valamilyen grafikát alkalmazva háttérként.

21.Windows applikáció készítése, amely képes adatokat küldeni ugyanezen applikáció egy második futó példányának az ablakába. (Legyen pl. egy Start Send és egy Start Receive menüpont.) Az átküldött adat lehet egyszerűen egy számláló értéke, amit az adó és a vevő megjelenít.

22.Egy tetszőleges grafikus felülettel rendelkező játékprogram megvalósítása.

23.Media player program írása, amely szabványos midi file-okat tud megnyitni és lejátszani (play/stop funkciók).

24.Szabványos Windows/Enhanced metafile megnyitása, méretezhető ablakban történő megjelenítése. File info lekérdezési lehetőség.

25.Egy tetszőleges képfeldolgozási algoritmus megvalósítása (pl. élkeresés, kontraszt kiemelés, vágás, stb.).

A műveletet a képernyőn láthatóan kell elvégezni. A program az egyszerűség kedvéért dolgozhat egy bináris file-ban megadott nem szabványos képpel, source file-ban tárolt bitmap-el, vagy tetszőleges szabványos file-formátummal (BMP, GIF, stb.)

26.Animációs program készítése, amely valamilyen előre elkészített képsorozatot le tud játszani változtatható sebességgel. Az egyes képkockák bármilyen formátumúak lehetnek, pl. BMP, PCX, GIF, metafile vagy egyedi, illetve resource file-ban tárolt bitmap.

27.Drótváz ábra megjelenítése forgatható, zoomolható formában. A drótváz egy egyénileg kiválasztható formátumú file-ban legyen tárolva, pl. kezdőpont, x, y koordinátapárokkal.

28."Interaktív" kép kezelése. A program jelenítsen meg egy képet egy ablakban, amelynek bizonyos területei felett az egér kurzor aktívvá válik, és kattintásra megváltozik a képtartalom azon a helyen. A kép betöltése tetszőleges forrásból történhet.

29.Olyan program készítése, amelyik "System Info" jellegű adatokat szolgáltat a számítógépről:

-     floppy/hard drive info

-     memória

-     video info

-     processzor típus

-     Windows verzió

--   stb.

30. Olyan program írása, amelyik az applikáció egyik ablakának grafikus képtartalmát szabványos Windows bitmap formátumban el tudja menteni. Az ablakot töltse fel valamilyen egyszerű GDI grafikával az ellenőrizhetőség érdekében.

31. Olyan program írása, amelyik a teljes képernyő grafikus képtartalmát szabványos Windows bitmap formátumban el tudja menteni.

32. Az egérmozgást figyelő és rögzítő program készítése, amelyik képes a háttérben futva minden egérre vonatkozó adatot tárolni (pozíció, művelet típus (move/click/doubleclick), timestamp) és a tárolt adatokat grafikus formában megjeleníteni.

34. Nevezetes valószínűség-eloszlásokat generáló és megjelenítő program.

35. Szabadon választott feladat, egyéni megbeszélés szerint.

 

Megjegyzés:

A programok megírásánál törekedni kell az API függvényhívások használatára. Lehetőség van MFC alapú programot írni, de a komplex feladatok megoldását biztosító osztályok használata nem megengedett olyan feladatokban, ahol a cél annak a bizonyos komplex feladatnak a leprogramozása. (pl. a szövegszerkesztő programban nem használható egy rich-edit control). A feladatokat a komplett project fileokkal, forráskóddal együtt kell beadni.