作业调度算法的实现

这是一个关于作业调度算法的个人练习,涉及一系列作业的处理。每个作业包含作业号、进入系统时间和预计执行时间。根据不同的调度算法,输出作业的执行顺序及进入内存的时间。
摘要由CSDN通过智能技术生成

个人练习

输入:作业序列,即一系列要执行的作业,每个作业包括三个数据项:
作业号、作业进入系统的时间(用一整数表示,如 10:10,表示成 1010)、
估计执行时间(单位分)
3
参数用空格隔开,下面是示例:
1 800 50
2 815 30
3 830 25
4 835 20
5 845 15
6 900 10
7 920 5
按不同的调度算法输出作业序列,进入内存的时间;每行输出一个作业信息

#include<iostream>
using namespace std;

struct JOB {
   
	char name[10];//进程名
	int arrivetime;//到达时间
	int runtime;//运行时间
	int starttime;//开始时间
	int endtime;//完成时间
	int zztime;//周转时间
	double dqzztime;//带权周转时间
	int time;
	int R;//响应比算法优先级
};

JOB z[100];//定义一个结构体数组

/*时间转换*/
int time_hm(int n) {
   
	int a;
	int b;
	int time_min;
	a = (int)n * 1.0 / 100;
	b = n % 100;
	time_min = a * 60 + b;
	return time_min;
}


int time_mh(int n) {
   
	int a;
	int b;
	int time;
	a = (int)n * 1.0 / 60;
	b = n % 60;
	time = a * 100 + b;
	return time;
}


/*输入函数*/
void input(JOB* p, int n) {
   
	int i;
	cout << "请输入作业编号,到达时间,运行时间" << endl;
	for (i = 0; i <= n - 1; i++) {
   
		cout << "输入作业" << i + 1 << "的信息:" << endl;
		cin >> z[i].name >> z[i].time >> z[i].runtime;
		z[i].arrivetime = time_hm(z[i].time);
	}
}

/*输出函数*/
void print(JOB* p, int arrivetime, int runtime, int starttime, int endtime, int zztime, double dqzztime, int n) {
   
	int k;

	cout << "执行顺序:";
	cout << z[0].name;
	for (k = 1; k < n; k++) {
   
		cout << "->" << z[k].name;
	}
	cout 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值