c++
#include<stdio.h>
#include<string.h>
struct PCB{
char name[10];
int arr_time;
int bur_time;
int sta_time;
int fin_time;
int T;
double W;
}
int num;
struct PCB p[10];
int n;
void creat_Process(){
printf("請輸入創(chuàng)建進程個數(shù):\n");
scanf("%d",&num);
for(int i=1;i<=num;i++){
printf("進程名稱、到達時間、服務(wù)時間:\n");
scanf("%s",&p[i].name);
scanf("%d",&p[i].arr_time);
scanf("%d",&p[i].bur_time);
}}
void display(){
for(int i=1;i<=num;i=++){
printf(" \t%s",p[i].name);}
printf(" \n到達時間");
for(i=1;i<=num;i++){
printf("\t%d",p[i].arr_time);}
printf(" \n服務(wù)時間");
for(i=1;1<=num;i++){
printf("\t%d",p[i].bur_time);}
printf("\n開始運行時間");
for(i=1;i<=num;i++){
printf("\t%d",p[i].sta_time);}
printf("\n完成時間");
for(i=1;i<=num;i++){
printf("\t%d",p[i].fin_time);}
printf("\n周轉(zhuǎn)時間");
for(i=1;i<=num;i++){
printf("\t%d",p[i].T);}
printf("\n帶權(quán)周轉(zhuǎn)時間");
for(i=1;i<=num;i++){
printf("\t%.1lf",p[i].W);}}
void FCFS(){
for( int i=1;i<=num;i++){
for(int j=i+1;j<=num;j++){
if(p[i].arr_time>p[j].arr_time){
p[0]=p[j];
p[j]=p[i];
p[i]=p[0];}}}
p[1].sta_time=p[1].arr_time;
p[1].fin_time=p[1].arr_time+p[1].bur_time;
p[1].T=p[1].fin_time-p[1].arr_time;
p[1].W=P[1].T/P[1].bur_time;
for(i=2;i<=num;i++){
p[i].sta_time=p[i-1].sta_time+p[i-1].bur_time;
p[i].fin_time=p[i-1].fin_time+p[i].bur_time;