Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 6.42 KB | None | 0 0
  1. program AlexVerb;
  2.   uses Crt;
  3.   const head='ЙНННННННЛННННЛНННННЛНННННЛННННННЛНННН»';
  4.  
  5.     opisanie='єIntegerєRealєChar1єChar2єStringєRealє';
  6.  
  7.       kstrok='МНННННННОННННОНННННОНННННОННННННОНННН№';
  8.  
  9.      content='є       є    є     є     є      є    є';
  10.  
  11.       footer='ИНННННННКННННКНННННКНННННКННННННКННННј';
  12.  
  13.       M=20;
  14. type
  15. z=record
  16.         c: array [1..2] of char;
  17.         d: string[3];
  18.         e: real;
  19. end;
  20.  
  21. TRec=record
  22.            a: integer;
  23.            b: real;
  24.            v: z;
  25. end;
  26.  
  27. ptrList=^TList;
  28.  
  29. TList=record
  30. inf: TRec;
  31. next:ptrList;
  32. end;
  33.  
  34. var
  35. n:integer;
  36. vibor: byte;
  37. rec: array[1..M] of TRec;
  38. pList:ptrList;
  39.  
  40. procedure wait;
  41. begin
  42. writeln;
  43. writeln('Nazhmite lybyu klavishy');
  44. readkey;
  45. end;
  46.  
  47. procedure CreateList;
  48. var
  49.         p1,p2:ptrList;
  50.         i:integer;
  51.         rec: TRec;
  52. begin
  53.  ClrScr;
  54.  writeln(head);
  55.  writeln(opisanie);
  56.  
  57.  
  58.  
  59.  {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  60.  i:=1;
  61.  gotoXY(1,i*2+1);
  62.   writeln(kstrok);
  63.   writeln(content);
  64.   gotoXY(2,i*2+2);
  65.  
  66.   readln(rec.a);
  67.  
  68.   gotoXY(10,i*2+2);
  69.   readln(rec.b);
  70.  
  71.   gotoXY(15,i*2+2);
  72.   readln(rec.v.c[1]);
  73.  
  74.   gotoXY(21,i*2+2);
  75.   readln(rec.v.c[2]);
  76.  
  77.   gotoXY(27,i*2+2);
  78.   readln(rec.v.d);
  79.  
  80.   gotoXY(34,i*2+2);
  81.   readln(rec.v.e);
  82.  
  83.   new(p1);
  84.   p1^.inf := rec;
  85.   p1^.next := nil;
  86.   pList := p1;
  87.  
  88.  
  89.  {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  90. for i:=2 to n do
  91.  begin
  92.   gotoXY(1,i*2+1);
  93.   writeln(kstrok);
  94.   writeln(content);
  95.   gotoXY(2,i*2+2);
  96.  
  97.   readln(rec.a);
  98.  
  99.   gotoXY(10,i*2+2);
  100.   readln(rec.b);
  101.  
  102.   gotoXY(15,i*2+2);
  103.   readln(rec.v.c[1]);
  104.  
  105.   gotoXY(21,i*2+2);
  106.   readln(rec.v.c[2]);
  107.  
  108.   gotoXY(27,i*2+2);
  109.   readln(rec.v.d);
  110.  
  111.   gotoXY(34,i*2+2);
  112.   readln(rec.v.e);
  113.  
  114.   {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  115.      new(p1^.next);
  116.      p1 := p1^.next;
  117.      p1^.next := nil;
  118.      p1^.inf := rec;
  119.  
  120.      {!!!!!!!!!!!!!!!!!!!!!!!!!}
  121. end;
  122.   gotoXY(1,i*2+3);
  123.   writeln(footer);
  124.  wait;
  125. end;
  126.  
  127. procedure ViewList;
  128. var
  129. p1:ptrList;
  130. i:integer;
  131. rec:TRec;
  132. begin
  133. ClrScr;
  134. writeln(head);
  135. writeln(opisanie);
  136. p1:=pList;
  137.  
  138. {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  139. i:=1;
  140. {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  141.  
  142.  
  143. while p1<>nil do begin
  144.         {/////////////////////////////}
  145.         rec := p1^.inf;       {!!!!!!!!!!!!!!}
  146.         {//////////////////////////////}
  147.  
  148.         gotoXY(1,i*2+1);
  149.   writeln(kstrok);
  150.   writeln(content);
  151.  
  152.   gotoXY(2,i*2+2);
  153.   writeln(rec.a);
  154.  
  155.   gotoXY(10,i*2+2);
  156.   writeln(rec.b:1:1);
  157.  
  158.   gotoXY(15,i*2+2);
  159.   writeln(rec.v.c[1]);
  160.  
  161.   gotoXY(21,i*2+2);
  162.   writeln(rec.v.c[2]);
  163.  
  164.   gotoXY(27,i*2+2);
  165.   writeln(rec.v.d);
  166.  
  167.   gotoXY(34,i*2+2);
  168.   writeln(rec.v.e:1:1);
  169.  
  170.  p1:=p1^.next;
  171.  
  172.  
  173. {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  174. inc(i);
  175. {!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
  176. end;
  177. gotoXY(1,i*2+1);
  178. writeln(footer);
  179. wait;
  180. end;
  181.  
  182. procedure DelList;
  183. var
  184. p1,p2,pList:ptrList;
  185. begin
  186. p1:=pList;
  187. while p1<>nil do begin
  188. p2:=p1;
  189. p1:=p1^.next;
  190. dispose(p1);
  191. end;
  192. pList:=nil;
  193. end;
  194.  
  195. procedure Vvod;
  196. var
  197.  i: integer;
  198. begin
  199.  ClrScr;
  200.  writeln(head);
  201.  writeln(opisanie);
  202. for i:=1 to n do
  203.  begin
  204.   gotoXY(1,i*2+1);
  205.   writeln(kstrok);
  206.   writeln(content);
  207.   gotoXY(2,i*2+2);
  208.  
  209.   readln(rec[i].a);
  210.  
  211.   gotoXY(10,i*2+2);
  212.   readln(rec[i].b);
  213.  
  214.   gotoXY(15,i*2+2);
  215.   readln(rec[i].v.c[1]);
  216.  
  217.   gotoXY(21,i*2+2);
  218.   readln(rec[i].v.c[2]);
  219.  
  220.   gotoXY(27,i*2+2);
  221.   readln(rec[i].v.d);
  222.  
  223.   gotoXY(34,i*2+2);
  224.   readln(rec[i].v.e);
  225. end;
  226.   gotoXY(1,i*2+3);
  227.   writeln(footer);
  228.  wait;
  229.  end;
  230.  
  231. procedure Vivod;
  232. var
  233.  i: integer;
  234. begin
  235.  ClrScr;
  236.  writeln(head);
  237.  writeln(opisanie);
  238. for i:=1 to n do
  239.  begin
  240.  gotoXY(1,i*2+1);
  241.  writeln(kstrok);
  242.  writeln(content);
  243.  gotoXY(2,i*2+2);
  244.  writeln(rec[i].a);
  245.  
  246.  gotoXY(10,i*2+2);
  247.  writeln(rec[i].b:1:1);
  248.  
  249.  gotoXY(15,i*2+2);
  250.  writeln(rec[i].v.c[1]);
  251.  
  252.  gotoXY(21,i*2+2);
  253.  writeln(rec[i].v.c[2]);
  254.  
  255.  gotoXY(27,i*2+2);
  256.  writeln(rec[i].v.d);
  257.  
  258.  gotoXY(34,i*2+2);
  259.  writeln(rec[i].v.e:1:1);
  260.  end;
  261.   gotoXY(1,i*2+3);
  262.   writeln(footer);
  263. wait;
  264.  end;
  265.  
  266. procedure SaveInFile;
  267. var
  268.  f: file of TRec;
  269.  i: integer;
  270.  rec: TRec;
  271. begin
  272.  ClrScr;
  273.  assign(f,'alexverb.txt');
  274.  rewrite(f);
  275.  writeln(head);
  276.  writeln(opisanie);
  277. for i:=1 to n do
  278.  begin
  279.   gotoXY(1,i*2+1);
  280.   writeln(kstrok);
  281.   writeln(content);
  282.  
  283.   gotoXY(2,i*2+2);
  284.   readln(rec.a);
  285.  
  286.   gotoXY(10,i*2+2);
  287.   readln(rec.b);
  288.  
  289.   gotoXY(15,i*2+2);
  290.   readln(rec.v.c[1]);
  291.  
  292.   gotoXY(21,i*2+2);
  293.   readln(rec.v.c[2]);
  294.  
  295.   gotoXY(27,i*2+2);
  296.   readln(rec.v.d);
  297.  
  298.   gotoXY(34,i*2+2);
  299.   readln(rec.v.e);
  300.  
  301.   write(f,rec);
  302.  end;
  303.   gotoXY(1,i*2+3);
  304.   writeln(footer);
  305.   close(f);
  306. wait;
  307. end;
  308.  
  309. procedure ViewFile;
  310. var
  311.  f: file of TRec;
  312.  rec: TRec;
  313.  i: integer;
  314. begin
  315.  ClrScr;
  316.  assign(f,'alexverb.txt');
  317.  reset(f);
  318.  i:=0;
  319.  writeln(head);
  320.  writeln(opisanie);
  321.  while not eof(f) do
  322.   begin
  323.   read(f,rec);
  324.   inc(i);
  325.   gotoXY(1,i*2+1);
  326.   writeln(kstrok);
  327.   writeln(content);
  328.  
  329.   gotoXY(2,i*2+2);
  330.   writeln(rec.a);
  331.  
  332.   gotoXY(10,i*2+2);
  333.   writeln(rec.b:1:1);
  334.  
  335.   gotoXY(15,i*2+2);
  336.   writeln(rec.v.c[1]);
  337.  
  338.   gotoXY(21,i*2+2);
  339.   writeln(rec.v.c[2]);
  340.  
  341.   gotoXY(27,i*2+2);
  342.   writeln(rec.v.d);
  343.  
  344.   gotoXY(34,i*2+2);
  345.   writeln(rec.v.e:1:1);
  346.  
  347.  end;
  348.  gotoXY(1,i*2+3);
  349.  writeln(footer);
  350. close(f);
  351. wait;
  352. end;
  353.  
  354. procedure Menu;
  355. begin
  356.  repeat
  357.   repeat
  358.     ClrScr;
  359.     Writeln('1. Vvod dannbIx');
  360.     Writeln('2. Vivod dannbIx');
  361.     Writeln('3. SaveInFile');
  362.     Writeln('4. ViewFile');
  363.     Writeln('5. CreateList');
  364.     Writeln('6. ViewList');
  365.     Writeln('7. DelList');
  366.     Writeln('8. Exit');
  367.     Write('Vash vibor:>');
  368.     Readln(vibor);
  369.   until (vibor>0) and (vibor<9);
  370.   Writeln;
  371.   Write('Vi vibrali: ');
  372.   case vibor of
  373.     1:begin
  374.         Writeln('Vvod massiva');
  375.         writeln('Vvedite chislo strok');
  376.         readln(n);
  377.         Vvod;
  378.       end;
  379.     2:begin
  380.         Writeln('Vivod massiva');
  381.         Vivod;
  382.       end;
  383.     3:begin
  384.         Writeln('SaveInFile');
  385.         writeln('Vvedite chislo strok');
  386.         readln(n);
  387.         SaveInFile;
  388.       end;
  389.     4:begin
  390.         Writeln('ViewFile');
  391.         ViewFile;
  392.       end;
  393.     5:begin
  394.         Writeln('CreateList');
  395.         writeln('Vvedite chislo strok');
  396.         readln(n);
  397.         CreateList;
  398.       end;
  399.     6:begin
  400.         Writeln('ViewList');
  401.         ViewList;
  402.       end;
  403.     7:begin
  404.         Writeln('DelList');
  405.         DelList;
  406.       end;
  407.     end;
  408.  until vibor=8;
  409. end;
  410.  
  411. begin
  412. Menu;
  413. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement