麻烦高手帮忙!!!
一下是我的代码,总是运行到最后的时候提示有问题要关闭?这是一个关于作业调度的程序。请高手指点!!!
#include<iostream>
#include"stdio.h"
#define getjcb(type)(type *)malloc(sizeof(type))
#define NULL 0
using namespace std;
int m=0, n=0;
struct JCB {
char name[10]; //作业名
float arriveTime; //作业到达时间
float startTime; //开始运行时间
float neceTime; //需要的时间
float finishTime; //完成时间
char state; //作业状态(运行(r)或等待(w))
JCB *next;
} *p, *arrStart,*q, *arrStart1;
void Sort()
{
p->next = arrStart->next;
arrStart->next = p;
}
void ReSort()
{
arrStart1 = getjcb(JCB);
arrStart1->next = NULL;
for(q=arrStart->next; q!=NULL; q=q->next)
{
p = getjcb(JCB);
for(int i=0; i<10; ++i)
{
p->name[i] = q->name[i];
}
p->arriveTime = q->arriveTime;
p->state = q->state;
p->neceTime = q->neceTime;
p->next = arrStart1->next;
arrStart1->next = p;
}
}
void Run()
{
cout<<"初始状态:"<<endl;
p = arrStart1->next;
while(p != NULL)
{
cout<<"作业"<<"\t"<<"到达时间"<<"\t"<<"所需时间"<<endl;
cout<<p->name<<"\t"<<p->arriveTime<<"\t\t"<<p->neceTime<<endl;
p = p->next;
}
cout<<endl<<"开始运行:"<<endl<<endl;
p = arrStart1->next;
p->state = 'r';
while(p != NULL)
{
int t = p->neceTime;
while(t >0)
{
t--;
cout<<"作业"<<"\t"<<"到达时间"<<"\t"<<"所需时间"<<"\t"<<"还需时间"<<endl;
cout<<p->name<<"\t"<<p->arriveTime<<"\t\t"<<p->neceTime<<"\t\t"<<t<<endl;
}
cout<<"作业"<<p->name<<"完成"<<endl;
cout<<endl;
q = p;
p = p->next;
p->state = 'r';
arrStart1->next = p;
free(q);
}
}
void main()
{
int k = 1;
arrStart = getjcb(JCB);
arrStart->next = NULL;
cout<<"请输入作业的数目: ";
cin>>n;
cout<<endl;
for(int j=0; j<n; ++j, ++k)
{
cout<<"作业"<<k<<"的名称: ";
p = getjcb(JCB);
cin>>p->name;
cout<<"所需时间: ";
cin>>p->neceTime;
p->arriveTime = k;
p->state = 'w';
Sort();
cout<<endl;
}
ReSort();
Run();
}
#include<iostream>
#include"stdio.h"
#define getjcb(type)(type *)malloc(sizeof(type))
#define NULL 0
using namespace std;
int m=0, n=0;
struct JCB {
char name[10]; //作业名
float arriveTime; //作业到达时间
float startTime; //开始运行时间
float neceTime; //需要的时间
float finishTime; //完成时间
char state; //作业状态(运行(r)或等待(w))
JCB *next;
} *p, *arrStart,*q, *arrStart1;
void Sort()
{
p->next = arrStart->next;
arrStart->next = p;
}
void ReSort()
{
arrStart1 = getjcb(JCB);
arrStart1->next = NULL;
for(q=arrStart->next; q!=NULL; q=q->next)
{
p = getjcb(JCB);
for(int i=0; i<10; ++i)
{
p->name[i] = q->name[i];
}
p->arriveTime = q->arriveTime;
p->state = q->state;
p->neceTime = q->neceTime;
p->next = arrStart1->next;
arrStart1->next = p;
}
}
void Run()
{
cout<<"初始状态:"<<endl;
p = arrStart1->next;
while(p != NULL)
{
cout<<"作业"<<"\t"<<"到达时间"<<"\t"<<"所需时间"<<endl;
cout<<p->name<<"\t"<<p->arriveTime<<"\t\t"<<p->neceTime<<endl;
p = p->next;
}
cout<<endl<<"开始运行:"<<endl<<endl;
p = arrStart1->next;
p->state = 'r';
while(p != NULL)
{
int t = p->neceTime;
while(t >0)
{
t--;
cout<<"作业"<<"\t"<<"到达时间"<<"\t"<<"所需时间"<<"\t"<<"还需时间"<<endl;
cout<<p->name<<"\t"<<p->arriveTime<<"\t\t"<<p->neceTime<<"\t\t"<<t<<endl;
}
cout<<"作业"<<p->name<<"完成"<<endl;
cout<<endl;
q = p;
p = p->next;
p->state = 'r';
arrStart1->next = p;
free(q);
}
}
void main()
{
int k = 1;
arrStart = getjcb(JCB);
arrStart->next = NULL;
cout<<"请输入作业的数目: ";
cin>>n;
cout<<endl;
for(int j=0; j<n; ++j, ++k)
{
cout<<"作业"<<k<<"的名称: ";
p = getjcb(JCB);
cin>>p->name;
cout<<"所需时间: ";
cin>>p->neceTime;
p->arriveTime = k;
p->state = 'w';
Sort();
cout<<endl;
}
ReSort();
Run();
}
...全文
相关推荐
SG15加密程序- PHP代码加密平台用户端
SG15加密程序- PHP代码加密平台用户端
PHP代码加密平台用户端SG15加密程序
PHP代码加密平台用户端SG15加密程序,上传源码访问即可安装使用。
SG15加密程序- PHP代码加密平台用户端.zip
SG15加密程序- PHP代码加密平台用户端 需要注意修改SG15加密程序- PHP代码加密平台用户端\Admin\ajax.php 文件尾部的api地址 请自己修改或是取消删除
初心授权系统SG15加密程序- PHP代码加密平台用户端
初心授权系统SG15加密程序- PHP代码加密平台用户端
SG15加密程序- PHP代码加密平台源码.zip
SG15加密程序是一款面向PHP开发者的企业级代码保护解决方案,采用先进的代码混淆与加密技术,可有效保护知识产权并防止逆向工程。该平台通过独特的编译型加密机制,将PHP源代码转换为不可读的加密字节码,同时保持代码的完整执行能力


