gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
sve iz starih verzija
[spa2-teorijske-vezbe.git] / Cas01 / RECNIKTE.MOD
diff --git a/Cas01/RECNIKTE.MOD b/Cas01/RECNIKTE.MOD
new file mode 100644 (file)
index 0000000..5358707
--- /dev/null
@@ -0,0 +1,116 @@
+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, RdKey, WrChar;\r
+  FROM Window IMPORT\r
+    Clear;\r
+\r
+  VAR\r
+    R: Recnik;\r
+    Rec, Prevod: String;\r
+    Izbor, Izb: CHAR;\r
+    Ok, Duplikat, Domaca, StrNaDom: BOOLEAN;\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
+    REPEAT\r
+      Izbor:= CAP(RdKey());\r
+    UNTIL Izbor IN Slova {'P', 'B', 'U', 'I', 'S', 'Q'};\r
+    Clear;\r
+  END Meni;\r
+\r
+  PROCEDURE Pauza;\r
+    VAR\r
+      Ch: CHAR;\r
+  BEGIN\r
+    Ch:= RdKey();\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:= RdKey();\r
+             WrChar(Izb); 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('Da li je uneta rec domaca ili strana? (d/s)  ');\r
+             Izb:= RdKey();\r
+             WrLn;\r
+           UNTIL (CAP(Izb) = 'D') OR (CAP(Izb) = 'S');\r
+           Domaca:= CAP(Izb) = 'D';\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
+    END;\r
+  UNTIL Izbor = 'Q';\r
+  Unisti(R);\r
+END RecnikTest.\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner