fork download
  1. program hotel;
  2. uses crt;
  3.  
  4. type bliczba = record
  5. indeks:byte;
  6. end;
  7.  
  8. type rezerwacja = record
  9. nazwisko:string[35];
  10. ilosc_osob:integer;
  11. dzieci:integer;
  12. ilosc_dni:integer;
  13. termin:string[30];
  14. miesiac:integer;
  15. dzien:integer;
  16. end;
  17.  
  18. var rezerwacje:array[1..1000] of rezerwacja;
  19. kalendarz_pokoj1:array[1..365] of integer;
  20. kalendarz_pokoj2:array[1..365] of integer;
  21. kalendarz_pokoj3:array[1..365] of integer;
  22. kalendarz_pokoj4:array[1..365] of integer;
  23. kalendarz_pokoj5:array[1..365] of integer;
  24. ilosc_osob, miesiac, ilosc_dni, data, dzien:integer;
  25. a:string[3];
  26. szukaj:string[30];
  27. opcja:string[1];
  28. i,b,n,c:integer; m:byte;
  29. liczba:bliczba;
  30. plik: file of bliczba;
  31. label wyjdz;
  32. var baza: file of rezerwacja;
  33.  
  34. function pobierz(typ:integer):integer;
  35.  
  36. begin
  37. pobierz:=typ;
  38. end;
  39.  
  40.  
  41. procedure rezerwuj (var bliczba.indeks : real);
  42.  
  43. begin
  44. begin
  45. clrscr;
  46. assign (baza,'rezerwacje.dat');
  47. reset(baza);
  48. if ioresult<>0 then rewrite(baza);
  49. Seek(baza, FileSize(baza));
  50. writeln ('Podaj Nazwisko rezerwujacego: ');
  51. readln(rezerwacje[bliczba.indeks].nazwisko);
  52. writeln ('Podaj ilosc dzieci: ');
  53. readln(rezerwacje[bliczba.indeks].dzieci);
  54. writeln ('Podaj ilosc osob: ');
  55. readln(rezerwacje[bliczba.indeks].ilosc_osob);
  56. writeln ('Podaj ilosc dni: ');
  57. readln(rezerwacje[bliczba.indeks].ilosc_dni);
  58. readln(rezerwacje[bliczba.indeks].miesiac);
  59. readln(rezerwacje[bliczba.indeks].dzien);
  60. write (baza,rezerwacje[bliczba.indeks]);
  61. close(baza);
  62. bliczba.indeks:=bliczba.indeks+1;
  63. end;
  64. end;
  65.  
  66. procedure decyzja;
  67. begin
  68. writeln ('Termin dostepny. Podjac rezerwacje? (tak/nie)');
  69. readln(a);
  70. if a='tak' then rezerwuj;
  71. end;
  72.  
  73. procedure sprawdz_wolne;
  74.  
  75. begin
  76. clrscr;
  77. writeln ('Podaj dzien rezerwacji');
  78. readln (dzien);
  79. writeln ('Podaj ilosc dni');
  80. readln (ilosc_dni);
  81. writeln ('Podaj miesiac rezerwacji');
  82. readln (miesiac);
  83. CASE miesiac of
  84. 1: data:=dzien;
  85. 2: data:=31+dzien;
  86. 3: data:=31+28+dzien;
  87. 4: data:=2*31+28+dzien;
  88. 5: data:=2*31+30+28+dzien;
  89. 6: data:=3*31+30+28+dzien;
  90. 7: data:=3*31+2*30+28+dzien;
  91. 8: data:=4*31+2*30+28+dzien;
  92. 9: data:=5*31+2*30+28+dzien;
  93. 10: data:=5*31+3*30+28+dzien;
  94. 11: data:=6*31+3*30+28+dzien;
  95. 12: data:=6*31+4*30+28+dzien;
  96. end;
  97. writeln ('Podaj ilosc osob');
  98. readln (ilosc_osob);
  99. CASE ilosc_osob of
  100. 1: begin
  101. for i:=1 to ilosc_dni do
  102. begin
  103. if (kalendarz_pokoj1[data]=1) then
  104. begin
  105. writeln ('Brak wolnych miejsc');
  106. break;
  107. end
  108. else
  109. data:=data+1;
  110. end;
  111. decyzja;
  112. end;
  113. 2: begin
  114. for i:=1 to ilosc_dni do
  115. begin
  116. if (kalendarz_pokoj2[data]=1) then
  117. begin
  118. writeln ('Brak wolnych miejsc');
  119. break;
  120. end
  121. else data:=data+1;
  122. end;
  123. decyzja;
  124. end;
  125. 3: begin
  126. for i:=1 to ilosc_dni do
  127. begin
  128. if (kalendarz_pokoj3[data]=1) then
  129. begin
  130. writeln ('Brak wolnych miejsc');
  131. break;
  132. end
  133. else data:=data+1;
  134. end;
  135. decyzja;
  136. end;
  137. 4: begin
  138. for i:=1 to ilosc_dni do
  139. begin
  140. if (kalendarz_pokoj4[data]=1) then
  141. begin
  142. writeln ('Brak wolnych miejsc');
  143. break;
  144. end
  145. else data:=data+1;
  146. end;
  147. decyzja;
  148. end;
  149. end;
  150. end;
  151.  
  152. procedure wyswietl;
  153.  
  154. begin
  155. assign(baza,'rezerwacje.dat');
  156. reset(baza);
  157. writeln ('Podaj nazwisko rezerwujacego');
  158. readln(szukaj);
  159. while not eof(baza) do
  160. begin
  161. read(baza,rezerwacje[i]);
  162. with rezerwacje[i] do
  163. if szukaj=(rezerwacje[i].nazwisko) then
  164. begin
  165. write('Termin rezerwacji: '); writeln(rezerwacje[i].miesiac);
  166. write('.',rezerwacje[i].dzien);
  167. write('Ilosc dni: '); writeln(rezerwacje[i].ilosc_dni);
  168. write('Ilosc osob: '); writeln(rezerwacje[i].ilosc_osob);
  169. end;
  170. end;
  171. end;
  172.  
  173. procedure odczytaj;
  174.  
  175. begin
  176. assign(baza,'rezerwacje.dat');
  177. reset(baza);
  178. while not eof(baza) do
  179. begin
  180. for i:=0 to bliczba.indeks do
  181. begin
  182. read(baza,rezerwacje[i]);
  183. with rezerwacje[i] do
  184. begin
  185. writeln;
  186. write('Nazwisko: '); writeln(rezerwacje[i].nazwisko);
  187. write('Ilosc osob: '); writeln(rezerwacje[i].ilosc_osob);
  188. write('Ilosc dni: '); writeln(rezerwacje[i].ilosc_dni);
  189. write('Termin rezerwacji: '); writeln(rezerwacje[i].termin);
  190. end;
  191. end;
  192. end;
  193. end;
  194.  
  195. begin
  196. clrscr;
  197. assign(plik,'liczba.txt');
  198. reset(plik);
  199. if ioresult<>0 then
  200. begin
  201. rewrite(plik);
  202. write(plik, '0');
  203. end;
  204. read(plik,bliczba.indeks);
  205. close(plik);
  206. repeat
  207. writeln('Witaj w programie zarzadzania rezerwacjami w hotelu. Wybierz jedna z dostepnych opcji.');
  208. writeln ('Dostepne opcje: rezerwuj (r), sprawdz czy sa wolne miejsca (s), odczytaj baze rezerwacji (o), zamknij program (x)');
  209. opcja:=readkey;
  210. case opcja of
  211. 'r': rezerwuj;
  212. 's': sprawdz_wolne;
  213. 'o': odczytaj;
  214. end;
  215. until (opcja='x');
  216. assign(plik,'liczba.dtb');
  217. rewrite(plik);
  218. write(plik,liczba);
  219. close(plik);
  220. end.
  221.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Free Pascal Compiler version 2.2.0 [2009/11/16] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Linux for i386
Compiling prog.pas
prog.pas(41,32) Fatal: Syntax error, ")" expected but "." found
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
stdout
Standard output is empty