免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1650 | 回复: 5

[C] 一个菜鸟的问题 [复制链接]

论坛徽章:
0
发表于 2008-03-07 20:30 |显示全部楼层
1可用积分
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct jcb
{
   char name[10];
   int te;
   int ntime;
   int time;
   int tb;
   int ti;
   int tc;
   float eti;
   float ewi;

};
typedef struct
{
    struct jcb stu[10];
    int head;
    int rear;
}SeqQueue;
struct jcb stu[3]={{"Job1:",600,120,0,0,0,0,0.0,0.0},{"Job2:",610,60,0,0,0,0,0.0,0.0},{"Job3:",640,20,0,0,0,0,0.0,0.0}};
void InitQueue(SeqQueue *Q)
{  char *head;
   Q->head=Q->rear=0;
}
int EnterQueue(SeqQueue *Q, struct jcb x)
{
        if((Q->rear+1)%10==Q->head)
            return 0;
        Q->stu[Q->rear]=x;
        Q->rear=(Q->rear+1)%10;
         return  1;
}
int DeleteQueue(SeqQueue *Q, char * x)
{
  if(Q->head==Q->rear)
  return(0);
  *x=Q->stu[Q->head];
  Q->head=(Q->head+1)%10;
   return  1;
   }
void fcfs()
{
        int i,j;
        float wi,ti;
        struct jcb x;
        SeqQueue Q;
        InitQueue(Q);
         for(i=0;i<3;i++)
        {
                x.name=stu.name;
                x.te=stu.te;
                x.ntime=stu.ntime;
                                      x.tb=stu.tb;
                                       x.tc=stu.tc;
                                       x.ti=stu.ti;
                                      x.eti=stu.eti;
                                      x.ewi=stu.ewi;
                EnterQueue(Q,x);
        }

for (i=0;i<10;i++)
{
   struct jcb  *p=head
   ;
   p->tb=time;
   p->tc=p->tb+p->ntime;
   p->ti=(float)(p->tc-p->tb);
   p->wi=(float)(p->ti/p->ntime);
   eti+=p->ti;
   ewi+=p->wi;
   printf("time=%d",&time\n);
   time+=p->ntime;
   eti/=3;
   ewi/=3;
   printf("eti=%f",&eti) ;
   printf("ewi=%f",&ewi);
   DeleteQueue();
}

}

void sjf()
        {int lab;
        int min=a[0];
        for(i=0;i<10;i++)
        {
                if(a<min) {min=a;lab=i;}
        }
       struct jcb a[10];
       int lab;
       int min=a[0].time;
       for(i=0;i<10;i++)
        {
                if(a.time<min) {min=a.time;lab=i;}
               struct jcb  *p=min;
               p->tb=time;
               p->tc=p->tb+p->ntime;
               p->ti=(float)(p->tc-p->tb);
               p->wi=(float)(p->ti/p->ntime);
               eti+=p->ti;
               ewi+=p->wi;
               printf("time=%d",&time\n);
               time+=p->ntime;
               eti/=3;
               ewi/=3;
               printf("eti=%f",&eti) ;
               printf("ewi=%f",&ewi);
        }
        }

float super(struct jcb stu)
{     int i;
    for(i=0;i<10;i++)
     {  *p=stu;}
        float super;
        super+/3=1+(stu.tc-stu.te)/stu.ntime;
        return super;
        }
}


void hrn(struct jcb s[10])
{
        float sup[10];
        for(i=0;i<10;i++)
        {
                sup=super(s);
        }

        int lab;
        float max=sup[0];
        for(i=0;i<10;i++)
        {
                if(sup>max) {max=sup;lab=i;}
                 struct jcb  *p=stu[0];
                 p->tb=time;
                 p->tc=p->tb+p->ntime;
                 p->ti=(float)(p->tc-p->ts);
                 p->wi=(float)(p->ti/p->ntime);
                 eti+=p->ti;
                 ewi+=p->wi;
                 printf("time=%d",&time\n);
                 time+=p->ntime;
                 eti/=3;
                 ewi/=3;
                 printf("eti=%f",&eti) ;
                 printf("ewi=%f",&ewi);
        }  

}
void main()
{ struct jcb *p=stu[ ];
  switch()
   
      {
          case1:fcfs();break;
          case2:sjf();break;
          case3:hrn();break;
      }

}

论坛徽章:
0
发表于 2008-03-07 21:55 |显示全部楼层
给分吧,妹妹,没见你说问题.

论坛徽章:
0
发表于 2008-03-08 00:05 |显示全部楼层
原帖由 SST中国 于 2008-3-7 21:55 发表
给分吧,妹妹,没见你说问题.

她就一分,你搞得妹妹要倾家荡产了

论坛徽章:
0
发表于 2008-03-08 13:11 |显示全部楼层
原帖由 cheney_lang 于 2008-3-8 00:05 发表

她就一分,你搞得妹妹要倾家荡产了


搞这个词用的好,我喜欢.

论坛徽章:
0
发表于 2008-03-08 13:18 |显示全部楼层
把代码用[code][/code],然后描述清楚问题。

论坛徽章:
0
发表于 2008-03-08 13:39 |显示全部楼层

回复 #1 的帖子

switch()    //能这么用啊????
   
      {
          case1:fcfs();break;
          case2:sjf();break;
          case3:hrn();break;
      }

[ 本帖最后由 system888net 于 2008-3-8 13:42 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP