Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 5.26 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.  
  39. {///////////////////////////////////}
  40.     pList:ptrList;
  41.  
  42. procedure wait;
  43. begin
  44. writeln;
  45. writeln('Nazhmite lybyu klavishy');
  46. readkey;
  47. end;
  48.  
  49. procedure CreateList;
  50. var
  51.     p1,p2:ptrList;
  52.     rec: Trec;
  53. begin
  54.  ClrScr;
  55.  writeln(head);
  56.  writeln(opisanie);
  57.  p2:= nil;
  58. for i:=1 to n do
  59.  begin
  60.   gotoXY(1,i*2+1);
  61.   writeln(kstrok);
  62.   writeln(content);
  63.   gotoXY(2,i*2+2);
  64.  
  65.   readln(rec.a);
  66.  
  67.   gotoXY(10,i*2+2);
  68.   readln(rec.b);
  69.  
  70.   gotoXY(15,i*2+2);
  71.   readln(rec.v.c[1]);
  72.  
  73.   gotoXY(21,i*2+2);
  74.   readln(rec.v.c[2]);
  75.  
  76.   gotoXY(27,i*2+2);
  77.   readln(rec.v.d);
  78.  
  79.   gotoXY(34,i*2+2);
  80.   readln(rec.v.e);
  81.      p1^.inf := Rec;
  82.      p1^.next := p2;
  83.      p2 := p1;
  84. end;
  85.   gotoXY(1,i*2+3);
  86.   writeln(footer);
  87.   pList := p2;
  88.  wait;
  89.  end;
  90. end;
  91.  
  92. procedure ViewList;
  93. var
  94.     p1,pList:ptrList;
  95.     i: integer;
  96.    
  97. begin
  98. p1:=pList;
  99. while p1<>nil do begin
  100. writeln(p1^.inf.a);
  101. writeln(p1^.inf.b);
  102. writeln(p1^.inf.v.c[1]);
  103. writeln(p1^.inf.v.c[2]);
  104. writeln(p1^.inf.v.d);
  105. writeln(p1^.inf.v.e);
  106. p1:=p1^.next;
  107. end;
  108. end;
  109.  
  110. procedure DelList;
  111. var
  112. p1,p2,pList:ptrList;
  113. begin
  114. p1:=pList;
  115. while p1<>nil do begin
  116. p2:=p1;
  117. p1:=p1^.next;
  118. dispose(p1);
  119. end;
  120. pList:=nil;
  121. end;
  122.  
  123. procedure Vvod;
  124. var
  125.  i: integer;
  126. begin
  127.  ClrScr;
  128.  writeln(head);
  129.  writeln(opisanie);
  130. for i:=1 to n do
  131.  begin
  132.   gotoXY(1,i*2+1);
  133.   writeln(kstrok);
  134.   writeln(content);
  135.   gotoXY(2,i*2+2);
  136.  
  137.   readln(rec[i].a);
  138.  
  139.   gotoXY(10,i*2+2);
  140.   readln(rec[i].b);
  141.  
  142.   gotoXY(15,i*2+2);
  143.   readln(rec[i].v.c[1]);
  144.  
  145.   gotoXY(21,i*2+2);
  146.   readln(rec[i].v.c[2]);
  147.  
  148.   gotoXY(27,i*2+2);
  149.   readln(rec[i].v.d);
  150.  
  151.   gotoXY(34,i*2+2);
  152.   readln(rec[i].v.e);
  153. end;
  154.   gotoXY(1,i*2+3);
  155.   writeln(footer);
  156.  wait;
  157.  end;
  158.  
  159. procedure Vivod;
  160. var
  161.  i: integer;
  162. begin
  163.  ClrScr;
  164.  writeln(head);
  165.  writeln(opisanie);
  166. for i:=1 to n do
  167.  begin
  168.  gotoXY(1,i*2+1);
  169.  writeln(kstrok);
  170.  writeln(content);
  171.  gotoXY(2,i*2+2);
  172.  writeln(rec[i].a);
  173.  
  174.  gotoXY(10,i*2+2);
  175.  writeln(rec[i].b:1:1);
  176.  
  177.  gotoXY(15,i*2+2);
  178.  writeln(rec[i].v.c[1]);
  179.  
  180.  gotoXY(21,i*2+2);
  181.  writeln(rec[i].v.c[2]);
  182.  
  183.  gotoXY(27,i*2+2);
  184.  writeln(rec[i].v.d);
  185.  
  186.  gotoXY(34,i*2+2);
  187.  writeln(rec[i].v.e:1:1);
  188.  end;
  189.   gotoXY(1,i*2+3);
  190.   writeln(footer);
  191. wait;
  192.  end;
  193.  
  194. procedure SaveInFile;
  195. var
  196.  f: file of TRec;
  197.  i: integer;
  198.  rec: TRec;
  199. begin
  200.  ClrScr;
  201.  assign(f,'alexverb.txt');
  202.  rewrite(f);
  203.  writeln(head);
  204.  writeln(opisanie);
  205. for i:=1 to n do
  206.  begin
  207.   gotoXY(1,i*2+1);
  208.   writeln(kstrok);
  209.   writeln(content);
  210.  
  211.   gotoXY(2,i*2+2);
  212.   readln(rec.a);
  213.  
  214.   gotoXY(10,i*2+2);
  215.   readln(rec.b);
  216.  
  217.   gotoXY(15,i*2+2);
  218.   readln(rec.v.c[1]);
  219.  
  220.   gotoXY(21,i*2+2);
  221.   readln(rec.v.c[2]);
  222.  
  223.   gotoXY(27,i*2+2);
  224.   readln(rec.v.d);
  225.  
  226.   gotoXY(34,i*2+2);
  227.   readln(rec.v.e);
  228.  
  229.   write(f,rec);
  230.  end;
  231.   gotoXY(1,i*2+3);
  232.   writeln(footer);
  233.   close(f);
  234. wait;
  235. end;
  236.  
  237. procedure ViewFile;
  238. var
  239.  f: file of TRec;
  240.  rec: TRec;
  241.  i: integer;
  242. begin
  243.  ClrScr;
  244.  assign(f,'alexverb.txt');
  245.  reset(f);
  246.  i:=0;
  247.  writeln(head);
  248.  writeln(opisanie);
  249.  while not eof(f) do
  250.   begin
  251.   read(f,rec);
  252.   inc(i);
  253.   gotoXY(1,i*2+1);
  254.   writeln(kstrok);
  255.   writeln(content);
  256.  
  257.   gotoXY(2,i*2+2);
  258.   writeln(rec.a);
  259.  
  260.   gotoXY(10,i*2+2);
  261.   writeln(rec.b:1:1);
  262.  
  263.   gotoXY(15,i*2+2);
  264.   writeln(rec.v.c[1]);
  265.  
  266.   gotoXY(21,i*2+2);
  267.   writeln(rec.v.c[2]);
  268.  
  269.   gotoXY(27,i*2+2);
  270.   writeln(rec.v.d);
  271.  
  272.   gotoXY(34,i*2+2);
  273.   writeln(rec.v.e:1:1);
  274.  
  275.  end;
  276.  gotoXY(1,i*2+3);
  277.  writeln(footer);
  278. close(f);
  279. wait;
  280. end;
  281.  
  282. procedure Menu;
  283. begin
  284.  repeat
  285.   repeat
  286.     ClrScr;
  287.     Writeln('1. Vvod dannbIx');
  288.     Writeln('2. Vivod dannbIx');
  289.     Writeln('3. SaveInFile');
  290.     Writeln('4. ViewFile');
  291.     Writeln('5. CreateList');
  292.     Writeln('6. ViewList');
  293.     Writeln('7. DelList');
  294.     Writeln('8. Exit');
  295.     Write('Vash vibor:>');
  296.     Readln(vibor);
  297.   until (vibor>0) and (vibor<9);
  298.   Writeln;
  299.   Write('Vi vibrali: ');
  300.   case vibor of
  301.     1:begin
  302.         Writeln('Vvod massiva');
  303.         writeln('Vvedite chislo strok');
  304.         readln(n);
  305.         Vvod;
  306.       end;
  307.     2:begin
  308.         Writeln('Vivod massiva');
  309.         Vivod;
  310.       end;
  311.     3:begin
  312.         Writeln('SaveInFile');
  313.         writeln('Vvedite chislo strok');
  314.         readln(n);
  315.         SaveInFile;
  316.       end;
  317.     4:begin
  318.         Writeln('ViewFile');
  319.         ViewFile;
  320.       end;
  321.     5:begin
  322.         Writeln('CreateList');
  323.         CreateList;
  324.       end;
  325.     6:begin
  326.         Writeln('ViewList');
  327.         ViewList;
  328.       end;
  329.     7:begin
  330.         Writeln('DelList');
  331.         DelList;
  332.       end;
  333.     end;
  334.  until vibor=8;
  335. end;
  336.  
  337. begin
  338. Menu;
  339. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement