实验二——模拟在CPU中的进程调度(初稿)

一、        实验目的

通过本实验可以加深对有关进程控制块、进程队列的概念的进一步理解。

二、        实验内容和要求

     1.进程PCB的结构体定义

     2.定义结构体

     3.输入进程序列

     4.排序(按到位时间)

     5.输出进程运行的结果

三、        实验代码及结果测试

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 #define wait 0
 5 #define run 1
 6 #define max 100
 7  
 8 typedef struct pcb{
 9     char name[max];
10     int cputime;
11     char state;
12 }pcb;
13 
14 void input(pcb data[],int count);
15 
16 main(){
17     pcb data[max];
18     int count;
19     printf("input the data number:");
20     scanf("%d",&count);
21     input(data,count);
22     return 0;
23 }
24 
25 void input(pcb data[],int count){
26     int i;
27     for(i=0;i<count;i++){
28         printf("input the %d name:\n",i+1);
29         scanf("%s",&data[i].name);        
30         printf("input the %d time:\n",i+1);
31         scanf("%d",&data[i].cputime);
32     }
33     for(i=0;i<count;i++){
34         data[i].state=wait;
35     }
36     printf("the data are:\n");
37     printf("   name     usetime     state\n");
38     for(i=0;i<count;i++){
39         printf("%10s %10d %5d\n",data[i].name,data[i].cputime,data[i].state);
40     }
41 }

 

实验总结:

vc不是很好用,循环体中修改了的地方要保存多次才会取消error的提示;

用数组的方法编写需要预先留下较大的内存;

 

posted @ 2016-04-30 10:13  44卢全浩  阅读(134)  评论(0编辑  收藏  举报