📄 os.cpp
字号:
}
/////////////////////////////////////////////////////////////////////////////////
void last()
{
eti/=n;ewi/=n;
printf(" *************************** \n");
printf("*---*--*--*--*--*--*--*---** 昨天今天明天制作 **---*--*--*--*--*--*--*---*\n");
printf("* *************************** *\n");
printf("* *\n");
printf("*----------------------------------欢迎使用!----------------------------------*\n");
printf("\n\n平均周转时间:%7.3f\t平均带权周转时间:%6.3f\n\n\n",eti,ewi);
printf("*******************************************************************************\n\n\n\n");
getch();
}
/////////////////////////////////////////////////////////////////////////////////
void pringt_sel(int m)
{int t;
if(eti_1==0||ewi_2==0||eti_3==0||ewi_4==0||eti_5==0||ewi_6==0||eti_7==0||ewi_8==0)
{face_TS3();
scanf("%d",&t);
switch(t)
{
case 1: whole();break;
case 2: main_sel(m);break;
default:printf("\n错误!您只能选择1或2。\n"); pringt_sel(m);
}
}
else whole();
}
/////////////////////////////////////////////////////////////////////////////////
void whole()
{system("cls");
printf(" *************************** \n");
printf("*---*--*--*--*--*--*--*---** 昨天今天明天制作 **---*--*--*--*--*--*--*---*\n");
printf("* *************************** *\n");
printf("* *\n");
printf("*----------------------------------欢迎使用!----------------------------------*\n");
printf("\n先来先服务算法: 平均周转时间:%7.3f\t平均带权周转时间:%6.3f\n\n",eti_1,ewi_2);
printf("\n最短作业优先算法: 平均周转时间:%7.3f\t平均带权周转时间:%6.3f\n\n",eti_3,ewi_4);
printf("\n响应比高者优先算法:平均周转时间:%7.3f\t平均带权周转时间:%6.3f\n\n",eti_5,ewi_6);
printf("\n高优先权优先算法: 平均周转时间:%7.3f\t平均带权周转时间:%6.3f\n\n",eti_7,ewi_8);
printf("*******************************************************************************\n\n\n\n");
getch();
}
/////////////////////////////////////////////////////////////////////////////////
void main_hrn(int m)
{
JCB *min;int i,iden;
fileway(m);
for(i=0;i<n;i++)
{
p=min=head;iden=1;
super(m);
while(p!=NULL)
{
if(p->state=='W'&&p->ts<=time_1)
if(iden)
{
min=p;iden=0;
}
else if(p->super>min->super)
min=p;
p=p->link;
}
if(iden)
{
i--;
printf("\ntime=%d:\t没有作业控制块提交,请等待....\n",time_1);
time_1++;
if(time_1>100)
{
printf("\n运行时间过长,请重新输入。");
getch();
}
}
else
{
running(min,m);
}
}
last();
if(m==3){eti_5=eti; ewi_6=eti;}
if(m==4){eti_7=eti; ewi_8=eti;}
time_1=0;
head=NULL;
eti=0;
ewi=0;
main_sel(m);
}
/////////////////////////////////////////////////////////////////////////////////
void main_sjf(int m)
{
JCB *min;int i,iden;
fileway(m);
for(i=0;i<n;i++)
{
p=min=head;iden=1;
while(p!=NULL)
{
if(p->state=='W'&&p->ts<=time_1)
if(iden)
{
min=p;iden=0;
}
else if(p->ntime<min->ntime)
min=p;
p=p->link;
}
if(iden)
{
i--;
printf("\ntime=%d:\t没有作业控制块提交,请等待....\n",time_1);
time_1++;
if(time_1>100)
{
printf("\n运行时间过长,请重新输入。");
getch();
}
}
else
{
running(min,m);
}
}
last();
eti_3=eti;
ewi_4=eti;
time_1=0;
head=NULL;
eti=0;
ewi=0;
main_sel(m);
}
/////////////////////////////////////////////////////////////////////////////////
void main_fcfs(int m)
{
int i,iden;
fileway(m);
printf("\n作业控制块正在运行...\n");
for(i=0;i<n;i++)
{
p=head;iden=1;
while(p!=NULL&&iden)
{
if(p->state=='W'&&p->ts<=time_1) iden=0;
if(iden) p=p->link;
}
if(iden)
{
i--;
printf("\ntime=%d:\t没有作业控制块提交,请等待....\n",time_1);
time_1++;
if(time_1>100)
{
printf("\n运行时间过长,请重新输入。");
getch();
}
}
else
{
running(p,m);
}
}
last();
eti_1=eti;
ewi_2=eti;
time_1=0;
head=NULL;
eti=0;
ewi=0;
main_sel(m);
}
/////////////////////////////////////////////////////////////////////////////////
void face_main()
{system("cls");
printf(" *************************** \n");
printf("*---*--*--*--*--*--*--*---** 昨天今天明天制作 **---*--*--*--*--*--*--*---*\n");
printf("* *************************** *\n");
printf("* *\n");
printf("*----------------------------------欢迎使用!----------------------------------*\n");
printf("* *\n");
printf("*******************************************************************************\n");
printf("* *\n");
printf("* 1--先来先服务 2--最短作业优先 3--响应比高者优先 *\n");
printf("* *\n");
printf("* 4--高优先权优先 5--比较各算法 0--退出 *\n");
printf("* *\n");
printf("*******************************************************************************\n");
printf("* *\n");
printf("* 请输入1、2、3、4或者0,按回车结束。 *\n");
printf("* *\n");
printf("*******************************************************************************\n");
}
void face_TS1()
{
printf(" *************************** \n");
printf("*---*--*--*--*--*--*--*---** 昨天今天明天制作 **---*--*--*--*--*--*--*---*\n");
printf("* *************************** *\n");
printf("* *\n");
printf("*----------------------------------欢迎使用!----------------------------------*\n");
printf("* *\n");
printf("* 1--使用已有数据 2--使用新数据 *\n");
printf("* *\n");
printf("*******************************************************************************\n");
}
void face_TS2()
{
printf(" *************************** \n");
printf("*---*--*--*--*--*--*--*---** 昨天今天明天制作 **---*--*--*--*--*--*--*---*\n");
printf("* *************************** *\n");
printf("* *\n");
printf("*----------------------------------欢迎使用!----------------------------------*\n");
printf("* *\n");
printf("*******************************************************************************\n");
printf("* *\n");
printf("* 输入一项后按Tab键,四项都输完时按Enter键,然后就可以输入下个作业的信息。 *\n");
printf("* *\n");
printf("*******************************************************************************\n");
}
void face_TS3()
{
printf(" *************************** \n");
printf("*---*--*--*--*--*--*--*---** 昨天今天明天制作 **---*--*--*--*--*--*--*---*\n");
printf("* *************************** *\n");
printf("* *\n");
printf("*----------------------------------欢迎使用!----------------------------------*\n");
printf("* *\n");
printf("*******************************************************************************\n");
printf("* *\n");
printf("* 您尚未把全部算法都运行一遍,这样比较效果不佳。您确定要输出结果进行比较吗? *\n");
printf("* *\n");
printf("*******************************************************************************\n");
printf("* *\n");
printf("* 1--是 2--否 *\n");
printf("* *\n");
printf("*******************************************************************************\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -