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("请输入创建进程个数:\n");
scanf("%d",&num);
for(int i=1;i<=num;i++){
printf("进程名称、到达时间、服务时间:\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服务时间");
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周转时间");
for(i=1;i<=num;i++){
printf("\t%d",p[i].T);}
printf("\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;