zoukankan      html  css  js  c++  java
  • 实验二(作业调度)

    #include<stdio.h>
    #define N 24

    typedef struct node
    {
    char name[10]; /*作业名*/
    int proc; //进程优先数*/
    int ArriTime;//到达时间
    int StartTime;//开始时间
    int NeedTime; /*进程所需时间*/
    int RunTime; /*运行时间*/
    int EndTime;//结束时间
    int ZzTime;//周转时间
    float Zznum;
    char state; //进程的状态*/

    /*struct node *next; 链指针*/
    /*int round; 进程时间轮转时间片*/
    /*int count; 计数器*/
    }JCB;

    int main(void){
    JCB job[N];
    int n;
    void input();
    input(job,&n);
    void FCFS();
    FCFS(n);

    }

    void input(JCB job[],int n){

    int tot; //作业个数
    int i;

    printf("请输入作业个数:[2-24] ");
    scanf("%d",&tot);
    for(i=0;i<tot;i++){
    job[i].proc=i;
    printf("输入第[i+1]个作业的作业名,到达时间,所需时间 ");
    scanf("%s",&job[i].name);
    scanf("%d",&job[i].ArriTime);
    scanf("%d",&job[i].NeedTime);
    //scanf("%d",&job[i].EndTime);
    //scanf("%d",&job[i].ZzTime);
    //scanf("%4f",&job[i].Zznum);
    }
    printf("作业名 到达时间 所需时间 ");
    for(i=0;i<tot;i++)
    {
    printf("%s ",job[i].name);
    printf("%5d ",job[i].ArriTime);
    printf("%5d ",job[i].NeedTime);
    //printf("%5d ",job[i].EndTime);
    // printf("%5d ",job[i].ZzTime);
    //printf("%2.1f ",job[i].Zznum);
    }

    }


    void FCFS(int num) //先来先服务算法计算
    {
    int i,j;
    for(i=0;i<num;i++)//顺序执行进入队列的作业
    { if(i==0) //第一个进程
    {
    job[i].RunTime=job[i].NeedTime;
    job[i].EndTime=job[i].StartTime+job[i].RunTime;
    }
    else
    {
    if(job[i].StartTime>job[i-1].EndTime)//如果当前有作业在执行
    {
    job[i].RunTime=job[i].NeedTime;
    job[i].EndTimejob[i].StartTime+job[i].RunTime;
    }
    else
    {
    job[i].RunTime=job[i].NeedTime+job[i-1].EndTime-job[i].StartTime;
    job[i].EndTime=job[i].StartTime+jobc[i].RunTime;
    }
    }

    (unfinishied)

     

  • 相关阅读:
    工作流
    工作流管理系统
    Domino(群组工作软件)
    Integer与int的区别(转)
    Java NIO和IO的区别(转)
    String、StringBuffer与StringBuilder之间区别(转)
    JAVA 是否会发生内存泄露(转)
    Java关键字final、static使用总结(转)
    数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)(转)
    Java多线程:用三个线程控制循环输出10次ABC
  • 原文地址:https://www.cnblogs.com/jingwenyim/p/4468051.html
Copyright © 2011-2022 走看看