You are on page 1of 4

#include < stdio.

h >
#include < conio.h>
struct job
{
char name;
int a,b,s,w,f,v,t,p;
}x[5];
void starttime();
void finishtime();
void waitingtime();
void turnaroundtime();
void sort(int);
int q[5],k=0;
void main()
{
int i;
clrscr();
for(i=0;i<4;i++)
{
printf(enter process name,arrival time,burst time,priority for %d job,i+1);
scanf(%s %d %d %d,&x*i+.name,&x*i+.a,&x*i+.b,&x*i+.p);
}

starttime();
finishtime();

waitingtime();
turnaroundtime();
printf(process time,arrival time,burst time,priority time,start time,finish time,waiting time,turn around
time \n);
for(i=0;i<4;i++)
printf(%c\t %d\t %d\t %d\t %d\t %d\t %d \t %d\t \n
,x[i].name,x[i].a,x[i].b,x[i].p,x[i].s,x[i].f,x[i].w,x[i].t);
getch();
}

void finishtime()
{
int i;
for(i=0;i<4;i++)
x[i].f=x[i].b+x[i].s;
}
void waitingtime()
{
int i;
for(i=0;i<4;i++)
{
x[i].w=x[i].s-x[i].a;
}}
void turnaroundtime()
{

int i;
for(i=0;i<4;i++)
x[i].t=x[i].w+x[i].b;
}
void starttime()
{
int i,j,m;
q[k]=0;
x[k].s=x[k].a;
x[k].v=1;
for(i=0;i<4;i++)
{
sort(i);
j=q[i+1];
m=q[i];
}}
void sort(int c)
{
int i,j,m,temp;
m=x[q[c]].s+x[q[c]].b;
for(i=c;i<4;i++)
{
if(x[i].a
{
q[temp+k]=1;

x[i].v=1;
}}
for(i=c+1;i<=k;i++)
for(j=1;j<=k;j++)
if(x[q[i]].p>x[q[i]].p)
{
temp=q[i];
q[i]=q[j];
q[j]=temp;
}
getch();
}

You might also like