帮看一下这个程序哪里有错!谢谢~!
///main.h
#include <deque>
#include <dos.h>
#include <stdlib.h>
#include <conio.h>
#include "process.h"
const int pronum = 10;
int require[10] = {0,0,0,0,0,0,0,0,0,0};
int available[10] = {0,0,0,0,0,0,0,0,0,0};
int cost[10] = {0,0,0,0,0,0,0,0,0,0};
int main(void)
{
char key;
Process temp;
Process *p;
p=new Process[pronum];
deque<Process> Proque(pronum);
cout<<"How many process to be scheduled?\n";
for(int i = 0; i < pronum; ++i)
{
Process[i].SetProcessName(i);
Process[i].SetRequiredTime(require[i]);
Proque.push_back(Process[i]);
}
cout<<"### Press any key to block the active process ###\n"
while(!Proque.empty())
{
temp = Proque.front();
Proque.pop_front();
cout<<temp.GetProcessName()<<" is active.\n"
<<"It need "<<temp.GetRequiredTime()<<" second(s).\n"
<<"Need blocked(Y/N)?\n";
if((key = getch()) == 'Y')
{
int order = temp.GetNum();
cost[order] = 0;
require[order] -= available[order];
temp.SetRequiredTime(require[order]);
Proque.push_back(temp);
}
}
system("pause");
return 0;
}
///process.h
#ifndef _STRING_H
#include <string>
#endif
class Process
{
public:
void SetProcessName(int i);
string GetProcessName();
void SetNum(int i);
int GetNum();
void SetRequiredTime(int second);
int GetRequiredTime();
private:
string processName; //the name of the process
int order; //the order of the three global array
int requiredTime; //the time allocate to the process
};
void Process::SetProcessName(int i) { processName = "Process "; }
string Process::GetProcessName() { return processName; }
void Process::SetNum(int i) { order = i; }
int Process::GetNum() { return order;}
void Process::SetRequiredTime(int second) { requiredTime = second;}
int Process::GetRequiredTime() { return requiredTime; }
#endif