#include<iostream> #include<cstdio> #include<cstdlib> int process,*q,i,slice,a=0,at2[10],to[10]; void takeprocess() { printf("Enter the total number of process\n"); scanf("%d",&process); } void takecputime() { q=(int*)calloc(process,(sizeof(int))); for(i=1;i<=process;i++) { printf("Enter the CPU burst time for the process P%d : ",i); scanf("%d",q+i); to[i]=at2[i]=*(q+i); } } void checkfcfs() { int wt1[process]; for(i=1;i<process;i++) { a=wt1[i]=*(q+i)+a; } a=0; printf("the waiting time for process P1 is : 0\n"); for(i=1;i<process;i++) { a=wt1[i]+a; printf("the waiting time for process P%d is : %d\n",i+1,wt1[i]); } a=a/process; printf("the average waiting time for processes are :%d\n",a); printf("the sequence of the processes are as follows\n"); for(i=1;i<=process;i++) { printf("P%d\n",i); } } using namespace std; int main() { takeprocess(); takecputime(); checkfcfs(); return 0; }
您没有初始化变量 P1 和 P2 ,因此这些结构的内容将是不确定的。
P1
P2
这将使操作像
P1.TurnaroundTime = P1.BurstTime;
也未定义。
如果您想要良好的起始值,请添加默认构造函数。
不要用 P1 , P2 和 P3 为了你的计算。而是使用 Array[0] , Array[1] 和 Array[2] 为了它。
P3
Array[0]
Array[1]
Array[2]