MODULE RecnikTest; FROM RecnikATP IMPORT String, Recnik, Inicijalizuj, Ubaci, Izbaci, Sadrzaj, Prevedi, Unisti; FROM IO IMPORT WrLn, WrStr, RdStr, WrCard, RdKey, WrChar; FROM Window IMPORT Clear; VAR R: Recnik; Rec, Prevod: String; Izbor, Izb: CHAR; Ok, Duplikat, Domaca, StrNaDom: BOOLEAN; PROCEDURE Meni(VAR Izbor: CHAR); TYPE Slova = SET OF CHAR; VAR i: CARDINAL; BEGIN Clear; FOR i:= 1 TO 8 DO WrLn; END; WrStr(' P --- prevod reci'); WrLn; WrStr(' B --- broj reci u recniku'); WrLn; WrStr(' U --- ubacivanje nove reci i njenog prevoda u recnik'); WrLn; WrStr(' I --- izbacivanje reci i njenog prevoda iz recnika'); WrLn; WrStr(' S --- sekvencijalni prikaz recnika'); WrLn; WrStr(' Q --- kraj rada'); REPEAT Izbor:= CAP(RdKey()); UNTIL Izbor IN Slova {'P', 'B', 'U', 'I', 'S', 'Q'}; Clear; END Meni; PROCEDURE Pauza; VAR Ch: CHAR; BEGIN Ch:= RdKey(); END Pauza; BEGIN Inicijalizuj(R); REPEAT Meni(Izbor); CASE Izbor OF 'P': REPEAT WrStr('1) prevod strane reci'); WrLn; WrStr('2) prevod domace reci'); WrLn; WrLn; WrStr("Unesite '1' ili '2' --- "); Izb:= RdKey(); WrChar(Izb); WrLn; UNTIL (Izb = '1') OR (Izb = '2'); StrNaDom:= Izb = '1'; IF StrNaDom THEN WrStr('Unesite stranu rec ---- '); RdStr(Rec); Prevedi(StrNaDom, Rec, Prevod, R, Ok); IF Ok THEN WrStr('Prevod ---------------- '); WrStr(Prevod); ELSE WrStr('Zadata rec se ne nalazi u recniku.'); END; ELSE WrStr('Unesite domacu rec ---- '); RdStr(Rec); Prevedi(StrNaDom, Rec, Prevod, R, Ok); IF Ok THEN WrStr('Prevod ---------------- '); WrStr(Prevod); ELSE WrStr('Zadata rec se ne nalazi u recniku.'); END; END; Pauza; | 'B': WrStr('Recnik raspolaze fondom od '); WrCard(R.BrojReci, 1); WrStr(' reci.'); Pauza; | 'U': WrStr('Unesite novu domacu rec ----- '); RdStr(Rec); WrStr('Unesite njen prevod -------- '); RdStr(Prevod); Ubaci(Rec, Prevod, R, Duplikat); IF Duplikat THEN WrStr('U recniku se vec nalazi data rec.'); ELSE WrStr('Upisano.'); END; Pauza; | 'I': WrStr('Unesite rec --- '); RdStr(Rec); REPEAT WrStr('Da li je uneta rec domaca ili strana? (d/s) '); Izb:= RdKey(); WrLn; UNTIL (CAP(Izb) = 'D') OR (CAP(Izb) = 'S'); Domaca:= CAP(Izb) = 'D'; Izbaci(Rec, R, Domaca, Ok); IF Ok THEN WrStr('Izbrisano.') ELSE WrStr('Rec se nije ni nalazila u recniku.') END; Pauza; | 'S': Sadrzaj(R); Pauza; END; UNTIL Izbor = 'Q'; Unisti(R); END RecnikTest.