ispitni zadatak - autori kategorije clanci.ppt
TRANSCRIPT
Primjer ispitnog zadatka
ČLANCI
Zadatak
Napišite program za pronalaženje i ispis članaka iz različitih kategorija i različitih autora. Podaci se nalaze u tri indeks-sekvencijalne datoteke: AUTORI.DAT, KATEGORIJE.DAT i CLANCI.DAT .
Izgled sloga datoteka
AUTORI.DAT
polje opis tip
sif_autor šifra autora int
prez_ime prezime i ime autora char [35]
KATEGORIJE.DAT
polje opis tip
sif_kateg šifra kategorije int
naziv_kat naziv kategorije char [25]
prikaz način prikaza int
CLANCI.DAT
polje opis tip
sif_clanka šifra članka int
kategorija šifra kategorije int
autor šifra autora int
naslov naslov članka char[50]
tekst tekst članka char [3000]
Model podataka
AUTORI ČLANCI KATEGORIJE
ŠIFRA AUTORA(sif_autor,autor)
ŠIFRA KATEGORIJE(kategorija,sif_kateg)
1 0..N 0..N 1
KLASEZa svaki entitet potrebno je definirati
odgovarajuću klasu:
AUTORI - cautori
ČLANCI - cclanci
KATEGORIJE - ckategorije
• podatkovni članovi svake od ovih klasa definiraju izgled sloga odgovarajućih datoteka
• koristi se klasa cindeks za rad s indeksnim datotekama
Datotečni objektiZa svaki entitet potrebno je definirati i
odgovarajući datotečni objekt:
dat_autori – datoteka autora
dat_clanaka – datoteka članaka
dat_kategorija – datoteka kategorija
- indeksne datoteke – prema traženim ispisima
Funkcionalnosti programa
a.) Za zadanog autora (unosi se s tipkovnice šifra autora) ispisati slijedeće podatke:
- prezime i ime autora
- popis kategorija u kojima je autor pisao
prezime i ime autora- potrebna je indeksna datoteka autora
(ključ:sif_autora)
- unutar klase cautori definirati metodu ispis
- ispis se sastoji od:
- otvaranja obje datoteke (indeksna i matična)
- pretraživanja indeksa pomoću metode trazi iz klase cindeks
- pozicioniranja u matičnoj datoteci, čitanja sloga i ispisa prezimena i imena
popis kategorija zadanog autora• potrebna su sva tri entiteta (datoteke)
• potrebne su indeksna datoteka članaka (ključ:autor) i indeksna datoteka kategorija (ključ:kategorija)
(unutar metode ispis)
- pretraživanje indeksa članaka pomoću metode trazi iz klase cindeks (početak=1, jer može biti više pojava zadane vrijednosti šifre autora)
• za svaku nađenu šifru autora – pročitati slog iz datoteke članaka– pomoću metode trazi pretražiti indeksnu
datoteku kategorija (traži se šifra kategorije, pročitana u datoteci članaka)
– pročitati slog iz datoteke kategorija i ispisati naziv kategorije
b.) Za zadanu kategoriju i autora (šifre kategorije i autora unose se s tipkovnice) ispisati sve radove. Za svaki rad ispisuju se slijedeći podaci:
- prezime i ime autora
- naziv kategorije
- naslov rada
prezime i ime autora
koristi se indeksna datoteka autora (ključ:sif_autora)
- unutar klase cautori definirati metodu popis_clanaka
- ispis se sastoji od:
- pretraživanja indeksa pomoću metode trazi iz klase cindeks
- pozicioniranja u matičnoj datoteci, čitanja sloga i ispisa prezimena i imena
naziv kategorije
• koristi se indeksna datoteka kategorija (kljuc: sif_kateg)
- pretraživanja indeksa pomoću metode trazi iz klase cindeks
- pozicioniranja u matičnoj datoteci, čitanja sloga i ispisa naziva kategorije
naslovi radova
• koristi se indeksna datoteka članaka (ključ:autor)
• pretraživanje indeksa članaka pomoću metode trazi iz klase cindeks (početak=1, jer može biti više pojava zadane vrijednosti šifre autora)
• za svaku nađenu šifru autora – pročitati slog iz datoteke članaka– ispisati naslov članka
c.) Za zadanu kategoriju (unosi se s tipkovnice šifra kategorije) ispisati popis radova.
Potrebno je ispisati naziv kategorije, a zatim ispisati za svaki rad:
- prezime i ime autora
- naslov članka
naziv kategorije- potrebna je indeksna datoteka kategorija
(ključ:sif_kateg)
- unutar klase ckategorije definirati metodu ispis_autora
- ispis se sastoji od:
- pretraživanja indeksa pomoću metode trazi iz klase cindeks
- pozicioniranja u matičnoj datoteci, čitanja sloga i ispisa naziva kategorije
naslov članka
• potrebna su sva tri entiteta (datoteke)• potrebne su indeksna datoteka članaka
(ključ:kategorija) i indeksna datoteka autora (ključ:sif_autor)
(unutar metode ispis_autora)
- pretraživanje indeksa članaka pomoću metode trazi iz klase cindeks (početak=1, jer može biti više pojava zadane vrijednosti šifre kategorije)
• za svaku nađenu šifru kategorije – pročitati slog iz datoteke članaka– pomoću metode trazi pretražiti indeksnu
datoteku autora (traži se šifra autora, pročitana u datoteci članaka)
– pročitati slog iz datoteke kategorija i ispisati naziv kategorije
Model podataka
AUTORI ČLANCI KATEGORIJE
ŠIFRA AUTORA(sif_autor,autor)
ŠIFRA KATEGORIJE(kategorija,sif_kateg)
1 0..N 0..N 1
sif_autor autor kategorija sif_kateg