0% found this document useful (0 votes)
56 views

Bus Reservation System

The document describes a Java program for a bus reservation and ticketing system. The program allows users to: 1. View destinations, fares, and available seats. 2. Book tickets by entering passenger name, destination, number of passengers, and number receiving discounts. 3. The program checks seat availability, applies discounts, and stores booking details in arrays.

Uploaded by

Vinay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views

Bus Reservation System

The document describes a Java program for a bus reservation and ticketing system. The program allows users to: 1. View destinations, fares, and available seats. 2. Book tickets by entering passenger name, destination, number of passengers, and number receiving discounts. 3. The program checks seat availability, applies discounts, and stores booking details in arrays.

Uploaded by

Vinay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

import java.io.

*;
public class BusReservationAndTicketingSystem {

public static void main(String args[]) throws IOException {


BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));

String user,password,yn,search,again,choice;
int to=0,y=1,z=0,end=0,r=1;
int available[] = new int[6];
int ticketI[][] = new int [100][3];
String ticketS[][] = new String[100][3];
double ticketD[][] = new double [100][3];
double pay[] = new double[20];
double change[] = new double[20];

for(int i=1;i<4;){
System.out.print("Enter Username: ");
user = in.readLine();
System.out.print("Enter Password: ");
password = in.readLine();

//"available[]" is the SEAT AVAILABLE//


//store 20 seats every destination [1-5]//
for(int o=1; o<=5; o++){
available[o]=20;
}

//if user and password are correct proceed to MAIN MENU//


if(user.equals("1") && password.equals("1")){

for(int x=1; x==1;){


//the MAIN MENU//

System.out.println("********************************************"
);
System.out.println("** BUS RESERVATION AND TICKETING
SYSTEM **");

System.out.println("********************************************"
);
System.out.println("** [1] Destination
**");
System.out.println("** [2] Passengers
**");
System.out.println("** [3] Billing
**");
System.out.println("** [4] View
**");
System.out.println("** [5] Exit
**");
System.out.println("***************************************");

System.out.println("***************************************\n");

for(x=1; x==1;){
System.out.print("ENTER CHOICE: ");
choice=in.readLine();

//if CHOICE is "1" display the


DESTINATION//
if (choice.equals("1")){
//the DESTINATION DETAILS//
//display the "Destination", every
destination "Fare", and the "Seat" available//

System.out.println("***************************************");
System.out.println("** DESTINATION |
FARE | SEAT **");

System.out.println("***************************************");
System.out.println("** 1.)DAVAO CITY
| Php600 | "+available[1]+" **");
System.out.println("** 2.)BUTUAN CITY |
Php170 | "+available[2]+" **");
System.out.println("** 3.)CABADBARAN |
Php150 | "+available[3]+" **");
System.out.println("** 4.)TANDAG |
Php200 | "+available[4]+" **");
System.out.println("** 5.)CAGAYAN |
Php250 | "+available[5]+" **");

System.out.println("***************************************");

System.out.println("***************************************\n");
System.out.println("PWD, STUDENT, & SENIOR
CITIZEN with 20% DISCOUNT!!!\n");
x=0;
}

//if CHOICE is "2" proceed to Ticket


Booking//
else if (choice.equals("2")){
int print=1;

//display first the Destination


Details//

System.out.println("***************************************");
System.out.println("** DESTINATION |
FARE | SEAT **");

System.out.println("***************************************");
System.out.println("** 1.)DAVAO CITY |
Php600 | "+available[1]+" **");
System.out.println("** 2.)BUTUAN CITY |
Php170 | "+available[2]+" **");
System.out.println("** 3.)CABADBARAN |
Php150 | "+available[3]+" **");
System.out.println("** 4.)TANDAG |
Php200 | "+available[4]+" **");
System.out.println("** 5.)CAGAYAN |
Php250 | "+available[5]+" **");

System.out.println("***************************************");

System.out.println("***************************************\n");
System.out.println("PWD, STUDENT, & SENIOR
CITIZEN with 20% DISCOUNT!!!\n");

if((available[1]==0)&&(available[2]==0)&&(available[3]==0)&&(avai
lable[4]==0)&&(available[5]==0)){
System.out.println("Sorry, We don't
have available seats for all Destination!");
x=0;

//inputing of Passenger's Name//


else{
for(x=1; x==1;){
System.out.print("\nENTER PASSENGER'S
NAME: ");
ticketS[z][0] = in.readLine();

x=0;

//if Passenger's Name already


used, display error and go back to Inputing//
for(int l=0; l<z; l++){

if(ticketS[l][0].equalsIgnoreCase(ticketS[z][0])){
System.out.println("Sorry,
Passenger's name have already used!");
x=1;
}
}
}
//inputing of Destination//
//integers Only [1-5]//
for(x=1; x==1;){
System.out.print("ENTER DESTINATION
[number]: ");
to = Integer.parseInt(in.readLine());

//if Inputed integers are "<1" or


">5", display error and go back to Inputing//
if(to<1 || to>5){
System.out.println("Invalid
Input!");
x=1;
}
//if available seat is eqaul to
"Zero", display error and go back to Inputing//
for(int d=1; d<=5; d++){
if(to==d){
if(available[to]==0){

System.out.println("Sorry, We don't have available seat!");


x=1;
}
x=0;
}
}
}

//convert the integer to string//


String dest[] = { " ", "DAVAO CITY",
"BUTUAN CITY", "CABADBARAN", "TANDAG", "CAGAYAN"};
double fare[] = { 0,600,170,150,200,250};

//converted integer to string, transfer to


storage array//
ticketS[z][1] = dest[to];
ticketD[z][0] = fare[to];

//inputing for Number of Passenger's//


for(x=1; x==1;){
System.out.print("HOW MANY PASSENGERS ARE
YOU?: ");
ticketI[z][0] =
Integer.parseInt(in.readLine());

//subtract the available seat by the


the number inputed//
for(int p=1; p<=5; p++){
if(to==p){
print=1;
available[to] =
available[to]-ticketI[z][0];

//if the subtracted


available seat is "<0", display error//
//add the inputed number to
the subtracted seat, to back the original seat//
//display the available
seat and back to the inputing//
if(available[to]<0){

System.out.print("Sorry, We don't have seat available for "


+ticketI[z][0] +" person\n");
available[to] =
available[to]+ticketI[z][0];
System.out.print("We
only have " +available[to] +" seat available\n");
x=1;
print=0;
}
else{
x=0;
}
}
}

//inputing for Number of Discounted


Passenger's//
for(x=1;x==1;){
System.out.print("HOW MANY PASSENGERS
HAVE DISCOUNT?: ");
ticketI[z][1] =
Integer.parseInt(in.readLine());

if(ticketI[z][1]>ticketI[z][0]){

System.out.println("Invalid
Input!");
System.out.println("No. of
Passengers are only " +ticketI[z][0] +"!");
x=1;
}
else{
break;
}
}

//print out of passengers details....


if(print==1){
System.out.println("\n***************************************");
System.out.println("**
PASSENGER'S DETAILS **");

System.out.println("***************************************");
System.out.println("PASSENGER'S NAME:
" + ticketS[z][0]);
System.out.println("PASSENGER'S
DESTINATION : " + ticketS[z][1]);
System.out.println("FARE PRICE: Php "
+ ticketD[z][0]);
System.out.println("NO. OF PASSENGERS:
" + ticketI[z][0]);
System.out.println("NO. OF PASSENGERS
WITH DISCOUNT: " + ticketI[z][1]);

System.out.println("***************************************");

System.out.println("***************************************\n");
ticketS[z][2]="0";
double discount=(ticketD[z][0]-
(ticketD[z][0]*0.2))*ticketI[z][1];
ticketD[z][2]= ((ticketI[z][0]-
ticketI[z][1])*ticketD[z][0])+discount;
x=0;
}
z++;
}
}

else if (choice.equals("3")){

for(x=1; x==1;){

System.out.print("ENTER
PASSENGER'S NAME: ");
search = in.readLine();

int s=1;
for(int b=0;b<z;b++){

if(search.equalsIgnoreCase(ticketS[b][0])){

System.out.println("***************************************");

System.out.println("** PASSENGER'S DETAILS **");

System.out.println("***************************************");
System.out.println("PASSENGER'S NAME: " + ticketS[b][0]);

System.out.println("PASSENGER'S DESTINATION : " + ticketS[b][1]);

System.out.println("FARE PRICE: Php" + ticketD[b][0]);

System.out.println("NO. OF PASSENGERS: " + ticketI[b][0]);

System.out.println("NO. OF PASSENGERS WITH DISCOUNT: " +


ticketI[b][1]);

System.out.println("***************************************");

System.out.println("***************************************");
s=0;
x=0;

if(ticketS[b][2].equals("x")){

System.out.println("Passenger's Already Paid!");


x=0;
}
else{

ticketS[b][2]="x";

for(x=1; x==1;){

System.out.println("\nPASSENGER'S TOTAL FARE: Php


"+ticketD[b][2]);

System.out.print("ENTER AMOUNT TO PAY: ");


pay[b] =
Double.parseDouble(in.readLine());

change[b]=pay[b]-ticketD[b][2];

if(change[b]<0){

System.out.println("Invalid Input!");
x=1;
}
else{

System.out.println("CHANGE: Php "+change[b]);

System.out.println("");
x=0;
}
}
}
}
}
if (s==1){

System.out.println("\nPASSENGER'S NAME NOT FOUND!\n");


for(int q=1; q==1;){

System.out.print("Do
you wish to continue with this transaction? [Y/N]: ");
again=in.readLine();

if(again.equalsIgnoreCase("y")){
q=0;
}
else if
(again.equalsIgnoreCase("n")){
q=0;
x=0;

}
else{

System.out.println("\nInvalid input!\n");
}

}
}
}

else if (choice.equals("4")){

for(int sx=1; sx<=3;){


System.out.print("SEARCH PASSENGER'S
NAME: ");
search = in.readLine();

int s=1;
for(x=0; x<=z; x++){

if(search.equalsIgnoreCase(ticketS[x][0])){

System.out.println("***************************************");
System.out.println("**
PASSENGER'S DETAILS **");
System.out.println("***************************************");

System.out.println("PASSENGER'S NAME: " + ticketS[x][0]);

System.out.println("PASSENGER'S DESTINATION : " + ticketS[x][1]);


System.out.println("FARE
PRICE: Php" + ticketD[x][0]);
System.out.println("NO. OF
PASSENGERS: " + ticketI[x][0]);
System.out.println("NO. OF
PASSENGERS WITH DISCOUNT: " + ticketI[x][1]);
System.out.println("TOTAL
FARE PRICE: Php " + ticketD[x][2]);

if(ticketS[x][2].equals("x")){

System.out.println("PAY: Php " +pay[x]);

System.out.println("CHANGE: Php " +change[x]);

System.out.println("STATUS: PAID");
}
else{

System.out.println("STATUS: NOT PAID");


}

System.out.println("***************************************");

System.out.println("***************************************");
s=0;
sx=4;
}
}

if (s==1){

System.out.println("Passenger's Name not found!");


sx++;
}

}
}

else if(choice.equals("5")){
end=1;
x=0;
System.out.println("Thank You!");
}
else{
System.out.println("Invalid Input!");
x=1;
}
}

for(y=1; y==1;){
if(end==1){
break;
}
System.out.print("Do you want another
transaction? [Y/N]: ");
yn = in.readLine();

if (yn.equalsIgnoreCase("y")){
x=1;
y=0;
}
else if (yn.equalsIgnoreCase("n")){
System.out.println("\nThank You!!!");
break;
}
else{
System.out.println("Invalid Input!!!");
y=1;
}
}
}
i=4;
}
else{
System.out.println("\nInvalid user or password!\n");
i++;
}

You might also like