SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU
ELEKTROTEHNIČKI FAKULTET OSIJEK
Marko Živković
NAPREDNO PROGRAMIRANJE
PROJEKTNI ZADATAK
SEMINARSKI RAD
Osijek, 2018.
Sadržaj:
1. Uvod..........................................................................................1
2. Opis zadatka ............................................................................2
2.1. Zadatak: ................................................................................................2
2.2. Opis:......................................................................................................2
3. Opis strukture aplikacije ........................................................3
3.1. Statička biblioteka ................................................................................3
3.2. Izvršna datoteka....................................................................................3
4. Opis primjena korištenih funkcija i struktura .....................4
4.1. Struktura ...............................................................................................4
4.2. Dvostruko povezana lista......................................................................4
4.3. Množenje ..............................................................................................5
4.4. Main......................................................................................................5
5. Prikaz ispisa i datotečne strukture aplikacije.......................6
6. Zaključak .................................................................................7
7. Kod............................................................................................8
7.1. main.c....................................................................................................8
7.2. dvostruko_povezana_lista.c – static library........................................14
7.3. dvostruko_povezana_lista.h – static library .......................................18
1
1. Uvod
U ovom seminarskom radu će se obraditi rješenje zadanog projektnog
zadatka. Pojasniti će se struktura same kodirane aplikacije, korištenje funkcija
i struktura u svrhu rješavanja zadatka, te njihova primjena u kodu. Prikazati će
se primjer ispisa, datotečna struktura, te kod aplikacije.
2
2. Opis zadatka
2.1. Zadatak:
Napraviti modul koji predstavlja dvostruko povezani popis. Modul treba
sadržavati funkcije za inicijalizaciju povezanog popisa, dodavanje elemenata u
povezani popis, brisanje n-tog elementa povezanog popisa, brisanje svih
elemenata povezanog popisa te ispis svih elemenata povezanog popisa. Modul
izvesti kao statičku biblioteku.
Napisati funkciju koja množi vrlo velike brojeve. Brojevi su predstavljeni
nizom svojih znamenaka.
Funkcija za množenje prima dva velika broja (sami izaberite kako će ti brojevi,
to jest nizovi njihovih znamenaka biti predstavljeni) i vraća novi broj koji
predstavlja njihov produkt.
2.2. Opis:
Potrebno je u statičku biblioteku izvesti sljedeće funkcije za dvostruko
povezane liste:
- Inicijalizacija
- dodavanje članova
- brisanje n-tog člana
- brisanje svih članova
- ispis dvostruko povezane liste
Tu statičku biblioteku koristiti za spremanje dva jako velika broja u
dvostruko povezane liste, te izvesti funkciju koja će ih pomnožiti. Umnožak se
sprema u treću dvostruko povezanu listu.
3
3. Opis strukture aplikacije
Aplikacija se sastoji od dva dijela:
- Statička biblioteka (static library)
- Izvršna datoteka (executable file)
3.1. Statička biblioteka
Statička biblioteka se sastoji od dvije međusobno povezane datoteke,
dvostruko_povezana_lista.c i dvostruko_povezana_lista.h. Datoteke su
povezane kodnim izrazima (#ifndef, #define, #endif, #include). Datoteka
dvostruko_povezana_lista.c u sebi sadrži izvedene sve zadane funkcije za
dvostruko povezanu listu, dok dvostruko_povezana_lista.h u sebi sadrži samo
definicije istih, te kreiranu strukturu.
3.2. Izvršna datoteka
Izvršna datoteka je povezana sa statičkom bibliotekom dvostruko
povezane liste kodnim izrazom (#include), te postavkama unutar programa
Eclipse (desni klik na projekt, Properties -> C/C++ Build -> Settings -> GCC
Linker -> Miscellaneous -> Other objects, te se doda datoteka ekstenzije .a
željene statičke biblioteke.)
Izvršna datoteka u sebi sadrži funkciju za množenje dvije dvostruko
povezane liste, te main funkciju koja je zadužena za izvršavanje funkcija, unos
brojeva i prikaz rezultata.
评论0