博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
0422作业调度
阅读量:4978 次
发布时间:2019-06-12

本文共 3487 字,大约阅读时间需要 11 分钟。

#include
#include
#include
struct jcb{ char name[10]; char status; int arrtime;//到达时间 int id; int reqtime;//作业运行所需时间 int startime;//开始时间 int finitime;//完成时间 int ti;//周转时间 float TAtime,TAWtime;//等待时间,带权周转时间 float prio;}job[24],jcb[24],jobarr[24];int systime=0;int m=0;int intarr,intfin,intjob;//到达的作业个数,完成作业个数、未到达作业个数int ReadFile(){ int i=0; FILE *fp; //定义文件指针 fp=fopen("F:/3.txt","r"); //打开文件 if(fp==NULL) { printf("File open error !\n"); exit(0); } printf("\n id 作业到达时间 作业运行所需要时间\n"); while(!feof(fp)) { fscanf(fp,"%d%d%d",&jcb[i].id,&jcb[i].arrtime,&jcb[i].reqtime); //fscanf()函数将数据读入 printf("\n%3d%12d%15d\n",jcb[i].id,jcb[i].arrtime,jcb[i].reqtime); //输出到屏幕 i++; } if(fclose(fp)) //关闭文件 { printf("Can not close the file !\n"); exit(0); } m=i; return m;}//调用伪随机数的产生数据int Pseudo_random_number(){ int i; srand((unsigned)time(0)); //参数seed是rand()的种子,用来初始化rand()的起始值。 //输入作业数 m=rand()%23+5; for(i=1; i<=m; i++) { jcb[i].id=i; //作业到达时间 jcb[i].arrtime=rand()%29+1; //作业运行时间 jcb[i].reqtime=rand()%7+1; } printf("\n id 作业到达时间 作业运行所需要时间\n"); for(i=1; i<=m; i++) { printf("\n%3d%12d%15d\n",jcb[i].id,jcb[i].arrtime,jcb[i].reqtime); } return m;}//先到先服务void TheFCFS(){ int i,j; float sum=0.0,acount=0.0; struct jcb temp; printf("**********先来先服务算法FCFS*************\n"); //ReadFile(); for(i=0;i
jcb[j].arrtime) { temp=jcb[i]; jcb[i]=jcb[j]; jcb[j]=temp; } } } printf("\n id 作业到达时间 作业运行所需要时间\n"); for(i=0;i
jcb[j].arrtime) { temp=jcb[i]; jcb[i]=jcb[j]; jcb[j]=temp; } } } printf("\n id 作业到达时间 作业运行所需要时间\n"); for(i=0;i
jcb[j].reqtime){ temp=jcb[i]; jcb[i]=jcb[j]; jcb[j]=temp; } } } jisuan(i,j);}//HRRF(最高响应比)算法调度 void TheHRRF(){ int i,j;float sum=0.0,acount=0.0; struct jcb temp; printf("**********最高响应比算法HRRF*************\n"); //ReadFile(); for(i=0;i
jcb[j].arrtime) { temp=jcb[i]; jcb[i]=jcb[j]; jcb[j]=temp; } } } for(i=1;i
jcb[j].reqtime){ temp=jcb[i]; jcb[i]=jcb[j]; jcb[j]=temp; } } } printf("\n id 作业到达时间 作业运行所需要时间\n"); for(i=0;i
:");}void insert(int n){ int i,j; char name[10]; int arrtime1; int reqtime1; printf("what?\n"); printf("输入作业名:"); scanf("%s",name); printf("到达时间:"); scanf("%d",&arrtime1); printf("要求服务时间:"); scanf("%d",&reqtime1); printf("\n"); for(i=0;i<=n;i++) { if(arrtime1
=i;j--) { job[j+1].arrtime=job[j].arrtime; strcpy(job[j+1].name,job[j].name); job[j+1].reqtime=job[j].reqtime; } job[i].arrtime=arrtime1; strcpy(job[i].name,name); job[i].reqtime=reqtime1; //n=n+1; break; } if((i=n)&&(arrtime1>=job[i].arrtime)) { job[i].arrtime=arrtime1; job[i].reqtime=reqtime1; strcpy(job[i].name,name); } } for(i=0;i<=n;i++) { printf("N %d\t%s\t%d\t%d\n",i+1,job[i].name,job[i].arrtime,job[i].reqtime); }}void Delete(int n){ int i,j; int arrtime1; printf("what?\n"); printf("input the data to delete:"); scanf("%d",&arrtime1); for(i=0;i
job[j].arrtime){ temp=job[i]; job[i]=job[j]; job[j]=temp; } } } printf("经按到达时间排序后,未达到队列是\n"); printf("\tname\tartime\trqtime\n"); for(i=0;i

 

转载于:https://www.cnblogs.com/4249ken/p/5419861.html

你可能感兴趣的文章
optionMenu-普通菜单使用
查看>>
【MemSQL Start[c]UP 3.0 - Round 1 C】 Pie Rules
查看>>
Ognl中“%”、“#”、“$”详解
查看>>
我对应用软件——美团的看法
查看>>
struts2.x + Tiles2.x读取多个xml 配置文件
查看>>
表单校验之datatype
查看>>
python第六篇文件处理类型
查看>>
ubuntu16系统磁盘空间/dev/vda1占用满的问题
查看>>
grid网格布局
查看>>
JSP常用标签
查看>>
九涯的第一次
查看>>
处理器管理与进程调度
查看>>
向量非零元素个数_向量范数详解+代码实现
查看>>
java if 用法详解_Java编程中的条件判断之if语句的用法详解
查看>>
matlab sin函数 fft,matlab的fft函数的使用教程
查看>>
mysql sin() 函数
查看>>
单片机复位电路
查看>>
php json_decode失败,返回null
查看>>
3-day3-list-truple-map.py
查看>>
Edit控件显示多行文字
查看>>