Comsats University Islamabad (Lahore Campus)
Comsats University Islamabad (Lahore Campus)
Comsats University Islamabad (Lahore Campus)
(LAHORE CAMPUS)
REG. # FA19-BSE-051
LAB SESSIONAL # 02
#include<iostream>
using namespace std;
struct flightInfo
{
int Flight_ID;
int Fuel;
string Destination;
int schetime;
int actualtime;
int WaitingTime;
int Runway_ID;
};
const int Size = 100;
class PriorityQueue
{
private:
flightInfo FlightQueue[Size];
int tail;
int Front;
int Counter;
flightInfo EmergencyQ[Size];
int Etail;
int Efront;
int ECounter;
public:
PriorityQueue()
{
tail = 0;
Front = 0;
Counter = 0;
ECounter = 0;
Etail = 0;
Efront = 0;
}
bool isFull_FlightRecord()
{
if(Counter >= Size)
{
return true;
}
else
{
return false;
}
}
EmergencyQ[ECounter].Flight_ID = FlightQueue[i].Flight_ID;
EmergencyQ[ECounter].Fuel = FlightQueue[i].Fuel;
EmergencyQ[ECounter].Destination = FlightQueue[i].Destination;
EmergencyQ[ECounter].schetime = FlightQueue[i].schetime;
EmergencyQ[ECounter].actualtime = FlightQueue[i].actualtime;
EmergencyQ[ECounter].WaitingTime =
FlightQueue[i].schetime-FlightQueue[i].actualtime;
EmergencyQ[ECounter].Runway_ID = FlightQueue[i].Runway_ID;
ECounter++;
for(int j=i; j<Counter; j++)
{
FlightQueue[j] = FlightQueue[j+1];
}
i--;
Counter--;
}
}
}
};
int main()
{
PriorityQueue pq;
flightInfo arrivals;
int choice=1,FNum;
while(choice != 0)
{
cout<<"\n\n\t\t1: Enter Record Of Flight";
cout<<"\n\n\t\t2: Emergency Flight";
cout<<"\n\n\t\tEnter Your Choice...";
cin>>choice;
switch(choice)
{
case 1:
if(pq.isFull_FlightRecord()==true)
{
cout<<"\n\tSorry!No more space is available in Arrival Record
File";
}
else
{
cout<<"Enter Flight_ID: ";
cin>>arrivals.Flight_ID;
cout<<"Enter Fuel: ";
cin>>arrivals.Fuel;
//FUALT TOLERENT SYSTEM
if(arrivals.Fuel<=0 || arrivals.Fuel >=100000)
{
cout<<"\n\n\t\t***Error!Invalid Fuel Amount***"<<endl;
continue;
}
cout<<"Enter destination: ";
cin>>arrivals.Destination;
cout<<"Enter Scheduled_Time: ";
cin>>arrivals.schetime;
cout<<"Enter Actual_Time: ";
cin>>arrivals.actualtime;
cout<<"Enter Runway_ID: ";
cin>>arrivals.Runway_ID;
pq.ArrivalFlightRecord(arrivals);
}
break;
case 2:
cout<<"\n\n\t\t\t\t***HURRY_UP****";
cout<<"\n\tPlease Enter Flight Number you want to Land in
Emergency: ";
cin>>FNum;
pq.DeQueueFlighFacingEmergency(FNum);
break;
}
}
QUESTION # 1
#include<iostream>
using namespace std;
struct node
{
int data;
node *next;
};
class LinkList
{
private:
node *head,*head2,*newNode,*temp;
public:
LinkList()
{
head = NULL;
head2 = NULL;
newNode = NULL;
temp = NULL;
if(head == NULL)
{
head = temp = orderedList1;
}
cout<<"Create Second node";
cout<<"Enter Number To Insert in Node 2";
node orderedList2 = new (Node);
orderedList2->data = num2;
orderedList2->next = NULL;
if(head2 == NULL)
{
head = temp =orderedList2;
}
if(orderedList1->data > orderedList2->data)
{
orderedList1->next = orderedList2;
}
else if(orderedList2->data > orderedList1->data)
{
orderedList2->next = orderedList1;
}
}
};
int main()
{
LinkList ll;