linsq 发布留言 2008-6-23 20:14
这个时间比较函数有错误么?
struct TIME
{
int h;
int m; //h代表小时,m代表分钟
};
//IF语句不知道有没有用错
bool CompareTime (struct TIME time1,struct TIME time2) //定义时间比较函数 如果time1
{
if(time1.h
return true;
else if(time1.h=time2.h)
{if(time1.m<=time2.m)
return true;
else return false;
}
else return false;
}
かわい 发布留言 2008-6-23 20:20
if(time1.h=time2.h)
拜托。。。。。。。。。。。。。
<

>
linsq 发布留言 2008-6-23 20:26
回复 2# かわい 的帖子
帮我看看程序好不好啊[tk02] ..
快死人了...
linsq 发布留言 2008-6-23 20:29
#include
#include
using namespace std;
struct TIME
{
int h;
int m; //h代表小时,m代表分钟
};
struct JOB //建类JOB
{
TIME R,RU,F,E; //到达时间,开始运行时间,完成时间 ; 估计运行时间
float zt; //周转时间
float dzt; //带权周转时间
int number;
float r; //响应比
};
bool CompareTime (struct TIME time1,struct TIME time2) //定义时间比较函数 如果time1 {
if(time1.h return true;
if(time1.h=time2.h)
{if(time1.m<=time2.m)
return true;
else return false;
}
else return false;
}
TIME AddTime (TIME time1,TIME time2) //定义时间的加法
{
time1.m=time1.m+time2.m;
time1.h=time1.h+time2.h;
if(time1.m>=60)
{do
{
time1.h+=1;
time1.m-=60;
}while(time1.m>=60);
}
return time1;
}
int SubTime (struct TIME time1,struct TIME time2) //定义时间的减法
{
return((time1.h-time2.h)*60+(time1.m-time2.m));
}
void out1(JOB job[],int n) //定义输出函数out1
{
int i;
cout<<"你的输入如下:\n\n";
cout<< "作业名称 到达时间(hh:mm) 估计运行时间(M)"<<"\n\n";
for(i=1;i<=n;i++)
{
cout<<"JOB"< putchar('\n');}
}
void out2(struct JOB job[],int n) //定义输出函数out2
{
int i;
cout<<"下面为结果:\n\n";
cout<< "顺序 reach time estimate run time finish time 周转时间 带权周转时间\n";
for(i=1;i<=n;i++)
{
cout<<"JOB"< }
putchar('\n');
}
int main(void)
{
int num;//作业个数
int N;
int i,j;
int c=0;//用于SJF算法中,就绪状态作业的计数
int k;
struct JOB job[7];
cout<<"请选择调度算法:1.FIFO 2.JSF 3.HRN\n";
cin>>N;
cout<<"请输入作业个数:";
cin>>num;
cout<<"请按提示分别输入个作业到达时间,以及估计运行时间\n\n";
for(int i=1;i<=num;i++)
{
do
{
cout<<"请输入第"< cin>>job.R.m;
}
while((job.R.h>23||job.R.m<0)); //
cout<<"请输入第"< cin>>job.E.h=0;
job.r=0;
}
putchar('\n');
out1(job,num);//输出用户输入数据
for(i=1;i { for(j=i+1;j<=num;j++)
if(CompareTime(job[j].R,job=job[j];
job[j]=job=job[0];
}
}
job[1].F=AddTime(job[1].R,job[1].E);
job[1].RU=job[1].R;
job[1].zt=job[1].E.m;
job[1].dzt=job[1].zt/job[1].E.m;
switch(N)
{
case 1: //FIFO
for(i=2;i<=num;i++)
{
{if(CompareTime(job.F,job.RU=job.RU=job.F;
}
job.RU,job.zt=SubTime(job.R);
job.zt/job 本帖最后由 linsq 于 2008-6-23 20:33 编辑 [/it]]かわい 发布留言 2008-6-23 20:29
已经帮你看完了你还废话什么???????????????
???????????????????????
????????????????
<
>linsq 发布留言 2008-6-23 20:34
回复 5# かわい 的帖子
改了,结果还是出错中学者 发布留言 2008-6-23 20:35
继续改..かわい 发布留言 2008-6-23 20:36
[un]linsq[/un] 在 2008-6-23 20:34 的发言:[/bo]
改了,结果还是出错 [/quote] 你改了什么
< >中学者 发布留言 2008-6-23 20:37 LZ要知道,调试这东西是很费时和神的..linsq 发布留言 2008-6-23 20:38 回复 8# かわい 的帖子改了IF语句linsq 发布留言 2008-6-23 20:39 回复 9# 中学者 的帖子[tk09] 唉,时间和精力...かわい 发布留言 2008-6-23 20:40 你到底改了什么
< >linsq 发布留言 2008-6-23 20:46 [un]かわい[/un] 在 2008-6-23 20:40 的发言:[/bo]
你到底改了什么
[/quote] 把你刚才跟我讲的那个IF语句中 if else 改成 if 啊wltysy 发布留言 2008-6-23 20:48 我晕,2楼都说了,if(time1.h=time2.h)wltysy 发布留言 2008-6-23 20:49 你这是赋值啊linsq 发布留言 2008-6-23 20:49 [quote][un]wltysy[/un] 在 2008-6-23 20:48 的发言:[/bo]
我晕,2楼都说了,if(time1.h=time2.h) |
就是那里。但程序还是有算法错误..唉...かわい 发布留言 2008-6-23 20:50 没救了
< >linsq 发布留言 2008-6-23 20:54 [quote][un]かわい[/un] 在 2008-6-23 20:50 的发言:[/bo]
没救了
|
那我自己救自己吧,不好意思,麻烦你了
页: [1]