Quote (anyd @ Dec 17 2012 07:38pm)
Szociális hálózat adatbázis
A 2. csoport nagy házi feladata egy szociális hálózatot kezelő, hatékony adatbázis elkészítése. (magyarul: erősen butított Facebook/iWiW/Google+ stb. adatbázis).
Elöljáróban: nem kell megijedni, nem kell minden feladatot megcsinálni! :-)
A házi feladathoz megadunk egy interfészt (egy .hpp fájlt a publikus függvények deklarációjával). Ezt a fájlt ki lehet egészíteni, hozzá lehet írni, és lehet benne használni saját modulokat (pl. saját piros-fekete fát) is. Az fontos, hogy a függvénydeklarációkban semmilyen lényegi változtatás ne történjen, mert a helyesség tesztelését nagyrészt automatikusan fogjuk megoldani: a hpp fájlban deklarált függvényeket fogjuk egy tesztelő programban meghívni, és megnézzük, hogy ugyanazt az eredményt adja-e a ti modulotok, mint az általunk megírt modul.
A házi feladat tetszőleges adatszerkezettel elkészíthető, a lényeges, hogy az általunk kiadott interfésznek megfelelő módon fogadja az utasításokat és küldje vissza az eredményeket.
Viszont fontos, hogy minél jobb adatszerkezetet válasszatok: a programotokat nagy mennyiségű adattal fogjuk tesztelni, és mérni fogjuk, hogy mennyi idő alatt fut le. Természetesen a gyorsabb megoldás több pontot jelent. Például, ha egy hatékony piros-fekete fát használtok keresésre, akkor több pontot fogtok kapni, mint ha egy tömbben tároljátok el a keresendő elemeket, és egyesével lépkedtek végig rajtuk.
A házi feladat pontozása két részben történik: van egy mindenki által kötelezően megírandó alap, amire a pontszám 50%-át lehet kapni, és vannak extra feladatok, amelyekből tetszőlegesen lehet választani, hogy mit szeretnétek megcsinálni. Ezekre maximum 70% kapható, azaz legfeljebb 120%-os végeredményt lehet elérni.
A feladatok mellett megadott pontszám egy átlagos hatékonyságú kódra vonatkozik, ettől pozitív és negatív irányban is eltérhet a kapott pont a futási időtől és a megvalósítástól függően.
Néhány szó a rendszerről:
A személyeket egy mindenkinél egyedi, a “regisztrációkor” (személy hozzáadásánál) a felhasználó által megadott tetszőleges szöveges azonosítóval azonosítjuk. (Ez általában e-mail-cím, de nincsen rá semmilyen formai követelmény.)
A bejegyzések ideje nem, de a sorrendisége számít. Azaz ha egy bejegyzés hamarabb készült, mint egy másik, akkor annak hamarabb kell szerepelnie a listában, de az idő nem jelenik meg sehol.
Ha egy funkció nincs megírva, akkor a függvény dobjon egy not_implemented() kivételt!
A rendszert nem fogjuk hibás bemenő adatokkal tesztelni (azaz ismétlődő azonosítóval, kitörölt poszt ismételt törlésével stb.). Ennek ellenére jó, ha nem száll el a program ilyen esetekben sem.
add be ezt:
#include<conio.h>
#include<stdio.h>
main()
{
int x;
printf ("penis size:");
printf ("\n length: 200 mm");
printf ("\n diameter: lőcs kategória ");
printf ("\n hányast fogok kapni erre a beadandóra?");
scanf ("%d", &x);
if(x!=5) printf ("\n A faszomat a picsádba verem");
if(x==5) printf ("\n Szerencséd van köcsög");
getch();
}