亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? process.cpp

?? C++編程實例100篇電子書
?? CPP
字號:
#include  <math.h>
#include "Windw.h"

#define MAX    100
#define SIZE    50

class PCB
{
	private :
			int ID;
			int Size;
			int Ts;
			int Flag;
	public :
			PCB()
			{
				ID=0;
				Size=0;
				Ts=0;
				Flag=0;
			}
			void SetID(int I){ID=I;}
			void SetMFlag(){Flag=1;}
			void SetDFlag(){Flag=0;}
			void SetSizeTs(void)
			{
				int number;
				randomize();
				number=rand()%4;
				Size=ldexp(2,number-1);
				Ts=(number+1)*5;
			}
			int GetFlag(void) {return Flag;}
			int GetID(void){return ID;}
			int GetSize(void){return Size;}
			int GetTs(void){return Ts;}
};

class Rectangle
{
	friend class Grid;
	private :
			int left,top,right,bottom;
			char content[SIZE];
	public :
			void Outtextxy(char text[SIZE])
			{
				strcpy(content,text);
				outtextxy(left+9,top+7,content);
			}
			void Fill(int Number)
			{
				setfillstyle(SOLID_FILL,Number);
				bar3d(left+1,top+1,right-1,bottom-1,0,0);
			}
			void Test(int Temp,int Interval)
			{
				if (Temp==0) outtextxy(left+45+Interval,top+7,"0");
				if (Temp==1) outtextxy(left+45+Interval,top+7,"1");
				if (Temp==2) outtextxy(left+45+Interval,top+7,"2");
				if (Temp==3) outtextxy(left+45+Interval,top+7,"3");
				if (Temp==4) outtextxy(left+45+Interval,top+7,"4");
				if (Temp==5) outtextxy(left+45+Interval,top+7,"5");
				if (Temp==6) outtextxy(left+45+Interval,top+7,"6");
				if (Temp==7) outtextxy(left+45+Interval,top+7,"7");
				if (Temp==8) outtextxy(left+45+Interval,top+7,"8");
				if (Temp==9) outtextxy(left+45+Interval,top+7,"9");
			}
			void Display(int number)
			{
				int Temp=number;
				if ((Temp>=0) && (Temp<=9)) Test(Temp,0);
				if ((Temp>=10) && (Temp<=99))
				{
					Temp=int (Temp/10);
					Test(Temp,0);
					Temp=number-Temp*10;
					Test(Temp,5);
				}
			}
};

class Grid
{
	private :
			Rectangle *Array[MAX];
	public :
			Grid(){};
			void NewRectangle(int number,int a,int b,int c,int d)
			{
				Rectangle *Newrect;
				Newrect=new Rectangle;
				Newrect->left=a;
				Newrect->top=b;
				Newrect->right=c;
				Newrect->bottom=d;
				rectangle(a,b,c,d);
				Array[number]=Newrect;
			}
			Rectangle *GetRectangle(int number) {return Array[number];}
};

void Exit(void);
void Version(void);
void Running(void);
void InitGrid(void);
void InitGraph(void);
void InitRecord(void);
void Allocation(void);
void Compact(int number);
int  Returncolor(int number);

Grid Record,Graph;
PCB MEMORY[MAX];
PCB HARDDISK[MAX];

int Screen[MAX];
int CurrentMIDM=0,CurrentMIDD=0,CurrentMMp=0,CurrentMDp=0;
int LeftSpace=SIZE,LeftD=SIZE,CurrentEIDM,CurrentEIDD;

int main()
{
	int i;

	InitGraph();
	InitRecord();
	InitGrid();
	EventMsg eventMsg;
	mouse.SetLimits(0,getmaxx(),0,getmaxy());
	mouse.ShowMouse();
	Button wndw1(220,360,"^OK");
	Button wndw2(300,360,"^CANCEL");
	wndw1.DrawWindow();
	wndw2.DrawWindow();
	int button=0;
	while (!button)
	{
		GetEvent(eventMsg);
		if (wndw1.Clicked(eventMsg)) Allocation();
		if (wndw2.Clicked(eventMsg)) button=CANCEL;
		else if (!wndw1.Clicked(eventMsg)&&!wndw2.Clicked(eventMsg))
			Running();
	}
	Exit();

	return 0;
}

void Exit(void)
{
	mouse.HideMouse();
	Version();
	getch();
	closegraph();
	exit(1);
}

void InitGraph(void)
{
	int Gdriver=DETECT,Gmode,Errorcode;
	initgraph(&Gdriver,&Gmode,"D:\\Tools\\Tc3.0\\Bgi");
	Errorcode=graphresult();
	if (Errorcode!=grOk)
	{
		printf("Graphics Error: %s\n",grapherrormsg(Errorcode));
		printf("Press any key to exit & Change the dictory :");
		getch();
		exit(1);
	}
}

void InitRecord(void)
{
	int number=0,circle,i;
	for (i=0;i<5;i++)
	{
		for (circle=0;circle<6;circle++)
		{
			Record.NewRectangle(number,15+circle*100,20+i*20,
						circle*100+115,20+((i+1)*20));
			number=number+1;
		}
	}
	setcolor(14);
	Record.GetRectangle(0)->Outtextxy("   SIZE   ");
	Record.GetRectangle(1)->Outtextxy(" INTERVAL ");
	Record.GetRectangle(2)->Outtextxy("  TOTAL   ");
	Record.GetRectangle(3)->Outtextxy("  READY   ");
	Record.GetRectangle(4)->Outtextxy("  RUNNING ");
	Record.GetRectangle(5)->Outtextxy("  COLOR   ");
	setcolor(12);
	Record.GetRectangle(6)->Outtextxy("    1M    ");
	Record.GetRectangle(12)->Outtextxy("    2M    ");
	Record.GetRectangle(18)->Outtextxy("    4M    ");
	Record.GetRectangle(24)->Outtextxy("    8M    ");
	for (i=7,circle=0;i<=25,circle<4;i=i+6,circle++)
		Record.GetRectangle(i)->Display(i-circle-2);
	setcolor(15);
	for (i=8,circle=0;i<=26,circle<4;i=i+6,circle++)
		Record.GetRectangle(i)->Outtextxy("  Random  ");
	for (i=9,circle=0;i<=27,circle<4;i=i+6,circle++)
		Record.GetRectangle(i)->Outtextxy("  Random  ");
	for (i=10,circle=0;i<=28,circle<4;i=i+6,circle++)
		Record.GetRectangle(i)->Outtextxy("  Random  ");
	setcolor(12);
	Record.GetRectangle(11)->Outtextxy("   RED    ");
	setcolor(9);
	Record.GetRectangle(17)->Outtextxy("   BLUE   ");
	setcolor(10);
	Record.GetRectangle(23)->Outtextxy("  GREEN   ");
	setcolor(14);
	Record.GetRectangle(29)->Outtextxy("  YELLOW  ");
}

void InitGrid(void)
{
	int number=0,circle=0;
	setcolor(11);
	outtextxy(130,150,"***** The FIFO Method of Memory Distribute *****");
	line(15,180,625,180);
	line(15,340,625,340);
	setcolor(13);
	for (circle=0;circle<50;circle++)
	{
		Graph.NewRectangle(number,110+circle*10,230,circle*10+120,240);
		number=number+1;
	}
	for (circle=0;circle<50;circle++)
	{
		Graph.NewRectangle(number,110+circle*10,300,circle*10+120,310);
		number=number+1;
	}
	setcolor(14);
	outtextxy(20,210,"Main Memory");
	outtextxy(20,280,"Hard Disk");
}

int Returncolor(int number)
{
	if (number==1) return 12;
	if (number==2) return 9;
	if (number==4) return 10;
	if (number==8) return 14;
	else return 0;
}

void Allocation(void)
{
	PCB NewNode;
	int color,circle;
	NewNode.SetSizeTs();
	if(HARDDISK[CurrentEIDD].GetSize()==0
		&&CurrentMMp+NewNode.GetSize()<=SIZE)
	{
		NewNode.SetID(CurrentMIDM);
		NewNode.SetMFlag();
		color=Returncolor(NewNode.GetSize());
		for (circle=CurrentMMp;circle<CurrentMMp+NewNode.GetSize();circle++)
		{
			Graph.GetRectangle(circle)->Fill(color);
			Screen[circle]=color;
		}
		MEMORY[CurrentMIDM]=NewNode;
		CurrentMIDM=CurrentMIDM+1;
		CurrentMMp=CurrentMMp+NewNode.GetSize();
		LeftSpace=LeftSpace-NewNode.GetSize();
	}
	else
	{
		NewNode.SetID(CurrentMIDD);
		NewNode.SetDFlag();
		color=Returncolor(NewNode.GetSize());
		for (circle=CurrentMDp;circle<CurrentMDp+NewNode.GetSize();circle++)
		{
			Graph.GetRectangle(circle+SIZE)->Fill(color);
			Screen[circle+SIZE]=color;
		}
		HARDDISK[CurrentMIDD]=NewNode;
		CurrentMIDD=CurrentMIDD+1;
		CurrentMDp=CurrentMDp+NewNode.GetSize();
		LeftD=LeftD-NewNode.GetSize();
	}
}

void Running(void)
{
	int circle=0;
	PCB TempNode;
	TempNode=MEMORY[CurrentEIDM];
	if(LeftSpace<50)
	{
		for (circle=0;circle<TempNode.GetSize();circle++)
		{
			delay(MAX);
			Graph.GetRectangle(circle)->Fill(0);
			Screen[circle]=0;
		}
		if (HARDDISK[CurrentEIDD].GetSize()==0)
		{
			CurrentMMp=CurrentMMp-TempNode.GetSize();
			LeftSpace=LeftSpace+TempNode.GetSize();
			Compact(1);
		}
		else Compact(2);
		CurrentEIDM=CurrentEIDM+1;
	}
}

void Compact(int number)
{
	int i=0,circle=0,TempID,j;
	if (number==1)
	{
		while ((Screen[i]==0) && (i<SIZE)) i=i+1;
		if (i>0)
		{
			for (circle=0;circle<MAX-i;circle++)
				Screen[circle]=Screen[circle+i];
			for (circle=MAX-i;circle<MAX;circle++) Screen[circle]=0;
			for (circle=0;circle<MAX;circle++)
				Graph.GetRectangle(circle)->Fill(Screen[circle]);
		}
	}
	if (number==2)
	{
		while ((Screen[i]==0) && (i<SIZE)) i=i+1;
		if (i>0)
		{
			for (circle=0;circle<SIZE-i;circle++)
				Screen[circle]=Screen[circle+i];
			for (circle=SIZE-i;circle<SIZE;circle++) Screen[circle]=0;
			CurrentMMp=CurrentMMp-i;
			LeftSpace+=i;
			TempID=CurrentEIDD;
			while(HARDDISK[TempID].GetSize()<=LeftSpace&&CurrentMDp!=0)
			{
				for (circle=SIZE;circle<SIZE+HARDDISK[TempID].GetSize();
					circle++)	Screen[circle]=0;
				CurrentMDp=CurrentMDp-HARDDISK[TempID].GetSize();
				for (circle=SIZE-LeftSpace;circle<
				SIZE-LeftSpace+HARDDISK[TempID].GetSize();circle++)
					Screen[circle]=Returncolor(HARDDISK[TempID].GetSize());
				CurrentMMp=CurrentMMp+HARDDISK[TempID].GetSize();
				MEMORY[CurrentMIDM]=HARDDISK[TempID];
				CurrentMIDM++;
				LeftSpace=LeftSpace-HARDDISK[TempID].GetSize();
				for (circle=SIZE;circle<SIZE+CurrentMDp;circle++)
					Screen[circle]=
						Screen[circle+HARDDISK[CurrentEIDD].GetSize()];
				for (circle=SIZE+CurrentMDp;circle<MAX;circle++)
					Screen[circle]=0;
				for (circle=0;circle<MAX;circle++)
					Graph.GetRectangle(circle)->Fill(Screen[circle]);
				LeftD=LeftD+HARDDISK[TempID].GetSize();
				CurrentEIDD++;
				TempID++;
			}
		}
	}
}

void Version()
{
	setcolor(14);
	outtextxy(150,420," DESIGNED  By  NEWTRUMP  2001.01.01     ");
	outtextxy(150,440,"             Version 2.0                ");
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久品道一品道久久精品| 欧美日韩一区成人| 中文字幕在线不卡一区| 成人爽a毛片一区二区免费| 久久久精品免费免费| 不卡视频在线观看| 亚洲综合小说图片| 欧美一卡在线观看| 国产精品自拍网站| 亚洲色图色小说| 欧美日韩高清一区二区不卡| 无吗不卡中文字幕| 久久久久久久免费视频了| av午夜一区麻豆| 亚洲国产成人av网| 精品成人一区二区| 99久久亚洲一区二区三区青草| 一区二区三区在线视频免费观看| 91精品婷婷国产综合久久性色| 久久99在线观看| 国产精品美日韩| 在线成人午夜影院| 成人精品鲁一区一区二区| 亚洲精品欧美激情| 久久综合狠狠综合久久综合88| 成人免费高清视频在线观看| 亚洲国产精品影院| 久久精品亚洲麻豆av一区二区 | 日本成人在线网站| 久久精品一区八戒影视| 欧美亚洲高清一区二区三区不卡| 麻豆一区二区在线| 一区二区三区加勒比av| 精品国产成人在线影院| 99久久精品一区| 国产在线不卡一区| 视频一区中文字幕国产| 欧美激情综合在线| 91精品国产综合久久精品| 成人av在线资源网站| 蜜桃av噜噜一区| 亚洲精品国产第一综合99久久| 欧美精品一区男女天堂| 欧美亚洲高清一区二区三区不卡| 成人免费黄色大片| 精品一区二区三区在线播放视频| 亚洲一区在线观看视频| 日本一区二区三区在线观看| 欧美一区二区大片| 欧美群妇大交群中文字幕| 色999日韩国产欧美一区二区| 国产一区二区看久久| 青青青爽久久午夜综合久久午夜| 亚洲精品视频在线观看网站| 国产精品视频九色porn| 精品国产精品一区二区夜夜嗨| 精品视频全国免费看| 色悠久久久久综合欧美99| 成人午夜视频在线| 国产美女在线观看一区| 久久国产精品99精品国产| 亚洲1区2区3区4区| 亚洲国产一区二区三区| 一区二区不卡在线播放 | 国产在线精品不卡| 久久国产人妖系列| 免费成人结看片| 日本美女一区二区| 蜜臀久久99精品久久久久宅男| 午夜精品久久久| 日韩精品午夜视频| 青娱乐精品在线视频| 奇米一区二区三区av| 麻豆精品新av中文字幕| 精品一区二区三区影院在线午夜 | 欧美日韩一级片网站| 欧美色窝79yyyycom| 欧美日韩在线播放| 911精品国产一区二区在线| 欧美另类z0zxhd电影| 欧美一区二区观看视频| 精品日韩一区二区三区免费视频| 欧美v日韩v国产v| 久久精品男人天堂av| 国产精品毛片无遮挡高清| 中文在线免费一区三区高中清不卡| 国产视频一区在线播放| 日本一二三四高清不卡| 国产精品久久久久久久久久免费看 | 日韩不卡一二三区| 蜜桃av一区二区| 国产精品99久久久久久久女警 | 欧美最新大片在线看| 欧美日韩亚洲综合| 欧美xfplay| 中文字幕一区二区三中文字幕| 亚洲视频精选在线| 日韩国产精品久久久久久亚洲| 日本视频中文字幕一区二区三区 | 国产宾馆实践打屁股91| 99久久精品费精品国产一区二区| 欧美在线999| 精品国产一区二区在线观看| 欧美激情一区二区三区全黄 | 7777精品伊人久久久大香线蕉最新版 | 91福利资源站| 91麻豆精品国产| 日本一区二区三级电影在线观看| 1000部国产精品成人观看| 午夜亚洲福利老司机| 国产盗摄女厕一区二区三区| 欧美中文字幕亚洲一区二区va在线| 欧美一级免费观看| 国产亚洲欧美一区在线观看| 亚洲在线视频一区| 国产精品一二三四| 欧美午夜精品久久久久久超碰| 精品嫩草影院久久| 一级做a爱片久久| 韩国精品一区二区| 欧美性色欧美a在线播放| 久久综合视频网| 亚洲一区在线电影| 国产成人免费高清| 欧美精品99久久久**| 一区二区中文视频| 狠狠狠色丁香婷婷综合激情 | 亚洲三级在线观看| 韩国精品一区二区| 欧美日韩国产123区| 中文字幕中文字幕在线一区| 日本在线观看不卡视频| 色综合久久综合网97色综合| 久久麻豆一区二区| 青青草伊人久久| 欧美午夜一区二区三区| 亚洲欧美中日韩| 国产精品1区二区.| 日韩欧美激情四射| 午夜视频一区二区| 91极品美女在线| √…a在线天堂一区| 国产黑丝在线一区二区三区| 91精品福利在线一区二区三区| 亚洲人被黑人高潮完整版| 国产98色在线|日韩| 精品99一区二区| 蜜桃av一区二区在线观看| 欧美日韩激情一区二区三区| 亚洲视频在线观看三级| 国产91精品一区二区麻豆网站| 日韩视频国产视频| 日韩精品91亚洲二区在线观看| 在线视频一区二区免费| 亚洲男人的天堂一区二区| 972aa.com艺术欧美| 最新国产精品久久精品| 粉嫩av亚洲一区二区图片| 久久精品网站免费观看| 国产麻豆日韩欧美久久| 欧美精品一区二区三区四区| 老司机一区二区| 日韩欧美自拍偷拍| 激情欧美一区二区| 久久久国产一区二区三区四区小说 | 亚洲制服丝袜一区| 欧美三级午夜理伦三级中视频| 亚洲另类一区二区| 欧洲视频一区二区| 天天操天天干天天综合网| 欧美日韩国产一级| 日韩av成人高清| 日韩欧美成人一区| 国产精品91一区二区| 国产欧美一区二区精品性色| 国产福利一区二区三区视频在线 | 成av人片一区二区| 亚洲视频在线观看三级| 91国产丝袜在线播放| 亚洲综合在线第一页| 91精品久久久久久蜜臀| 毛片基地黄久久久久久天堂| 日韩精品一区二区三区swag | 91视频免费看| 一区二区三区在线看| 欧美精品一卡二卡| 久久99精品网久久| 国产欧美日韩在线观看| 91香蕉视频在线| 天天做天天摸天天爽国产一区 | 日韩高清电影一区| 337p日本欧洲亚洲大胆精品 | 日本精品一级二级| 五月婷婷激情综合| 久久夜色精品国产噜噜av| 成人av动漫网站| 亚洲福中文字幕伊人影院| 精品乱人伦小说| 91在线精品一区二区三区| 午夜影院在线观看欧美|