欢迎来到天天文库
浏览记录
ID:37456158
大小:288.00 KB
页数:20页
时间:2019-05-24
《时间调度和进程调度实验代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、作业调度源代码附后1:#include#includeusingnamespacestd;structtime//时间的数据结构{inthour;intminute;};structJob//作业{stringjobname;//作业名timeintime;//进入时间intruntime;//作业估计运行时间timestarttime;//作业开始时间timeendtime;//作业结束时间intcycletime;//作业周转时间floatcltime;//作业带权周转时间boolhaverun;//是否已运行};floatT=0;//作业平均周转时间f
2、loatW=0;//作业带权平均周转时间voidshowInput(Jobjob[],int&n)//输入提示{cout<<"**********请按作业进入时间先后顺序输入*********"<>job[i].jobname;cout<<"作业进入时间:";scanf("%d:%d",&job[i].intime.hour,&job[i].intime.minute);cout<<"作业估计运行时间:";cin>>job[i].runtime;job[i
3、].starttime.hour=0;job[i].starttime.minute=0;job[i].endtime.hour=0;job[i].endtime.minute=0;job[i].cycletime=0;20job[i].cltime=0;job[i].haverun=false;//标记为未运行cout<<"*********************"<4、].endtime.hour=0;job[i].endtime.minute=0;job[i].cycletime=0;job[i].cltime=0;job[i].haverun=false;//标记为未运行}T=0;W=0;}voidshowTime(timetime)//显示时间{cout<5、time)//时间相加{time.hour+=addtime/60;time.minute+=addtime%60;if(time.minute>=60){time.hour++;time.minute-=60;}returntime;}boolcomtime(timet1,timet2)//比较两个时间的大小,第一个大就返回TRUE{if(t1.hour>t2.hour)20returntrue;elseif(t1.hour==t2.hour&&t1.minute>=t2.minute)returntrue;elsereturnfalse;}voidshowResult(Jobjob[],i6、nt&n)//显示结果{cout<<"jobnametintimetruntimetsttimetendtimet周转时间(分钟)t带权周转时间"<7、out<<"t";showTime(job[i].endtime);cout<<"t"<
4、].endtime.hour=0;job[i].endtime.minute=0;job[i].cycletime=0;job[i].cltime=0;job[i].haverun=false;//标记为未运行}T=0;W=0;}voidshowTime(timetime)//显示时间{cout<5、time)//时间相加{time.hour+=addtime/60;time.minute+=addtime%60;if(time.minute>=60){time.hour++;time.minute-=60;}returntime;}boolcomtime(timet1,timet2)//比较两个时间的大小,第一个大就返回TRUE{if(t1.hour>t2.hour)20returntrue;elseif(t1.hour==t2.hour&&t1.minute>=t2.minute)returntrue;elsereturnfalse;}voidshowResult(Jobjob[],i6、nt&n)//显示结果{cout<<"jobnametintimetruntimetsttimetendtimet周转时间(分钟)t带权周转时间"<7、out<<"t";showTime(job[i].endtime);cout<<"t"<
5、time)//时间相加{time.hour+=addtime/60;time.minute+=addtime%60;if(time.minute>=60){time.hour++;time.minute-=60;}returntime;}boolcomtime(timet1,timet2)//比较两个时间的大小,第一个大就返回TRUE{if(t1.hour>t2.hour)20returntrue;elseif(t1.hour==t2.hour&&t1.minute>=t2.minute)returntrue;elsereturnfalse;}voidshowResult(Jobjob[],i
6、nt&n)//显示结果{cout<<"jobnametintimetruntimetsttimetendtimet周转时间(分钟)t带权周转时间"<7、out<<"t";showTime(job[i].endtime);cout<<"t"<
7、out<<"t";showTime(job[i].endtime);cout<<"t"<
此文档下载收益归作者所有