Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.42 KB | None | 0 0
  1. program Osoba13_1;
  2. uses crt;
  3. type
  4. TOsoba = object
  5. jmeno:string;
  6. vek,vyska,vaha:integer;
  7. constructor Init(jm:string;
  8. ve,vys,va:integer);
  9. function GetJmeno:string;
  10. function GetVek:integer;
  11. function Getvyska:integer;
  12. function Getvaha:integer;
  13. procedure zadej;
  14. procedure pozdrav; virtual;
  15. Procedure Porovnejvaha(on: TOsoba);
  16. Procedure Setkani(on: TOsoba);
  17. end;
  18. TStudent = object(TOsoba)
  19. roc: integer;
  20. constructor init (jm:string;
  21. ve,vys,va,ro:integer);
  22. function getRoc:integer;
  23. procedure pozdrav; virtual;
  24. procedure vypis;
  25. procedure zadej;
  26. end;
  27.  
  28. TZam = object(TOsoba)
  29. kat: integer;
  30. constructor Init (jm:string;
  31. ve,vys,va,ka:integer);
  32. function getKat:integer;
  33. procedure pozdrav; virtual;
  34. procedure vypis;
  35. procedure zadej;
  36. end;
  37.  
  38. Constructor TOsoba.Init(jm:string;
  39. ve,vys,va:integer);
  40. Begin
  41. jmeno:=jm;
  42. vek:=ve;
  43. vyska:=vys;
  44. vaha:=va;
  45. end;
  46. procedure TOsoba.zadej;
  47. var c:integer;
  48. begin
  49. write('Zadej jmeno: ');
  50. readln(jmeno);
  51. {$I-}
  52. write('Zadej vek: ');
  53. readln(vek);
  54. c:=IOResult;
  55. while (c<>0) or (vek<=0) do
  56. begin
  57. write('Chybne cislo, zadej kladne cislo znovu: ');
  58. readln(vek);
  59. c:=IOResult
  60. end;
  61. write('Zadej vysku: ');
  62. readln(vyska);
  63. c:=IOResult;
  64. while (c<>0) or (vyska<=0) do
  65. begin
  66. write('Chybne cislo, zadej kladne cislo znovu: ');
  67. readln(vyska);
  68. c:=IOResult
  69. end;
  70. write('Zadej vahu: ');
  71. readln(vaha);
  72. c:=IOResult;
  73. while (c<>0) or (vaha<=0) do
  74. begin
  75. write('Chybne cislo, zadej kladne cislo znovu: ');
  76. readln(vaha);
  77. c:=IOResult
  78. end;
  79. end;
  80. function TOsoba.GetJmeno:string;
  81. begin
  82. GetJmeno:=Jmeno
  83. end;
  84. function TOsoba.GetVek:integer;
  85. begin
  86. GetVek:=vek
  87. end;
  88. Function TOsoba.GetVyska:integer;
  89. begin
  90. getvyska:=vyska
  91. end;
  92. function TOsoba.GetVaha:integer;
  93. begin
  94. GetVaha:=vaha
  95. end;
  96. procedure TOsoba.porovnejVaha (on: TOsoba);
  97. begin
  98. if self.vaha > on.getVaha
  99. then writeln('Ja ',self.jmeno,' jsem tezsi nez ', on.getJmeno)
  100. else writeln('ja ',self.jmeno,' jsem lehci nez ',on.getJmeno)
  101. end;
  102. Constructor TStudent.Init (jm:string;
  103. ve,vys,va,ro:integer);
  104. begin TOsoba.Init(jm,ve,vys,va);
  105. roc:=ro
  106. end;
  107. procedure TStudent.zadej;
  108. var c:integer;
  109. begin
  110. write('Zadej jmeno: ');
  111. readln(jmeno);
  112. {$I-}
  113. write('Zadej vek: ');
  114. readln(vek);
  115. c:=IOResult;
  116. while (c<>0) or (vek<=0) do
  117. begin
  118. write('Chybne cislo, zadej kladne cislo znovu: ');
  119. readln(vek);
  120. c:=IOResult
  121. end;
  122. write('Zadej vysku: ');
  123. readln(vyska);
  124. c:=IOResult;
  125. while (c<>0) or (vyska<=0) do
  126. begin
  127. write('Chybne cislo, zadej kladne cislo znovu: ');
  128. readln(vyska);
  129. c:=IOResult
  130. end;
  131. write('Zadej vahu: ');
  132. readln(vaha);
  133. c:=IOResult;
  134. while (c<>0) or (vaha<=0) do
  135. begin
  136. write('Chybne cislo, zadej kladne cislo znovu: ');
  137. readln(vaha);
  138. c:=IOResult
  139. end;
  140. end;
  141. Function TStudent.getRoc:integer;
  142. begin
  143. getRoc:=roc
  144. end;
  145. Procedure TStudent.vypis;
  146. begin
  147. writeln('Student: ',jmeno,' Vek: ',vek:2,' Vyska: ',vyska:3,' Vaha: ',vaha:2,' Rocnik: ',roc:1)
  148. end;
  149. constructor TZam.Init(jm:string;
  150. ve,vys,va,ka:integer);
  151. begin
  152. jmeno:=jm;
  153. vek:=ve;
  154. vyska:=vys;
  155. vaha:=va;
  156. kat:=ka;
  157. end;
  158. procedure TZam.zadej;
  159. var c:integer;
  160. begin
  161. write('Zadej jmeno: ');
  162. readln(jmeno);
  163. {$I-}
  164. write('Zadej vek: ');
  165. readln(vek);
  166. c:=IOResult;
  167. while (c<>0) or (vek<=0) do
  168. begin
  169. write('Chybne cislo, zadej kladne cislo znovu: ');
  170. readln(vek);
  171. c:=IOResult
  172. end;
  173. write('Zadej vysku: ');
  174. readln(vyska);
  175. c:=IOResult;
  176. while (c<>0) or (vyska<=0) do
  177. begin
  178. write('Chybne cislo, zadej kladne cislo znovu: ');
  179. readln(vyska);
  180. c:=IOResult
  181. end;
  182. write('Zadej vahu: ');
  183. readln(vaha);
  184. c:=IOResult;
  185. while (c<>0) or (vaha<=0) do
  186. begin
  187. write('Chybne cislo, zadej kladne cislo znovu: ');
  188. readln(vaha);
  189. c:=IOResult
  190. end;
  191. end;
  192. function TZam.getKat:integer;
  193. begin
  194. getkat:=kat
  195. end;
  196. Procedure TZam.vypis;
  197. begin
  198. writeln('Student: ',jmeno,' Vek: ',vek:2,' Vyska: ',vyska:3,' Vaha: ',vaha:2,' Rocnik: ',kat:1)
  199. end;
  200. procedure TOsoba.pozdrav;
  201. begin
  202. writeln('Dobry den')
  203. end;
  204. procedure TOsoba.setkani(on:TOsoba);
  205. begin
  206. self.pozdrav;
  207. on.pozdrav
  208. end;
  209. procedure TStudent.pozdrav;
  210. begin
  211. writeln('Cau')
  212. end;
  213. procedure TZam.pozdrav;
  214. begin
  215. writeln('Ahoj')
  216. end;
  217. var i:integer;
  218. stud1, stud2: TStudent;
  219. zam1, zam2: TZam;
  220. BEGIN
  221. clrscr;
  222. stud1.zadej;
  223. stud2.zadej;
  224. stud1.vypis;
  225. stud2.vypis;
  226. writeln;
  227. zam1.zadej;
  228. zam2.zadej;
  229. zam1.vypis;
  230. zam2.vypis;
  231. writeln;
  232. stud1.porovnejVaha(stud2);
  233. stud1.porovnejVaha(zam2);
  234. zam1.porovnejVaha(zam2);
  235. readln;
  236. for i:= 1 to 3 do
  237. begin
  238. stud1.setkani(stud1);
  239. writeln;
  240. stud2.setkani(zam2);
  241. writeln;
  242. zam1.setkani(zam2);
  243. writeln('------');
  244. readln
  245. end;
  246. END.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement