الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

توجد مشكلة في هذا الكود أتمنى المساعدة

بدأه designerh في 27 مايو 2008 · 11 رد · 1,139 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

هذا عبارة عن كود لعمليات الجدولة في المعالج

والمطلوب أن أعمل

FCFS

و

RR

توجد مشكلة في هذا الكود تمنع من تنفيذه لكن إلى الآن لم أعرفها

#include<iostream.h>
#include<conio.h>
#include<stdio.h>

class cpuschedule
{
 int n,Bu[20];
 float Twt,Awt,A[10],Wt[10],w;
public:
 //Getting the No of processes & burst time
 void Getdata();
 //First come First served Algorithm
 void Fcfs();
 //Shortest job First Algorithm
 void Sjf();
 //Shortest job First Algorithm with Preemption
 void SjfP();
 //Shortest job First Algorithm with NonPreemption
 void SjfNp();
 //Round Robin Algorithm
 void RoundRobin();
 //Priority Algorithm
 void Priority();
};
// Implementation file for Cpu scheduling

#include "cpuh.h"
//Getting no of processes and Burst time
void cpuschedule::Getdata()
{
 int i;
 cout<<"Enter the no of processes:";
 cin>>n;
 for(i=1;i<=n;i++)
 {
  cout<<"Enter The BurstTime for Process p"<<i<<"= ";
  cin>>Bu;
 }
}

//First come First served Algorithm
void cpuschedule::Fcfs()
{
 int i,B[10];
 Twt=0.0;
 for(i=1;i<=n;i++)
 {
  B=Bu;
  cout<<"Burst time for process p"<<i<<"=";
  cout<<B;
 }
 Wt[1]=0;
 for(i=2;i<=n;i++)
 {
  Wt=B[i-1]+Wt[i-1];
 }

 //Calculating Average Weighting Time
 for(i=1;i<=n;i++)
  Twt=Twt+Wt;
 Awt=Twt/n;
 cout<<"Total   Weighting Time="<<Twt;
 cout<<"Average Weighting Time="<<Awt<<"";
}


//Round Robin Algorithm
void cpuschedule::RoundRobin()
{

 int i,j,tq,k,B[10],Rrobin[10][10],count[10];
 int max=0;
 int m;
 Twt=0.0;
 for(i=1;i<=n;i++)
 {
  B=Bu;
  cout<<"Burst time for process p"<<i<<"= ";
  cout<<B;
  if(max<B)
   max=B;
  Wt=0;
 }
 cout<<"Enter the Time Quantum=";
 cin>>tq;
 //TO find the dimension of the Rrobin array
 m=max/tq+1;

 //initializing Rrobin array
 for(i=1;i<=n;i++)
 {
  for(j=1;j<=m;j++)
  {
   Rrobin[j]=0;
  }
 }
 //placing value in the Rrobin array
 i=1;
 while(i<=n)
 {
  j=1;
  while(B>0)
  {
   if(B>=tq)
   {
    B=B-tq;
    Rrobin[j]=tq;
    j++;
   }
   else
   {
    Rrobin[j]=B;
    B=0;
    j++;
   }
  }
  count=j-1;
  i++;
 }

 cout<<"Display ";
 for(i=1;i<=n;i++)
 {
  for(j=1;j<=m;j++)
  {
   cout<<"Rr["<<i<<","<<j<<"]="<<Rrobin[j];
   cout<<" ";
  }
  cout<<"";
 }
 //calculating weighting time
 int x=1;
 i=1;
 while(x<=n)
 {
  for(int a=1;a<x;a++)
  {
   Wt[x]=Wt[x]+Rrobin[a];
  }
  i=1;
  int z=x;
  j=count[z];
  k=1;
  while(k<=j-1)
  {
   if(i==n+1)
   {
    i=1;
    k++;
   }
   else
   {
    if(i!=z)
    {
     Wt[z]=Wt[z]+Rrobin[k];
    }
    i++;
   }
  }
  x++;
 }
 for(i=1;i<=n;i++)
  cout<<"Weighting Time for process P"<<i<<"="<<Wt;

 //calculating Average Weighting Time
 for(i=1;i<=n;i++)
  Twt=Twt+Wt;
 Awt=Twt/n;
 cout<<"Total   Weighting Time="<<Twt;
 cout<<"Average Weighting Time="<<Awt<<" ";
}

//Application file for cpu Scheduling
#include "cpuh.h"

void main()
{
 int ch,cho;
 cpuschedule c;
 do
 {
  cout<<"     MENU ";
  cout<<"1.Getting BurstTime ";
  cout<<"2.FirstComeFirstServed";
  cout<<"3.ShortestJobFirst";
  cout<<"4.RoundRobin";
  cout<<"5.Priority";
  cout<<"6.EXIT";
  cout<<"Enter your choice";
  cin>>ch;
  switch(ch)
  {
  case 1:
   c.Getdata();
   break;
  case 2:
   cout<<"FIRST COME FIRST SERVED SCHEDULING ";
   c.Fcfs();
   break;
  case 3:
   cout<<"SHORTEST JOB FIRST SCHEDULING";
   do
   {
    cout<<"1.SJF-Normel ";
   cout<<"2.SJF-Preemptive ";
    cout<<"3.SJF-NonPreemptive  ";
    cout<<"Enter your choice";
    cin>>cho;
    switch(cho)
    {
    case 1:
     c.Sjf();
     break;
    case 2:
     c.SjfP();
     break;
    case 3:
     c.SjfNp();
     break;
    }
   }while(cho<=3);
   break;
  case 4:
   cout<<"ROUND ROBIN SCHEDULING ";
   c.RoundRobin();
   break;
  case 5:
   cout<<"PRIORITY SCHEDULING ";
   c.Priority();
   break;
  case 6:
   break;
  }
 }while(ch<=5);
}

أنتظر منكم المساعدة

تم تعديل هذه المشاركة بواسطة designerh في 27 مايو 2008 في 16:13

#2

السلام عليكم:

كود ملف cpuh.h

#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
class cpuschedule
{
	int n,Bu[20];
	float Twt,Awt,A[10],Wt[10],w;
public:

	void Getdata();

	void Fcfs();

	void Sjf();

	void SjfP();

	void SjfNp();

	void RoundRobin();

	void Priority();
};

كود cpuh.cpp

#include "cpuh.h"

void cpuschedule::Getdata()
{
	int i;
	cout<<"Enter the no of processes:";
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cout<<"Enter The BurstTime for Process p"<<i<<"=	";
		cin>>Bu;
	}
}


void cpuschedule::Fcfs()
{
	int i,B[10];
	Twt=0.0;
	for(i=1;i<=n;i++)
	{
		B=Bu;
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B;
	}
	Wt[1]=0;
	for(i=2;i<=n;i++)
	{
		Wt=B[i-1]+Wt[i-1];
	}


	for(i=1;i<=n;i++)
		Twt=Twt+Wt;
	Awt=Twt/n;
	cout<<"Total   Weighting Time="<<Twt;
	cout<<"Average Weighting Time="<<Awt<<" ";
}


void cpuschedule::Sjf()
{
	int i,j,temp,B[10];
	Twt=0.0;
	for(i=1;i<=n;i++)
	{
		B=Bu;
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B;
	}
	for(i=n;i>=1;i--)
	{
		for(j=1;j<=n;j++)
		{
			if(B[j-1]>B[j])
			{
				temp=B[j-1];
				B[j-1]=B[j];
				B[j]=temp;
			}
		}
	}

	Wt[1]=0;
	for(i=2;i<=n;i++)
	{
		Wt=B[i-1]+Wt[i-1];
	}

	for(i=1;i<=n;i++)
		Twt=Twt+Wt;
	Awt=Twt/n;
	cout<<"Total   Weighting Time="<<Twt;
	cout<<"Average Weighting Time="<<Awt<<" ";
}



void cpuschedule::SjfNp()
{
	int i,B[10],Tt=0,temp,j;
	char S[10];
	float A[10],temp1,t;
	Twt=0.0;
	w=0.0;
	for(i=1;i<=n;i++)
	{
		B=Bu;
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B;
		S='T';
		Tt=Tt+B;
		cout<<"=Enter the Arrival Time for"<<i<<"th process=	";
		cin>>A;
	}

	for(i=n;i>=1;i--)
	{
		for(j=3;j<=n;j++)
		{
			if(B[j-1]>B[j])
			{
				temp=B[j-1];
				temp1=A[j-1];
				B[j-1]=B[j];
				A[j-1]=A[j];
				B[j]=temp;
				A[j]=temp1;
			}
		}
	}

	for(i=1;i<=n;i++)
	{
		cout<<"p"<<i<<"	"<<B<<"	"<<A;
	}


		Wt[1]=0;
		w=w+B[1];
		t=w;
		S[1]='F';

		while(w<Tt)
		{
			i=2;
			while(i<=n)
			{
				if(S=='T'&&A<=t)
				{
					Wt=w;
					cout<<"WT"<<i<<"="<<Wt;
					S='F';
					w=w+B;
					t=w;
					i=2;
				}
				else
					i++;
			}
		}

		for(i=1;i<=n;i++)
			cout<<"Wt"<<i<<"=="<<Wt;



		for(i=1;i<=n;i++)
			Twt=Twt+(Wt-A);
		Awt=Twt/n;
	cout<<"Total   Weighting Time="<<Twt<<" ";
	cout<<"Average Weighting Time="<<Awt<<" ";
}



void cpuschedule::Priority()
{
	int i,B[10],P[10],j;
	w=0.0;
	int max;
	Twt=0.0;
	max=1;
	for(i=1;i<=n;i++)
	{
		B=Bu;
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B;
		cout<<"Enter the priority for process P"<<i<<"=	";
		cin>>P;
		if(max<P)
			max=P;
	}
	j=1;
	while(j<=max)
	{
		i=1;
		while(i<=n)
		{
			if(P==j)
			{
				Wt=w;
				w=w+B;
			}
			i++;
		}
		j++;
	}


	for(i=1;i<=n;i++)
		Twt=Twt+Wt;
	Awt=Twt/n;
	cout<<"Total   Weighting Time="<<Twt<<" ";
	cout<<"Average Weighting Time="<<Awt<<" ";
}


void cpuschedule::SjfP()
{
	int i,j,m,Wt[10],k,B[10],A[10],Tt=0,Wtm[10],temp;
	char S[20],start[20];
	int max=0,Time=0,min;
	float Twt=0.0,Awt;
	for(i=1;i<=n;i++)
	{
		B=Bu;
		cout<<"Burst time for process P"<<i<<"=	"<<B;
		if(B>max)
			max=B;
		Wt=0;
		S='T';
		start='F';
		Tt=Tt+B;
		cout<<"Enter the Arrival Time for"<<i<<"th process=	";
		cin>>A;
		if(A>Time)
			Time=A;
	}

	int w=0,flag=0,t=0;
	i=1;
	while(t<Time)
	{
		if(A<=t && B!=0)
		{
			if(flag==0)
			{
				Wt=Wt+w;
				cout<<"Wt["<<i<<"]="<<Wt;
			}
			B=B-1;
			if(B==0)
				S='F';
			start='T';
			t++;
			w=w+1;
			if(S!='F')
			{
				j=1;flag=1;
				while(j<=n && flag!=0)
				{
					if(S[j]!='F' && B>B[j] && A[j]<=t && i!=j )
					{
						flag=0;
						Wt=Wt-w;
						i=j;
					}
					else
					{
						flag=1;
					}
					j++;
				}
			}
			else
			{
				i++;
				j=1;
				while(A[j]<=t &&j<=n)
				{
					if(B>B[j] && S[j]!='F')
					{
						flag=0;
						i=j;
					}
					j++;
				}
			}
		}
		else
			if(flag==0)
			i++;
	}


	cout<<"Printing remaining burst time";
	for(i=1;i<=n;i++)
		cout<<"B["<<i<<"]="<<B;
	cout<<" ";

	while(w<Tt)
	{
		min=max+1;
		i=1;
		while(i<=n)
		{
			if(min>B && S=='T')
			{
				min=B;
				j=i;
			}
			i++;
		}
		i=j;
		if(w==Time && start=='T')
		{
			w=w+B;
			S='F';
		}
		else
		{
			Wt=Wt+w;
			w=w+B;
			S='F';
		}
	}

cout<<"Weight info";

	for(i=1;i<=n;i++)
		cout<<"WT["<<i<<"]="<<Wt;
cout<<"after subtracting arrival time";
	for(i=1;i<=n;i++)
	{
		Wt=Wt-A;
		cout<<"WT["<<i<<"]="<<Wt;
	}

	for(i=1;i<=n;i++)
		Twt=Twt+Wt;
	Awt=Twt/n;
	cout<<"Average Weighting Time="<<Awt;



}


void cpuschedule::RoundRobin()
{

	int i,j,tq,k,B[10],Rrobin[10][10],count[10];
	int max=0;
	int m;
	Twt=0.0;
	for(i=1;i<=n;i++)
	{
		B=Bu;
		cout<<"Burst time for process p"<<i<<"=	";
		cout<<B;
		if(max<B)
			max=B;
		Wt=0;
	}
	cout<<"Enter the Time Quantum=";
	cin>>tq;

	m=max/tq+1;


	for(i=1;i<=n;i++)
	{
		for(j=1;j<=m;j++)
		{
			Rrobin[j]=0;
		}
	}

	i=1;
	while(i<=n)
	{
		j=1;
		while(B>0)
		{
			if(B>=tq)
			{
				B=B-tq;
				Rrobin[j]=tq;
				j++;
			}
			else
			{
				Rrobin[j]=B;
				B=0;
				j++;
			}
		}
		count=j-1;
		i++;
	}

	cout<<"Display";
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=m;j++)
		{
			cout<<"Rr["<<i<<","<<j<<"]="<<Rrobin[j];
			cout<<"	";
		}
		cout<<" ";
	}

	int x=1;
	i=1;
	while(x<=n)
	{
		for(int a=1;a<x;a++)
		{
			Wt[x]=Wt[x]+Rrobin[a];
		}
		i=1;
		int z=x;
		j=count[z];
		k=1;
		while(k<=j-1)
		{
			if(i==n+1)
			{
				i=1;
				k++;
			}
			else
			{
				if(i!=z)
				{
					Wt[z]=Wt[z]+Rrobin[k];
				}
				i++;
			}
		}
		x++;
	}
	for(i=1;i<=n;i++)
		cout<<"Weighting Time for process P"<<i<<"="<<Wt;


	for(i=1;i<=n;i++)
		Twt=Twt+Wt;
	Awt=Twt/n;
	cout<<"Total   Weighting Time="<<Twt;
	cout<<"Average Weighting Time="<<Awt<<" ";
}

كود main.cpp

#include "cpuh.h"
int main()
{
	int ch,cho;
	cpuschedule c;
	do
	{
		cout<<"MENU\n";
		cout<<"1.Getting BurstTime\n";
		cout<<"2.FirstComeFirstServed\n";
		cout<<"3.ShortestJobFirst\n";
		cout<<"4.RoundRobin      \n";
		cout<<"5.Priority        \n";
		cout<<"6.EXIT            \n";
		cout<<"Enter your choice \n";
		cin>>ch;
		switch(ch)
		{
		case 1:
			c.Getdata();
			break;
		case 2:
			cout<<"FIRST COME FIRST SERVED SCHEDULING";
			c.Fcfs();
			break;
		case 3:
			cout<<"SHORTEST JOB FIRST SCHEDULING     ";
			do
			{
				cout<<"1.SJF-Normel                  ";
				cout<<"2.SJF-Preemptive              ";
				cout<<"3.SJF-NonPreemptive           ";
				cout<<"Enter your choice             ";
				cin>>cho;
				switch(cho)
				{
				case 1:
					c.Sjf();
					break;
				case 2:
					c.SjfP();
					break;
				case 3:
					c.SjfNp();
					break;
				}
			}while(cho<=3);
			break;
		case 4:
			cout<<"ROUND ROBIN SCHEDULING ";
			c.RoundRobin();
			break;
		case 5:
			cout<<"PRIORITY SCHEDULING    ";
			c.Priority();
			break;
		case 6:
			break;
		}
	}while(ch<=5);

	return 0;
}
tvquran_6.gif

#3

شاكر لك أخوي سرعة التجاوب

لكن المشكلة أنه الخلل في تعريف cpuh.h

ونفس العملية حتى مع تجربة الأكواد الثلاثة في البرنامج صارت نفس المشكلة

أتمنى أن أجد عندك تفاصيل أكثر

............................................................

أنتظر تعليقاتكم

#4

ماهي المشكلة بالضبط وضح أكثر هل الكود ينفذ ام لا.

tvquran_6.gif

#5

المشكلة أن الكود اللي أنا وضعته في بداية الموضوع يعطيني خطئين ( يعني ما يتنفذ ) وكلاهما يؤشران على التعريف

#include "cpuh.h"

فأتصور من هذا التعريف يوجد الخلل

لو عندك البورلند أنسخ الكود وجربه وراح تشوف الخلل اللي أعاني منه

.........................................

بانتظار ردك يا غالي

#6

هل جربت الكود الى وضعته لك في المشاركة.

الكود جربته وعمل مضبوط بدون اي خطاء.

الكمبايلر الى عندي MinGW

تم تعديل هذه المشاركة بواسطة فهدالشلوي في 27 مايو 2008 في 21:45

tvquran_6.gif

#7

حاولت للمرة الثانية برضو ما اشتغل مضبوط

...............

يا ريت ترسل كل الكود في نافذة وحدة فقط للتأكد

............................................

تحياتي لك وشاكر لك تعاونك يا غالي

#8

الكود التالي ضعه في ملف واحد فقط :

#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
class cpuschedule
{
int n,Bu[20];
float Twt,Awt,A[10],Wt[10],w;
public:

void Getdata();

void Fcfs();

void Sjf();

void SjfP();

void SjfNp();

void RoundRobin();

void Priority();
};

void cpuschedule::Getdata()
{
int i;
cout<<"Enter the no of processes:";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Enter The BurstTime for Process p"<<i<<"= ";
cin>>Bu;
}
}


void cpuschedule::Fcfs()
{
int i,B[10];
Twt=0.0;
for(i=1;i<=n;i++)
{
B=Bu;
cout<<"Burst time for process p"<<i<<"= ";
cout<<B;
}
Wt[1]=0;
for(i=2;i<=n;i++)
{
Wt=B[i-1]+Wt[i-1];
}


for(i=1;i<=n;i++)
Twt=Twt+Wt;
Awt=Twt/n;
cout<<"Total Weighting Time="<<Twt;
cout<<"Average Weighting Time="<<Awt<<" ";
}


void cpuschedule::Sjf()
{
int i,j,temp,B[10];
Twt=0.0;
for(i=1;i<=n;i++)
{
B=Bu;
cout<<"Burst time for process p"<<i<<"= ";
cout<<B;
}
for(i=n;i>=1;i--)
{
for(j=1;j<=n;j++)
{
if(B[j-1]>B[j])
{
temp=B[j-1];
B[j-1]=B[j];
B[j]=temp;
}
}
}

Wt[1]=0;
for(i=2;i<=n;i++)
{
Wt=B[i-1]+Wt[i-1];
}

for(i=1;i<=n;i++)
Twt=Twt+Wt;
Awt=Twt/n;
cout<<"Total Weighting Time="<<Twt;
cout<<"Average Weighting Time="<<Awt<<" ";
}



void cpuschedule::SjfNp()
{
int i,B[10],Tt=0,temp,j;
char S[10];
float A[10],temp1,t;
Twt=0.0;
w=0.0;
for(i=1;i<=n;i++)
{
B=Bu;
cout<<"Burst time for process p"<<i<<"= ";
cout<<B;
S='T';
Tt=Tt+B;
cout<<"=Enter the Arrival Time for"<<i<<"th process= ";
cin>>A;
}

for(i=n;i>=1;i--)
{
for(j=3;j<=n;j++)
{
if(B[j-1]>B[j])
{
temp=B[j-1];
temp1=A[j-1];
B[j-1]=B[j];
A[j-1]=A[j];
B[j]=temp;
A[j]=temp1;
}
}
}

for(i=1;i<=n;i++)
{
cout<<"p"<<i<<" "<<B<<" "<<A;
}


Wt[1]=0;
w=w+B[1];
t=w;
S[1]='F';

while(w<Tt)
{
i=2;
while(i<=n)
{
if(S=='T'&&A<=t)
{
Wt=w;
cout<<"WT"<<i<<"="<<Wt;
S='F';
w=w+B;
t=w;
i=2;
}
else
i++;
}
}

for(i=1;i<=n;i++)
cout<<"Wt"<<i<<"=="<<Wt;



for(i=1;i<=n;i++)
Twt=Twt+(Wt-A);
Awt=Twt/n;
cout<<"Total Weighting Time="<<Twt<<" ";
cout<<"Average Weighting Time="<<Awt<<" ";
}



void cpuschedule::Priority()
{
int i,B[10],P[10],j;
w=0.0;
int max;
Twt=0.0;
max=1;
for(i=1;i<=n;i++)
{
B=Bu;
cout<<"Burst time for process p"<<i<<"= ";
cout<<B;
cout<<"Enter the priority for process P"<<i<<"= ";
cin>>P;
if(max<P)
max=P;
}
j=1;
while(j<=max)
{
i=1;
while(i<=n)
{
if(P==j)
{
Wt=w;
w=w+B;
}
i++;
}
j++;
}


for(i=1;i<=n;i++)
Twt=Twt+Wt;
Awt=Twt/n;
cout<<"Total Weighting Time="<<Twt<<" ";
cout<<"Average Weighting Time="<<Awt<<" ";
}


void cpuschedule::SjfP()
{
int i,j,m,Wt[10],k,B[10],A[10],Tt=0,Wtm[10],temp;
char S[20],start[20];
int max=0,Time=0,min;
float Twt=0.0,Awt;
for(i=1;i<=n;i++)
{
B=Bu;
cout<<"Burst time for process P"<<i<<"= "<<B;
if(B>max)
max=B;
Wt=0;
S='T';
start='F';
Tt=Tt+B;
cout<<"Enter the Arrival Time for"<<i<<"th process= ";
cin>>A;
if(A>Time)
Time=A;
}

int w=0,flag=0,t=0;
i=1;
while(t<Time)
{
if(A<=t && B!=0)
{
if(flag==0)
{
Wt=Wt+w;
cout<<"Wt["<<i<<"]="<<Wt;
}
B=B-1;
if(B==0)
S='F';
start='T';
t++;
w=w+1;
if(S!='F')
{
j=1;flag=1;
while(j<=n && flag!=0)
{
if(S[j]!='F' && B>B[j] && A[j]<=t && i!=j )
{
flag=0;
Wt=Wt-w;
i=j;
}
else
{
flag=1;
}
j++;
}
}
else
{
i++;
j=1;
while(A[j]<=t &&j<=n)
{
if(B>B[j] && S[j]!='F')
{
flag=0;
i=j;
}
j++;
}
}
}
else
if(flag==0)
i++;
}


cout<<"Printing remaining burst time";
for(i=1;i<=n;i++)
cout<<"B["<<i<<"]="<<B;
cout<<" ";

while(w<Tt)
{
min=max+1;
i=1;
while(i<=n)
{
if(min>B && S=='T')
{
min=B;
j=i;
}
i++;
}
i=j;
if(w==Time && start=='T')
{
w=w+B;
S='F';
}
else
{
Wt=Wt+w;
w=w+B;
S='F';
}
}

cout<<"Weight info";

for(i=1;i<=n;i++)
cout<<"WT["<<i<<"]="<<Wt;
cout<<"after subtracting arrival time";
for(i=1;i<=n;i++)
{
Wt=Wt-A;
cout<<"WT["<<i<<"]="<<Wt;
}

for(i=1;i<=n;i++)
Twt=Twt+Wt;
Awt=Twt/n;
cout<<"Average Weighting Time="<<Awt;



}


void cpuschedule::RoundRobin()
{

int i,j,tq,k,B[10],Rrobin[10][10],count[10];
int max=0;
int m;
Twt=0.0;
for(i=1;i<=n;i++)
{
B=Bu;
cout<<"Burst time for process p"<<i<<"= ";
cout<<B;
if(max<B)
max=B;
Wt=0;
}
cout<<"Enter the Time Quantum=";
cin>>tq;

m=max/tq+1;


for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
Rrobin[j]=0;
}
}

i=1;
while(i<=n)
{
j=1;
while(B>0)
{
if(B>=tq)
{
B=B-tq;
Rrobin[j]=tq;
j++;
}
else
{
Rrobin[j]=B;
B=0;
j++;
}
}
count=j-1;
i++;
}

cout<<"Display";
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
cout<<"Rr["<<i<<","<<j<<"]="<<Rrobin[j];
cout<<" ";
}
cout<<" ";
}

int x=1;
i=1;
while(x<=n)
{
for(int a=1;a<x;a++)
{
Wt[x]=Wt[x]+Rrobin[a];
}
i=1;
int z=x;
j=count[z];
k=1;
while(k<=j-1)
{
if(i==n+1)
{
i=1;
k++;
}
else
{
if(i!=z)
{
Wt[z]=Wt[z]+Rrobin[k];
}
i++;
}
}
x++;
}
for(i=1;i<=n;i++)
cout<<"Weighting Time for process P"<<i<<"="<<Wt;


for(i=1;i<=n;i++)
Twt=Twt+Wt;
Awt=Twt/n;
cout<<"Total Weighting Time="<<Twt;
cout<<"Average Weighting Time="<<Awt<<" ";
}
int main()
{
int ch,cho;
cpuschedule c;
do
{
cout<<"MENU\n";
cout<<"1.Getting BurstTime\n";
cout<<"2.FirstComeFirstServed\n";
cout<<"3.ShortestJobFirst\n";
cout<<"4.RoundRobin \n";
cout<<"5.Priority \n";
cout<<"6.EXIT \n";
cout<<"Enter your choice \n";
cin>>ch;
switch(ch)
{
case 1:
c.Getdata();
break;
case 2:
cout<<"FIRST COME FIRST SERVED SCHEDULING";
c.Fcfs();
break;
case 3:
cout<<"SHORTEST JOB FIRST SCHEDULING ";
do
{
cout<<"1.SJF-Normel ";
cout<<"2.SJF-Preemptive ";
cout<<"3.SJF-NonPreemptive ";
cout<<"Enter your choice ";
cin>>cho;
switch(cho)
{
case 1:
c.Sjf();
break;
case 2:
c.SjfP();
break;
case 3:
c.SjfNp();
break;
}
}while(cho<=3);
break;
case 4:
cout<<"ROUND ROBIN SCHEDULING ";
c.RoundRobin();
break;
case 5:
cout<<"PRIORITY SCHEDULING ";
c.Priority();
break;
case 6:
break;
}
}while(ch<=5);

return 0;
}
tvquran_6.gif

#9

الله يعيطك العافية أخوي أدري أني تعبتك معي

هذي صورة الخلل تجدها مرفقة مع الرد هذا

.............................

أنتظر تعليقك

post-161228-1211931389_thumb.jpg

#10

فقط استبدل:

السطر التالي:

#include<iostream>

بالسطر

#include<iostream.h>

واحذف.

using namepsace std;
tvquran_6.gif

#11

الله يعطيك ألف عافية على مجهودك الرائع يا غالي

أبشرك ضبط معي الكود

ما قصرت معي يا أخوي مشكووووووووووووووور ملييييييييييييييييييييييون

===============================================

احتمال راح أجري عليه بعض الإضافات ما أدري إذا ما فيها كلافة عليك

.......................................

لأن باقي عندي إضافة بعض المعادلات

تم تعديل هذه المشاركة بواسطة designerh في 28 مايو 2008 في 14:38

#12

الحمدلله .

tvquran_6.gif

مواضيع مشابهة