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

PF LAB assignment 2

The document is an assignment for a programming course at Comsats University Islamabad Attock Campus, submitted by students to Professor Umer Zia. It contains a Java program that implements a menu-driven system for managing staff, buses, passengers, and tickets, including functionalities for salary calculations, bus readiness checks, and ticket pricing with discounts. The program utilizes user input to perform various operations and displays relevant information based on the user's choices.

Uploaded by

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

PF LAB assignment 2

The document is an assignment for a programming course at Comsats University Islamabad Attock Campus, submitted by students to Professor Umer Zia. It contains a Java program that implements a menu-driven system for managing staff, buses, passengers, and tickets, including functionalities for salary calculations, bus readiness checks, and ticket pricing with discounts. The program utilizes user input to perform various operations and displays relevant information based on the user's choices.

Uploaded by

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

Comsats University Islamabad Attock Campus

PF LAB Assignment # 2

Submitted By: Shahid Zahoor Khan (01)


Haris Ashraf Khan (45)
Elisha Tanveer (42)
Hamid Ali (32)

Submitted To: Prof Umer Zia


Submission Date: 27-03-2024
Scanner sc=new Scanner(System.in);

char ans='y';

while(ans=='y')

System.out.println("1.Staff ");

System.out.println("2.Bus");

System.out.println("3.Passenger");

System.out.println("4.Ticket");

System.out.print("Chose from Menu: ");

int choice=sc.nextInt();

switch(choice)

case 1:

System.out.println("---------Staff Module-------");

System.out.print("Enter ID of Employee : ");

int id=sc.nextInt();

sc.nextLine();

System.out.print("Enter Name of Employee : ");

String name=sc.nextLine();

System.out.print("Enter Age of Employee : ");

int age=sc.nextInt();

sc.nextLine();

System.out.print("Enter Gender of Employee (M/F): ");

String gender=sc.nextLine();

System.out.print("Enter Contact Number of Employee : ");

String contact=sc.nextLine();

System.out.print("Enter Address of Employee : ");

String address=sc.nextLine();

//Calculate Salary.

System.out.print("Enter Hour Rate : ");


int hour_rate=sc.nextInt();

System.out.print("Enter Number of Hours/Day : ");

int hours_per_day=sc.nextInt();

int salary=(hour_rate*hours_per_day)*30;

//Calculate Overtime Salary.

System.out.print("Enter Overtime Rate/hour : ");

int overtime_hour_rate=sc.nextInt();

System.out.print("Enter Overtime Hours of Whole Month : ");

int overtime_hours=sc.nextInt();

int overtime_salary=overtime_hour_rate*overtime_hours;

int overtime_tax=0;

float deducted_tax=0;

float after_tax=0;

double total_salary=0;

if (salary>2000)

//Calculate 5% Tax on Salarygreater then 2000.

float tax=.05f;

deducted_tax=salary*tax;

after_tax=salary-deducted_tax;

total_salary=after_tax+overtime_salary;

else

//Calculate 0% Tax on Salary less then 2000.

float tax=.0f;

deducted_tax=salary*tax;

after_tax=salary-deducted_tax;

total_salary=after_tax+overtime_salary;

System.out.println("--------------------------------------Bill-------------------------------------");
System.out.println("ID : "+id);

System.out.println("Name : "+name);

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

System.out.println("Age : "+age);

System.out.println("Gender : "+gender);

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

System.out.println("Contact : "+contact);

System.out.println("Address : "+address);

System.out.println("------------------------------------Pay
Slip------------------------------------");

System.out.println("Rate/hour\t Hours\t\tSalary\t\t Tax\t\t Total");

System.out.println(hour_rate+"\t\t"+hours_per_day+"\t\t"+salary+"\t\
t"+deducted_tax+"\t\t"+after_tax);

System.out.println("------------------------------------
OverTime------------------------------------");

System.out.println(overtime_hour_rate+"\t\t"+overtime_hours+"\t\
t"+overtime_salary+"\t\t"+overtime_tax+"\t\t"+total_salary);

break;
case 2:

System.out.println("---------Bus Module-------");

sc.nextLine();

System.out.print("Enter Bus Number:");

String Bus_Number = sc.nextLine();

System.out.print("Enter Passenger Capacity:");

int Capacity = sc.nextInt();

sc.nextLine();

System.out.print("Enter Reserved Seats:");

int Reserved = sc.nextInt();

System.out.print("Enter Tyre Health:");

int Tyres_Condition = sc.nextInt();

System.out.print("Enter Engine Health:");

int Engine_Health = sc.nextInt();

System.out.print("Enter Brakes Health:");

int Brakes_Health = sc.nextInt();

int Report = (Tyres_Condition + Engine_Health + Brakes_Health)/3;

String Date="12-12";

String Time="12-00";

int Route_number=0;

String From="";

String To="";

float Fuel_Price=0;

float Distance=0;

float Cost=0;

if (Report >= 7)

System.out.println("**********Your Bus is Ready for Journey**********");

sc.nextLine();

System.out.print("Enter Date:");

Date = sc.nextLine();
System.out.print("Enter Time:");

Time = sc.nextLine();

System.out.print("Enter Route Number:");

Route_number = sc.nextInt();

sc.nextLine();

System.out.print("Enter Journey From:");

From = sc.nextLine();

sc.nextLine();

System.out.print("Enter Journey To:");

To = sc.nextLine();

System.out.print("Enter Fuel Price:");

Fuel_Price = sc.nextFloat();

System.out.print("Enter Distance:");

Distance=sc.nextFloat();

Cost=Fuel_Price*Distance;

else

System.out.println("Your Bus is Not Ready");

System.out.println("Date"+"\t\t"+"Time"+"\t\t"+"Bus Number"+"\t\t"+"Bus
Helath"+"\t\t"+"From"+"\t\t"+"To"+"\t\t"+"Cost");

System.out.println(Date+"\t\t"+Time+"\t\t"+Bus_Number+"\t\t\t"+Report+"\t\t\
t"+From+"\t\t"+To+"\t\t"+Cost);

break;

case 3:

System.out.println("---------Passenger Module-------");
Scanner scan= new Scanner(System.in);

//

System.out.println("Enter passenger Name: ");

String passengerName = scan.nextLine();

System.out.println("Enter Passenger ID no.:");

int passengerId = scan.nextInt();

scan.nextLine();

System.out.println("Enter Ticket No. :");

int ticketNo = scan.nextInt();

scan.nextLine();

System.out.println("Enter Ticket price :");

int ticketprice = scan.nextInt();

scan.nextLine();

System.out.println("Enter the location of passenger: ");

String passengerLocation = scan.nextLine();

System.out.println("Enter the destination of passenger:");

String passengerDestination=scan.nextLine();

System.out.println("Enter the age of Passenger:");

int passengerAge=scan.nextInt();

scan.nextLine();

System.out.println("Enter departure_time: ");

String departureTime=scan.nextLine();

System.out.println("Enter departure_date: ");

String departureDate=scan.nextLine();

System.out.println("Enter Contact number of passenge :");

String contactNumber= scan.nextLine();

float discount=0;

float after_disc=0;

if (passengerAge>=60)

float disc=.6f;
discount=ticketprice*disc;

after_disc=ticketprice-discount;

else

float disc=.0f;

discount=ticketprice*disc;

after_disc=ticketprice-discount;

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

System.out.println("Date"+"\t\t"+"Time"+"\t\t"+"Passenger Name"+"\t\t"+"Ticket
Number"+"\t\t"+"Ticket Price"+"\t\t"+"Age"+"\t\t"+"Discount"+"\t\t"+"Total");

System.out.println(departureDate+"\t"+departureTime+"\t\t"+passengerName+"\
t\t\t"+ticketNo+"\t\t\t"+ticketprice+"\t\t\t"+passengerAge+"\t\t"+discount+"\t\
t"+after_disc);

break;

case 4:
System.out.println("---------Ticket Module-------");

sc.nextLine();

System.out.println("Enter Bus Number: ");

String bus_no=sc.nextLine();

System.out.println("Enter Passenger ID: ");

int passenger_id=sc.nextInt();

sc.nextLine();

System.out.println("Enter Passenger Name: ");

String passenger_name=sc.nextLine();

System.out.println("Enter departure_time: ");

String departure_time=sc.nextLine();

System.out.println("Enter departure_date: ");

String departure_date=sc.nextLine();

System.out.println("Enter seat_no: ");

int seat_no=sc.nextInt();

sc.nextLine();

System.out.println("1.Business Class");

System.out.println("2.Economy Class");

System.out.println("Chose Passenger Class(1-2): ");

int class_passenger=sc.nextInt();

int basic_ticket_price=0;

int business_class_charges=0;

int economy_class_charges=0;

int ticket_price=0;

float tax=0;

float d_tax=0;

float aft_tax=0;

if (class_passenger==1)

System.out.println("-----Business Class-----");
System.out.println("Enter basic_ticket_price: ");

basic_ticket_price=sc.nextInt();

System.out.println("Enter business_class_charges: ");

business_class_charges=sc.nextInt();

ticket_price=basic_ticket_price+business_class_charges;

//calculate 5% on ticket.

tax = 0.05f;

d_tax = ticket_price * tax;

aft_tax=ticket_price-d_tax;

else

System.out.println("-----Economy Class-----");

System.out.println("Enter basic_ticket_price: ");

basic_ticket_price=sc.nextInt();

System.out.println("Enter economy_class_charges: ");

economy_class_charges=sc.nextInt();

ticket_price=basic_ticket_price+economy_class_charges;

//calculate 5% on ticket.

tax = 0.05f;

d_tax = ticket_price * tax;

aft_tax=ticket_price-d_tax;

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

System.out.println("Date"+"\t\t"+"Time"+"\t\t"+"Passenger Name"+"\t\t"+"Seat
Number"+"\t\t"+"Bus Number"+"\t\t"+"Ticket Price"+"\t\t"+"Tax"+"\t\t"+"Total");

System.out.println(departure_date+"\t\t"+departure_time+"\t\
t"+passenger_name+"\t\t\t"+seat_no+"\t\t\t"+bus_no+"\t\t\t"+ticket_price+"\t\t\
t"+d_tax+"\t\t"+aft_tax);

break;
default:

System.out.println("Invalid Entry");

break;

System.out.println("Do you want to see Menu again(y/n)");

ans=sc.next().charAt(0);

You might also like