gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Reorganizacija strukture foldera.
[spa2-teorijske-vezbe.git] / 01. Dvosmerni recnik / XDS / RECNIKTEST.MOD
diff --git a/01. Dvosmerni recnik/XDS/RECNIKTEST.MOD b/01. Dvosmerni recnik/XDS/RECNIKTEST.MOD
new file mode 100644 (file)
index 0000000..e1b97a2
--- /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
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner