Advertisement
Guest User

Untitled

a guest
Feb 24th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.35 KB | None | 0 0
  1. program badtimesadlife;
  2. uses crt;
  3. type
  4. idk=array[1..100] of string;
  5. idk1=array[1..100] of integer;
  6. idk2=array['A'..'E',1..5] of char;
  7. var
  8. x,y:text;
  9. i,k,m,n,ans1,ans2,ans3,ans4,ans5:integer;
  10. balance:idk1;
  11. name,pw:idk;
  12. iname,inpw:string;
  13. seating:idk2;
  14. check:boolean;
  15. ans6:char;
  16. procedure initialize(var i,ans1:integer);
  17. begin
  18. i:=0;
  19. writeln('Welcome to our online booking system!');
  20. writeln();
  21. writeln('Please choose the following:');
  22. writeln('1. Register');
  23. writeln('2. Login');
  24. writeln();
  25. write('Your choice: ');
  26. readln(ans1);
  27. clrscr;
  28. end;
  29. procedure reg(var user:text;var name1,pw1:idk;var ans5,i:integer;var pw2:string;var balance1:idk1);
  30. var
  31. w:integer;
  32. begin
  33. w:=0;
  34. assign(user,'C:\Users\a\Desktop\123.txt');
  35. reset(user);
  36. while not eof(user) do
  37. begin
  38. i:=i+1 ;
  39. readln(user,name1[i]);
  40. readln(user,pw1[i]);
  41. readln(user,balance1[i]);
  42. end;
  43. close(user);
  44. i:=i+1;
  45. balance[i]:=0;
  46. writeln('It is to register a new account.');
  47. writeln();
  48. repeat
  49. write('Enter a logic name: ');
  50. readln(name1[i]);
  51. write('Enter a password: ');
  52. readln(pw1[i]);
  53. write('Enter a password again: ');
  54. readln(pw2);
  55. if pw1[i] <> pw2 then
  56. writeln('Plz check your password again!');
  57. until pw[i] = pw2;
  58. if i = 1 then
  59. begin
  60. assign(user,'C:\Users\a\Desktop\123.txt');
  61. rewrite(user);
  62. writeln(user,name1[i]);
  63. writeln(user,pw1[i]);
  64. writeln(user,balance1[i]);
  65. close(user);
  66. end
  67. else
  68. begin
  69. assign(user,'C:\Users\a\Desktop\123.txt');
  70. rewrite(user);
  71. repeat
  72. w:=w+1;
  73. writeln(user,name1[w]);
  74. writeln(user,pw1[w]);
  75. writeln(user,balance1[w]);
  76. until w = i;
  77. close(user);
  78. end;
  79. writeln();
  80. writeln('Welcome, ',name1[i],'!');
  81. writeln('Please choose the following:');
  82. writeln('1. Value adding');
  83. writeln('2. Exit');
  84. writeln();
  85. write('Your choice: ');
  86. readln(ans5);
  87. clrscr;
  88. end;
  89. procedure login(var user:text;var name2,pw2:string;var name,pw:idk;var check:boolean;var i,ans2,k:integer;var balance1:idk1);
  90. begin
  91. assign(user,'C:\Users\a\Desktop\123.txt');
  92. reset(user);
  93. while not eof(user) do
  94. begin
  95. i:=i+1 ;
  96. readln(user,name[i]);
  97. readln(user,pw[i]);
  98. readln(user,balance1[i]);
  99. end;
  100. close(user);
  101. check:=false;
  102. while not check do
  103. begin
  104. k:=0;
  105. writeln('You are logging in to our system.');
  106. writeln();
  107. write('Login name: ');
  108. readln(name2);
  109. write('Password: ');
  110. readln(pw2);
  111. repeat
  112. k:=k+1;
  113. if (name2 = name[k]) and (pw2 = pw[k]) then
  114. check:=true;
  115. until (check = true) or (k = i);
  116. if not check then
  117. writeln('Your name or password is incorrect!')
  118. else
  119. begin
  120. clrscr;
  121. writeln('Hello, ',name2,'!');
  122. writeln('Your balance is $',balance1[k],'.');
  123. writeln();
  124. writeln('Please choose the following:');
  125. writeln('1. Ticket booking');
  126. writeln('2. Value adding');
  127. writeln();
  128. write('Your choice: ');
  129. readln(ans2);
  130. end;
  131. end;
  132. clrscr;
  133. end;
  134. procedure print(var name3:string;var seat:text;var sit:idk2;balance1:idk1;i:integer;name1:idk);
  135. var
  136. p:char;
  137. k:integer;
  138. begin
  139. writeln('User: ',name1[i],' Balance: $',balance1[i]);
  140. writeln(' S C R E E N');
  141. assign(seat,'C:\Users\a\Desktop\123123.txt');
  142. reset(seat);
  143. while not eof(seat) do
  144. begin
  145. for p := 'A' to 'E' do
  146. begin
  147. write(p,' | ');
  148. for k:= 1 to 5 do
  149. begin
  150. readln(seat,sit[p,k]);
  151. write(sit[p,k],' | ');
  152. end;
  153. writeln();
  154. end;
  155. end;
  156. close(seat);
  157. end;
  158. procedure booking(var seat,user:text;var name:string; var ans2:char;var k,ans3,ans4,ans5:integer;var sit:idk2;var balance1:idk1;var name1,pw1:idk);
  159. var
  160. r,i:char;
  161. n,v,d,a:integer;
  162. begin
  163. ans3:=0;
  164. ans4:=0;
  165. ans5:=0;
  166. a:=0;
  167. v:=0;
  168. n:=0;
  169. d:=0;
  170. writeln();
  171. write('Enter the row: ');
  172. readln(r);
  173. write('Enter the seat number: ');
  174. readln(n);
  175. if balance1 [k]>= 60 then
  176. begin
  177. clrscr;
  178. assign(seat,'C:\Users\a\Desktop\123123.txt');
  179. rewrite(seat);
  180. for i := 'A' to 'E' do
  181. begin
  182. for v:= 1 to 5 do
  183. begin
  184. if (i<>r) or (v<>n) then
  185. writeln(seat,sit[i,v])
  186. else
  187. writeln(seat,'X');
  188. end;
  189. end;
  190. close(seat);
  191. assign(user,'C:\Users\a\Desktop\123.txt');
  192. reset(user);
  193. while not eof(user) do
  194. begin
  195. a:=a+1 ;
  196. readln(user,name1[a]);
  197. readln(user,pw[a]);
  198. readln(user,balance1[a]);
  199. end;
  200. close(user);
  201. balance1[k]:=balance1[k]-60;
  202. assign(user,'C:\Users\a\Desktop\123.txt');
  203. rewrite(user);
  204. repeat
  205. d:=d+1 ;
  206. writeln(user,name1[d]);
  207. writeln(user,pw[d]);
  208. writeln(user,balance1[d]);
  209. until d = a;
  210. close(user);
  211. print(name,seat,sit,balance1,k,name1);
  212. write('Anymore(Y/N)? ');
  213. readln(ans2);
  214. if (ans2 = 'Y') or (ans2 = 'y') then
  215. begin
  216. clrscr;
  217. print(name,seat,sit,balance1,k,name1);
  218. booking(seat,user,name,ans2,k,ans3,ans4,ans5,sit,balance1,name1,pw1);
  219. end
  220. else
  221. begin
  222. clrscr;
  223. ans3 := 2;
  224. end;
  225. end
  226. else
  227. begin
  228. writeln('Your balance is not enough!');
  229. writeln();
  230. writeln('Please choose the following:');
  231. writeln('1. Value adding');
  232. writeln('2. Exit');
  233. writeln();
  234. write('Your choice: ');
  235. readln(ans3);
  236. clrscr;
  237. end;
  238. end;
  239. procedure addValue(var m,i,ans1,ans2,ans3,ans4,ans5:integer;var user:text; var name1,pw1:idk;var balance1:idk1);
  240. var
  241. w,q:integer;
  242. begin
  243. ans1:=0;
  244. ans2:=0;
  245. ans3:=0;
  246. ans4:=0;
  247. ans5:=0;
  248. q:=0;
  249. w:=0;
  250. writeln('It is to add value to your account.');
  251. writeln();
  252. write('How much do you want to add? ');
  253. readln(m);
  254. assign(user,'C:\Users\a\Desktop\123.txt');
  255. reset(user);
  256. repeat
  257. w:=w+1;
  258. readln(user,name1[w]);
  259. readln(user,pw1[w]);
  260. readln(user,balance1[w]);
  261. until eof(user);
  262. close(user);
  263. assign(user,'C:\Users\a\Desktop\123.txt');
  264. rewrite(user);
  265. repeat
  266. q:=q+1;
  267. if q = i then
  268. begin
  269. writeln(user,name1[q]);
  270. writeln(user,pw1[q]);
  271. balance1[q]:=balance1[q]+m;
  272. writeln(user,balance1[q]);
  273. end
  274. else
  275. begin
  276. writeln(user,name1[q]);
  277. writeln(user,pw1[q]);
  278. writeln(user,balance1[q]);
  279. end;
  280. until q = w;
  281. close(user);
  282. writeln('Your updated balance is $',balance1[k],'.');
  283. writeln();
  284. writeln('Choose the following:');
  285. writeln('1. Ticket booking');
  286. writeln('2. Exit');
  287. writeln();
  288. write('Your choice: ');
  289. readln(ans4);
  290. clrscr;
  291. end;
  292. procedure exitSys();
  293. begin
  294. writeln('Thanks for using our system.');
  295. writeln('See you!');
  296. writeln();
  297. writeln('Press <ENTER> to close the window.');
  298. readln();
  299. end;
  300. begin
  301. initialize(n,ans1);
  302. repeat
  303. if ans1 = 2 then
  304. login(x,iname,inpw,name,pw,check,i,ans2,k,balance)
  305. else if ans1 = 1 then
  306. reg(x,name,pw,ans5,k,inpw,balance);
  307. if (ans2 = 1) or (ans4 = 1) then
  308. begin
  309. print(iname,y,seating,balance,k,name);
  310. booking(y,x,iname,ans6,k,ans3,ans4,ans5,seating,balance,name,pw);
  311. end;
  312. if (ans2 = 2) or (ans3 = 1) or (ans5 = 1) then
  313. addValue(m,k,ans1,ans2,ans3,ans4,ans5,x,name,pw,balance);
  314. until (ans3 = 2) or (ans4 = 2) or (ans5 = 2);
  315. exitSys();
  316. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement