# include <iostream.h>
# include <conio.h>
void line()
{
cout<<"\n";
for(int i=0;i<80;i++)
cout<<"=";
cout<<"\n";
}
void display(int &p_no,int *bt,int *wt,int *tat,float &avg_wt,float &avg_tat)
{
cout<<"Tabulation:\n";
cout<<"\n\tProcess\t\tBT\tWT\tTAT\n";
for(int i=0;i<p_no;i++)
{
cout<<"\n\tP"<<i+1<<"\t\t"<<bt[i]<<"\t"<<wt[i]<<"\t"<<tat[i]<<"\n\n";
}
line();
cout<<"\nAverage Waiting Time =\t"<<avg_wt<<" ms";
cout<<"\nAverage Turn Around Time=\t"<<avg_tat<<" ms\n";
line();
cout<<"\n\n\n\t\t\t\tThankyou\n";
line();
cout<<"\n\n\n";
getch();
}
void grantt_chart(int &p_no,int *wt)
{
line();
cout<<"\nGrantt Chart:\n\n";
int i;
cout<<"\n";
for(i=0;i<p_no;i++)
cout<<"\tP"<<i+1;
cout<<"\n";
for(i=0;i<p_no;i++)
cout<<"\t"<<wt[i];
cout<<'\n';
line();
cout<<"\n";
}
void main()
{
int p_no,bt[10],wt[10],tat[10],i;
float avg_wt,avg_tat;
cout<<"\nEnter the number of process (Max 10)\n";
cin>>p_no;
line();
try
{
if(p_no>10)
throw(p_no);
}
catch(int no)
{
cout<<"\nProgram cannot execute for process more than 10\n\n\nTry Again...... :-)\n\n\n\n";
}
cout<<"\nEnter Burst time for Process\n";
for(i=0;i<p_no;i++)
{
cout<<"\nP"<<i+1<<"\t";
cin>>bt[i];
}
wt[0]=0;
avg_wt=avg_tat=0;
for(i=1;i<p_no;i++)
{
wt[i]=wt[i-1]+bt[i-1];
avg_wt=avg_wt+wt[i];
}
for(i=0;i<p_no;i++)
{
tat[i]=bt[i]+wt[i];
avg_tat=avg_tat+tat[i];
}
avg_wt=avg_wt/p_no;
avg_tat=avg_tat/p_no;
grantt_chart(p_no,wt);
display(p_no,bt,wt,tat,avg_wt,avg_tat);
}
# include <conio.h>
void line()
{
cout<<"\n";
for(int i=0;i<80;i++)
cout<<"=";
cout<<"\n";
}
void display(int &p_no,int *bt,int *wt,int *tat,float &avg_wt,float &avg_tat)
{
cout<<"Tabulation:\n";
cout<<"\n\tProcess\t\tBT\tWT\tTAT\n";
for(int i=0;i<p_no;i++)
{
cout<<"\n\tP"<<i+1<<"\t\t"<<bt[i]<<"\t"<<wt[i]<<"\t"<<tat[i]<<"\n\n";
}
line();
cout<<"\nAverage Waiting Time =\t"<<avg_wt<<" ms";
cout<<"\nAverage Turn Around Time=\t"<<avg_tat<<" ms\n";
line();
cout<<"\n\n\n\t\t\t\tThankyou\n";
line();
cout<<"\n\n\n";
getch();
}
void grantt_chart(int &p_no,int *wt)
{
line();
cout<<"\nGrantt Chart:\n\n";
int i;
cout<<"\n";
for(i=0;i<p_no;i++)
cout<<"\tP"<<i+1;
cout<<"\n";
for(i=0;i<p_no;i++)
cout<<"\t"<<wt[i];
cout<<'\n';
line();
cout<<"\n";
}
void main()
{
int p_no,bt[10],wt[10],tat[10],i;
float avg_wt,avg_tat;
cout<<"\nEnter the number of process (Max 10)\n";
cin>>p_no;
line();
try
{
if(p_no>10)
throw(p_no);
}
catch(int no)
{
cout<<"\nProgram cannot execute for process more than 10\n\n\nTry Again...... :-)\n\n\n\n";
}
cout<<"\nEnter Burst time for Process\n";
for(i=0;i<p_no;i++)
{
cout<<"\nP"<<i+1<<"\t";
cin>>bt[i];
}
wt[0]=0;
avg_wt=avg_tat=0;
for(i=1;i<p_no;i++)
{
wt[i]=wt[i-1]+bt[i-1];
avg_wt=avg_wt+wt[i];
}
for(i=0;i<p_no;i++)
{
tat[i]=bt[i]+wt[i];
avg_tat=avg_tat+tat[i];
}
avg_wt=avg_wt/p_no;
avg_tat=avg_tat/p_no;
grantt_chart(p_no,wt);
display(p_no,bt,wt,tat,avg_wt,avg_tat);
}