Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program badtimesadlife;
- uses crt;
- type
- idk=array[1..100] of string;
- idk1=array[1..100] of integer;
- idk2=array['A'..'E',1..5] of char;
- var
- x,y:text;
- i,k,m,n,ans1,ans2,ans3,ans4,ans5:integer;
- balance:idk1;
- name,pw:idk;
- iname,inpw:string;
- seating:idk2;
- check:boolean;
- ans6:char;
- procedure initialize(var i,ans1:integer);
- begin
- i:=0;
- writeln('Welcome to our online booking system!');
- writeln();
- writeln('Please choose the following:');
- writeln('1. Register');
- writeln('2. Login');
- writeln();
- write('Your choice: ');
- readln(ans1);
- clrscr;
- end;
- procedure reg(var user:text;var name1,pw1:idk;var ans5,i:integer;var pw2:string;var balance1:idk1);
- var
- w:integer;
- begin
- w:=0;
- assign(user,'C:\Users\a\Desktop\123.txt');
- reset(user);
- while not eof(user) do
- begin
- i:=i+1 ;
- readln(user,name1[i]);
- readln(user,pw1[i]);
- readln(user,balance1[i]);
- end;
- close(user);
- i:=i+1;
- balance[i]:=0;
- writeln('It is to register a new account.');
- writeln();
- repeat
- write('Enter a logic name: ');
- readln(name1[i]);
- write('Enter a password: ');
- readln(pw1[i]);
- write('Enter a password again: ');
- readln(pw2);
- if pw1[i] <> pw2 then
- writeln('Plz check your password again!');
- until pw[i] = pw2;
- if i = 1 then
- begin
- assign(user,'C:\Users\a\Desktop\123.txt');
- rewrite(user);
- writeln(user,name1[i]);
- writeln(user,pw1[i]);
- writeln(user,balance1[i]);
- close(user);
- end
- else
- begin
- assign(user,'C:\Users\a\Desktop\123.txt');
- rewrite(user);
- repeat
- w:=w+1;
- writeln(user,name1[w]);
- writeln(user,pw1[w]);
- writeln(user,balance1[w]);
- until w = i;
- close(user);
- end;
- writeln();
- writeln('Welcome, ',name1[i],'!');
- writeln('Please choose the following:');
- writeln('1. Value adding');
- writeln('2. Exit');
- writeln();
- write('Your choice: ');
- readln(ans5);
- clrscr;
- end;
- procedure login(var user:text;var name2,pw2:string;var name,pw:idk;var check:boolean;var i,ans2,k:integer;var balance1:idk1);
- begin
- assign(user,'C:\Users\a\Desktop\123.txt');
- reset(user);
- while not eof(user) do
- begin
- i:=i+1 ;
- readln(user,name[i]);
- readln(user,pw[i]);
- readln(user,balance1[i]);
- end;
- close(user);
- check:=false;
- while not check do
- begin
- k:=0;
- writeln('You are logging in to our system.');
- writeln();
- write('Login name: ');
- readln(name2);
- write('Password: ');
- readln(pw2);
- repeat
- k:=k+1;
- if (name2 = name[k]) and (pw2 = pw[k]) then
- check:=true;
- until (check = true) or (k = i);
- if not check then
- writeln('Your name or password is incorrect!')
- else
- begin
- clrscr;
- writeln('Hello, ',name2,'!');
- writeln('Your balance is $',balance1[k],'.');
- writeln();
- writeln('Please choose the following:');
- writeln('1. Ticket booking');
- writeln('2. Value adding');
- writeln();
- write('Your choice: ');
- readln(ans2);
- end;
- end;
- clrscr;
- end;
- procedure print(var name3:string;var seat:text;var sit:idk2;balance1:idk1;i:integer;name1:idk);
- var
- p:char;
- k:integer;
- begin
- writeln('User: ',name1[i],' Balance: $',balance1[i]);
- writeln(' S C R E E N');
- assign(seat,'C:\Users\a\Desktop\123123.txt');
- reset(seat);
- while not eof(seat) do
- begin
- for p := 'A' to 'E' do
- begin
- write(p,' | ');
- for k:= 1 to 5 do
- begin
- readln(seat,sit[p,k]);
- write(sit[p,k],' | ');
- end;
- writeln();
- end;
- end;
- close(seat);
- end;
- 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);
- var
- r,i:char;
- n,v,d,a:integer;
- begin
- ans3:=0;
- ans4:=0;
- ans5:=0;
- a:=0;
- v:=0;
- n:=0;
- d:=0;
- writeln();
- write('Enter the row: ');
- readln(r);
- write('Enter the seat number: ');
- readln(n);
- if balance1 [k]>= 60 then
- begin
- clrscr;
- assign(seat,'C:\Users\a\Desktop\123123.txt');
- rewrite(seat);
- for i := 'A' to 'E' do
- begin
- for v:= 1 to 5 do
- begin
- if (i<>r) or (v<>n) then
- writeln(seat,sit[i,v])
- else
- writeln(seat,'X');
- end;
- end;
- close(seat);
- assign(user,'C:\Users\a\Desktop\123.txt');
- reset(user);
- while not eof(user) do
- begin
- a:=a+1 ;
- readln(user,name1[a]);
- readln(user,pw[a]);
- readln(user,balance1[a]);
- end;
- close(user);
- balance1[k]:=balance1[k]-60;
- assign(user,'C:\Users\a\Desktop\123.txt');
- rewrite(user);
- repeat
- d:=d+1 ;
- writeln(user,name1[d]);
- writeln(user,pw[d]);
- writeln(user,balance1[d]);
- until d = a;
- close(user);
- print(name,seat,sit,balance1,k,name1);
- write('Anymore(Y/N)? ');
- readln(ans2);
- if (ans2 = 'Y') or (ans2 = 'y') then
- begin
- clrscr;
- print(name,seat,sit,balance1,k,name1);
- booking(seat,user,name,ans2,k,ans3,ans4,ans5,sit,balance1,name1,pw1);
- end
- else
- begin
- clrscr;
- ans3 := 2;
- end;
- end
- else
- begin
- writeln('Your balance is not enough!');
- writeln();
- writeln('Please choose the following:');
- writeln('1. Value adding');
- writeln('2. Exit');
- writeln();
- write('Your choice: ');
- readln(ans3);
- clrscr;
- end;
- end;
- procedure addValue(var m,i,ans1,ans2,ans3,ans4,ans5:integer;var user:text; var name1,pw1:idk;var balance1:idk1);
- var
- w,q:integer;
- begin
- ans1:=0;
- ans2:=0;
- ans3:=0;
- ans4:=0;
- ans5:=0;
- q:=0;
- w:=0;
- writeln('It is to add value to your account.');
- writeln();
- write('How much do you want to add? ');
- readln(m);
- assign(user,'C:\Users\a\Desktop\123.txt');
- reset(user);
- repeat
- w:=w+1;
- readln(user,name1[w]);
- readln(user,pw1[w]);
- readln(user,balance1[w]);
- until eof(user);
- close(user);
- assign(user,'C:\Users\a\Desktop\123.txt');
- rewrite(user);
- repeat
- q:=q+1;
- if q = i then
- begin
- writeln(user,name1[q]);
- writeln(user,pw1[q]);
- balance1[q]:=balance1[q]+m;
- writeln(user,balance1[q]);
- end
- else
- begin
- writeln(user,name1[q]);
- writeln(user,pw1[q]);
- writeln(user,balance1[q]);
- end;
- until q = w;
- close(user);
- writeln('Your updated balance is $',balance1[k],'.');
- writeln();
- writeln('Choose the following:');
- writeln('1. Ticket booking');
- writeln('2. Exit');
- writeln();
- write('Your choice: ');
- readln(ans4);
- clrscr;
- end;
- procedure exitSys();
- begin
- writeln('Thanks for using our system.');
- writeln('See you!');
- writeln();
- writeln('Press <ENTER> to close the window.');
- readln();
- end;
- begin
- initialize(n,ans1);
- repeat
- if ans1 = 2 then
- login(x,iname,inpw,name,pw,check,i,ans2,k,balance)
- else if ans1 = 1 then
- reg(x,name,pw,ans5,k,inpw,balance);
- if (ans2 = 1) or (ans4 = 1) then
- begin
- print(iname,y,seating,balance,k,name);
- booking(y,x,iname,ans6,k,ans3,ans4,ans5,seating,balance,name,pw);
- end;
- if (ans2 = 2) or (ans3 = 1) or (ans5 = 1) then
- addValue(m,k,ans1,ans2,ans3,ans4,ans5,x,name,pw,balance);
- until (ans3 = 2) or (ans4 = 2) or (ans5 = 2);
- exitSys();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement