Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.42 KB | None | 0 0
  1. Program lista; uses crt;
  2. type AdresaCandidat=^Candidat;
  3.      Candidat=record
  4.      Nume,Prenume:string;
  5.      virsta:integer;
  6.      NotaMedie:real;
  7.      urm:AdresaCandidat;
  8.      end;
  9. var p,u,l9:AdresaCandidat;
  10.     virsta:integer;
  11.     c:char;
  12.     Nume,Prenume:string;
  13.     NotaMedie:real;
  14.  
  15. procedure Introduc;
  16. var R:AdresaCandidat;
  17.     num,i:integer;
  18. begin
  19. write('Introdu numarul de elevi:');
  20. readln(num);
  21. for i:=1 to  num do
  22. begin
  23. new(R);
  24. write('Numele:');
  25. readln(r^.Nume) ;
  26. write('Prenumele:');
  27. readln(r^.Prenume) ;
  28. write('Virsta:');
  29. readln(virsta);
  30. write('Nota medie:');
  31. readln(r^.NotaMedie);
  32. writeln('--------------------');
  33. r^.urm:=p;
  34. p:=r;
  35. end;
  36. end;
  37.  
  38. procedure Afisare;
  39. var r:AdresaCandidat;
  40. begin
  41. if p=nil then writeln('Nu este nici un candidat') else
  42. begin
  43. writeln('-----LISTA DE ELEVI-----');
  44. r:=p;
  45. while r<> nil do
  46. begin
  47. writeln(r^.Nume);
  48. writeln(r^.Prenume);
  49. writeln(r^.NotaMedie:2:2);
  50. writeln('--------------------');
  51. r:=r^.urm;
  52. end;
  53. end;
  54. readln;
  55. end;
  56.  
  57. procedure Afisarea7;
  58. var r:AdresaCandidat;
  59. begin
  60. if p=nil then writeln('Nu este nici un candidat') else
  61. begin
  62. writeln('-----LISTA DE ELEVI CU MEDIE MICA-----');
  63. r:=p;
  64. while r<> nil do
  65. begin
  66. if r^.NotaMedie<7.5 then begin
  67. writeln(r^.Nume);
  68. writeln(r^.Prenume);
  69. writeln(r^.NotaMedie:2:2);
  70. writeln('--------------------');
  71. end;
  72. r:=r^.urm;
  73. end;
  74. end;
  75. readln;
  76. end;
  77.  
  78. procedure Afisarea8;
  79. var r:AdresaCandidat;
  80. begin
  81. if p=nil then writeln('Nu este nici un candidat') else
  82. begin
  83. writeln('-----LISTA DE ELEVI CU MEDIE MARE-----');
  84. r:=p;
  85. while r<> nil do
  86. begin
  87. if r^.NotaMedie>=7.5 then begin
  88. writeln(r^.Nume);
  89. writeln(r^.Prenume);
  90. writeln(r^.NotaMedie:2:2);
  91. writeln('--------------------');
  92. end;
  93. r:=r^.urm;
  94. end;
  95. end;
  96. readln;
  97. end;
  98.  
  99.  
  100. procedure CreareL9;
  101. var r,r2:AdresaCandidat;
  102. begin
  103. if p=nil then writeln('Nu este nici un candidat') else
  104. begin
  105. r:=p;
  106. while r<> nil do
  107. begin
  108.    if r^.NotaMedie > 9 then begin
  109.       new(R2);
  110.       r2^.nume:=r^.nume;
  111.       r2^.prenume:=r^.prenume;
  112.       r2^.virsta:=r^.virsta;
  113.       r2^.notamedie:=r^.notamedie;
  114.       r2^.urm:=l9;
  115.       l9:=r2;
  116.    end;
  117. r:=r^.urm;
  118. end;
  119. end;
  120. writeln('Lista cu elevi cu nota medie mai mare de 9 a fost creata. Afisati-o!');
  121. readln;
  122. end;
  123.  
  124.  
  125. procedure AfisareL9;
  126. var r:AdresaCandidat;
  127. begin
  128. if p=nil then writeln('Nu este nici un candidat') else
  129. begin
  130. writeln('-----LISTA DE ELEVI-----');
  131. r:=l9;
  132. while r<> nil do
  133. begin
  134.    writeln(r^.Nume);
  135. writeln(r^.Prenume);
  136. writeln(r^.NotaMedie:2:2);
  137. writeln('--------------------');
  138. r:=r^.urm;
  139. end;
  140. end;
  141. readln;
  142. end;
  143.  
  144.  
  145. procedure Extrag;
  146. var r:AdresaCandidat;
  147. begin
  148. if p=nil then writeln('Lista este vida') else
  149. begin
  150. r:=p;
  151. write('A fost extras:');
  152. writeln(r^.Nume);
  153. writeln(r^.Prenume);
  154. p:=p^.urm;
  155. dispose(r);
  156. readln;
  157. end;
  158. end;
  159.  
  160. begin
  161.  p:=nil;
  162. repeat
  163. clrscr;
  164. writeln('Menu');
  165. writeln('i=Introducerea candidatului care isi include documentele:');
  166. writeln('e=Candidatul care isi extrage documentele:');
  167. writeln('a=Afisarea listei de candidati la ecran:');
  168. writeln('n=Afisarea listei de elevi cu media <7.5');
  169. writeln('s=Afisarea listei de elevi cu media >=7.5');
  170. writeln('l=Creaza lista cu elevi >9');
  171. writeln('q=Afisare lista noua');
  172. writeln('o=Oprirea programului:');
  173. write('Optiunea=');readln(c);
  174. case c of
  175. 'i':Introduc;
  176. 'e':Extrag;
  177. 'a':Afisare;
  178. 'n':Afisarea7;
  179. 's':Afisarea8;
  180. 'l':CreareL9;
  181. 'q':AfisareL9;
  182. 'o':
  183. else writeln('Optiune necunoscuta');
  184. end;
  185. until c='o';
  186. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement