
2个回答
展开全部
#include<iostream.h>
#include<stdlib.h>
struct Step{
char resourceName[8];
int during;
struct Step * next;
};
struct Program {
char name[8];
struct Step *step;
};
struct Wait{
int programID;
struct Wait *next;
};
struct Resource {
char name[8];
int currentProgram;
int change;
struct Wait *wait;
};
int main(void)
{
struct Program program[3];
struct Resource resource[3];
int timer;
struct Wait * p,*q;
int i,j,t,s;
timer = 0;
i=0;
while(i<3){
j=0;
while(j<3){
if((program[i].step)->resourceName==resource[j].name)
break;
j++;
}
if(resource[j].currentProgram>0){
struct Wait *o = (struct Wait *)malloc(sizeof(struct Wait));
p->programID = i;
p->next = NULL;
q = NULL;
p = resource[j].wait;
while(p!=NULL){
q = p;
p=p->next;
}
if(q==NULL){
resource[j].wait = o;
}else{
q->next = o;
}
}else{
resource[j].currentProgram=i;
resource[j].change = 0 + (program[i].step)->during;
program[i].step=(program[i].step)->next;
}
}
i=0;
s=0;
while(i<3){
if(resource[i].change>0&&resource[i].change<=t||t==0){
t= resource[i].change;
s=i;
}
}
timer=t;
while(true){
int temp = resource[s].currentProgram;
if(program[temp].step!=NULL){
}
if(resource[s].wait!=NULL){
resource[j].currentProgram=(resource[s].wait)->programID;
resource[j].change = timer + (program[(resource[s].wait)->programID].step)->during;
program[(resource[s].wait)->programID].step=(program[i].step)->next;
resource[s].wait=(resource[s].wait)->next;
}else{
resource[s].currentProgram=0;
resource[s].change = 0;
}
i=0;
s=0;
t=timer;
while(i<3){
if(resource[i].change>0&&resource[i].change<=t||t==0){
t= resource[i].change;
s=i;
}
}
if(t==0){
break;
}else{
timer=t;
}
}
return 0;
}
#include<stdlib.h>
struct Step{
char resourceName[8];
int during;
struct Step * next;
};
struct Program {
char name[8];
struct Step *step;
};
struct Wait{
int programID;
struct Wait *next;
};
struct Resource {
char name[8];
int currentProgram;
int change;
struct Wait *wait;
};
int main(void)
{
struct Program program[3];
struct Resource resource[3];
int timer;
struct Wait * p,*q;
int i,j,t,s;
timer = 0;
i=0;
while(i<3){
j=0;
while(j<3){
if((program[i].step)->resourceName==resource[j].name)
break;
j++;
}
if(resource[j].currentProgram>0){
struct Wait *o = (struct Wait *)malloc(sizeof(struct Wait));
p->programID = i;
p->next = NULL;
q = NULL;
p = resource[j].wait;
while(p!=NULL){
q = p;
p=p->next;
}
if(q==NULL){
resource[j].wait = o;
}else{
q->next = o;
}
}else{
resource[j].currentProgram=i;
resource[j].change = 0 + (program[i].step)->during;
program[i].step=(program[i].step)->next;
}
}
i=0;
s=0;
while(i<3){
if(resource[i].change>0&&resource[i].change<=t||t==0){
t= resource[i].change;
s=i;
}
}
timer=t;
while(true){
int temp = resource[s].currentProgram;
if(program[temp].step!=NULL){
}
if(resource[s].wait!=NULL){
resource[j].currentProgram=(resource[s].wait)->programID;
resource[j].change = timer + (program[(resource[s].wait)->programID].step)->during;
program[(resource[s].wait)->programID].step=(program[i].step)->next;
resource[s].wait=(resource[s].wait)->next;
}else{
resource[s].currentProgram=0;
resource[s].change = 0;
}
i=0;
s=0;
t=timer;
while(i<3){
if(resource[i].change>0&&resource[i].change<=t||t==0){
t= resource[i].change;
s=i;
}
}
if(t==0){
break;
}else{
timer=t;
}
}
return 0;
}

2025-03-07 广告
力控供水SCADA调度系统针对大部分城市已经建立的供水监控系统主要存在的问题,以力控实时数据pSpace为数据平台、结合SCADA监控软件eForceCon建立了基于Web的B/S模式的供水监控系统,以供水公为工程节点建立一级管网监控中心,...
点击进入详情页
本回答由力控科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询