gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control systemdiff --git a/01. Dvosmerni recnik/XDS/RECNIKTEST.MOD b/01. Dvosmerni recnik/XDS/RECNIKTEST.MOD
--- /dev/null
@@ -0,0 +1,141 @@
+MODULE RecnikTest;\r
+\r
+ FROM RecnikATP IMPORT\r
+ String, Recnik, Inicijalizuj, Ubaci, Izbaci, Sadrzaj, Prevedi, Unisti;\r
+ FROM IO IMPORT\r
+ WrLn, WrStr, RdStr, WrCard, RdChar, WrChar, RdInt;\r
+\r
+\r
+ VAR\r
+ R: Recnik;\r
+ Rec, Prevod: String;\r
+ Izbor: CHAR;\r
+ Izb : INTEGER;\r
+ Ok, Duplikat, Domaca, StrNaDom: BOOLEAN;\r
+\r
+PROCEDURE Clr(r : CARDINAL);\r
+VAR\r
+ i : CARDINAL;\r
+BEGIN\r
+ FOR i:=1 TO r DO\r
+ WrLn;\r
+ END;\r
+END Clr;\r
+\r
+PROCEDURE Clear();\r
+BEGIN\r
+ Clr(40);\r
+END Clear;\r
+\r
+ PROCEDURE Meni(VAR Izbor: CHAR);\r
+ TYPE\r
+ Slova = SET OF CHAR;\r
+ VAR\r
+ i: CARDINAL;\r
+ BEGIN\r
+ Clear;\r
+ FOR i:= 1 TO 8 DO\r
+ WrLn;\r
+ END;\r
+ WrStr(' P --- prevod reci'); WrLn;\r
+ WrStr(' B --- broj reci u recniku'); WrLn;\r
+ WrStr(' U --- ubacivanje nove reci i njenog prevoda u recnik'); WrLn;\r
+ WrStr(' I --- izbacivanje reci i njenog prevoda iz recnika'); WrLn;\r
+ WrStr(' S --- sekvencijalni prikaz recnika'); WrLn;\r
+ WrStr(' Q --- kraj rada');\r
+ Clr(7);\r
+ REPEAT\r
+ Izbor:= CAP(RdChar());\r
+ UNTIL Izbor IN Slova {'P', 'B', 'U', 'I', 'S', 'Q'};\r
+ Clear;\r
+ END Meni;\r
+\r
+ PROCEDURE Pauza;\r
+ VAR\r
+ c: CHAR;\r
+ BEGIN\r
+ WrLn;\r
+ WrStr('Enter za nastavak');WrLn;\r
+ (* visak RdChar-ova zbog Entera i sl *)\r
+ c := RdChar();\r
+ c := RdChar();\r
+ c := RdChar();\r
+ END Pauza;\r
+\r
+BEGIN\r
+ Inicijalizuj(R);\r
+ REPEAT\r
+ Meni(Izbor);\r
+ CASE Izbor OF\r
+ 'P': REPEAT\r
+ WrStr('1) prevod strane reci'); WrLn;\r
+ WrStr('2) prevod domace reci'); WrLn;\r
+ WrLn;\r
+ WrStr("Unesite '1' ili '2' --- ");\r
+ Izb:= RdInt();\r
+ WrLn;\r
+ UNTIL (Izb = 1) OR (Izb = 2);\r
+ StrNaDom:= Izb = 1;\r
+ IF StrNaDom THEN\r
+ WrStr('Unesite stranu rec ---- ');\r
+ RdStr(Rec);\r
+ Prevedi(StrNaDom, Rec, Prevod, R, Ok);\r
+ IF Ok THEN\r
+ WrStr('Prevod ---------------- ');\r
+ WrStr(Prevod);\r
+ ELSE\r
+ WrStr('Zadata rec se ne nalazi u recniku.');\r
+ END;\r
+ ELSE\r
+ WrStr('Unesite domacu rec ---- ');\r
+ RdStr(Rec);\r
+ Prevedi(StrNaDom, Rec, Prevod, R, Ok);\r
+ IF Ok THEN\r
+ WrStr('Prevod ---------------- ');\r
+ WrStr(Prevod);\r
+ ELSE\r
+ WrStr('Zadata rec se ne nalazi u recniku.');\r
+ END;\r
+ END;\r
+ Pauza; |\r
+ 'B': WrStr('Recnik raspolaze fondom od ');\r
+ WrCard(R.BrojReci, 1);\r
+ WrStr(' reci.');\r
+ Pauza; |\r
+ 'U': WrStr('Unesite novu domacu rec ----- ');\r
+ RdStr(Rec);\r
+ WrStr('Unesite njen prevod -------- ');\r
+ RdStr(Prevod);\r
+ Ubaci(Rec, Prevod, R, Duplikat);\r
+ IF Duplikat THEN\r
+ WrStr('U recniku se vec nalazi data rec.');\r
+ ELSE\r
+ WrStr('Upisano.');\r
+ END;\r
+ Pauza; |\r
+ 'I': WrStr('Unesite rec --- ');\r
+ RdStr(Rec);\r
+ REPEAT\r
+ WrStr('uneta rec je'); WrLn;\r
+ WrStr('1) strana'); WrLn;\r
+ WrStr('2) domaca'); WrLn;\r
+ WrLn;\r
+ WrStr("Unesite '1' ili '2' --- ");\r
+ Izb:= RdInt();\r
+ WrLn;\r
+ UNTIL (Izb = 1) OR (Izb = 2);\r
+ Domaca:= Izb = 1;\r
+ Izbaci(Rec, R, Domaca, Ok);\r
+ IF Ok THEN\r
+ WrStr('Izbrisano.')\r
+ ELSE\r
+ WrStr('Rec se nije ni nalazila u recniku.')\r
+ END;\r
+ Pauza; |\r
+ 'S': Sadrzaj(R);\r
+ Pauza|\r
+ ELSE ;\r
+ END;\r
+ UNTIL Izbor = 'Q';\r
+ Unisti(R);\r
+END RecnikTest.\r