Back
7
//First Come First Serve Scheduling Algorithm (FCFS)
#include <iostream>
void First_Come_First_Serve(std::string name_of_process[], int burst_time[],int number_of_processes){
double waiting_time = 0;
double turnaround_time = 0;
double total_waiting_time = 0;
double total_turnaround_time = 0;
std::cout<<"Name Of Process\tBurst Time\tWaiting Time\tTurnAround Time"<<std::endl;
for (int i=0;i<number_of_processes;i++){
turnaround_time += burst_time[i];
total_turnaround_time+=turnaround_time;
std::cout<<name_of_process[i]<<"\t\t"<<burst_time[i]<<"\t\t"<<waiting_time<<"\t\t"<<turnaround_time<<std::endl;
total_waiting_time+=waiting_time;
waiting_time += burst_time[i];
}
std::cout<<"\nAverage Waiting Time is:: "<<total_waiting_time/number_of_processes<<"\nAverage TurnAround Time is::"<<total_turnaround_time/number_of_processes<<std::endl;
}
int main(){
int number_of_processes;
std::cout<<"Enter the number of processes: ";
std::cin>>number_of_processes;
std::string name_of_process[number_of_processes];
int burst_time[number_of_processes];
for (int i=0;i<number_of_processes;i++){
std::cout<<"Enter Name of Process:: ";
std::cin>>name_of_process[i];
std::cout<<"Enter Burst Time of Process "<<name_of_process[i]<<":: ";
std::cin>>burst_time[i];
}
First_Come_First_Serve(name_of_process,burst_time,number_of_processes);
}