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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? page.cpp

?? C++編程實例100篇電子書
?? CPP
字號:
//THE PROGRAM IS TO DISPLAY THE OPREATING SYSTEM'S
//PROCESS PAGE DISTRIBUTE.
//FILE PAGE.CPP

#include    <stdio.h>
#include    <conio.h>
#include   <string.h>
#include   <stdlib.h>
#include <graphics.h>

#define MAX 100
#define Count 5

int TableLength,Virtual[MAX];
int Length[Count],Privilege[Count];
int Normal[Count],IOTime[Count],Finish[Count];

void Kernel(void);
void Result(void);
void Version(void);
int IF_Finish(void);
void InitGrid(void);
void InitGraph(void);
void InitRecord(void);
void InitProcess(void);

class Node
{
	private :
			int ID;
			int Length;
			int Privilege;
			int Temp[MAX];

	public :
			Node()
			{
				for (int i=0;i<MAX;i++) Temp[i]=-1;
			}
			void SetID(int I)
			{
				ID=I;
			}
			void SetLength(int L)
			{
				Length=L;
			}
			void SetPrivilege(int P)
			{
				Privilege=P;
			}
			void SetPosition(int Order)
			{
				Virtual[Order]=ID;
				Temp[Order]=ID;
			}
			void Release(void)
			{
				for (int i=0;i<TableLength;i++)
					if (Virtual[i]==ID)
					{
						Virtual[i]=-1;
						Graph.GetRectangle(i)->Fill(0);
					}
			}
			int GetID(void){return ID;}
			int GetLength(void){return Length;}
			int GetPrivilege(void){return Privilege;}
			int GetPosition(void)
			{
				for (int i=0;i<TableLength;i++)
				{
					if (Temp[i]==ID) break;
				}
				if (Temp[i]==-1) return MAX;
				else
				{
					Temp[i]=-1;
					return i;
				}
			}
};

class Rectangle
{
	friend class Grid;
	private :
			int left,top,right,bottom;
			char content[50];

	public :
			void Outtextxy(char text[50])
			{
				strcpy(content,text);
				outtextxy(left+9,top+7,content);
			}
			void Fill(int Number)
			{
				setfillstyle(SOLID_FILL,Number);
				bar3d(left,top,right,bottom,0,0);
				getch();
			}
			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[100];

	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];
			}
};

Grid Record,Graph;
Node Table[50];

int main(void)
{
	InitProcess();
	getch();
	InitGraph();
	InitRecord();
	InitGrid();
	Kernel();
	Result();
	Version();
	getch();
	closegraph();
	return 0;
}

void InitProcess(void)
{
	int i;
	window(1,1,80,25);
	textbackground(1);
	textcolor(14);
	clrscr();
	for (i=0;i<MAX;i++) Virtual[i]=-1;
	printf("\n       ------  The Process Of Page Distribute  ------\n");
	printf("\n***** Input The Page Table Length Of The Process : ");
	scanf("%d",&TableLength);
	for (i=0;i<Count;i++)
	{
		printf("\n----- Input The Length Of The Process %d : ",i+1);
		scanf("%d",&Length[i]);
		printf("\n***** Input The Prilvilege Of The Process %d : ",i+1);
		scanf("%d",&Privilege[i]);
	}
}

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:");
		getch();
		exit(1);
	}
}

void InitRecord(void)
{
	int number=0,circle,i;
	for (i=0;i<Count+1;i++)
	{
		for (circle=0;circle<Count+1;circle++)
		{
			Record.NewRectangle(number,15+circle*100,20+i*20,
						circle*100+115,20+((i+1)*20));
			number=number+1;
		}
	}
	setcolor(14);
	Record.GetRectangle(1)->Outtextxy("  Length  ");
	Record.GetRectangle(2)->Outtextxy("Privilege ");
	Record.GetRectangle(3)->Outtextxy("  Normal  ");
	Record.GetRectangle(4)->Outtextxy("  Colour  ");
	Record.GetRectangle(5)->Outtextxy("I/O  Times");
	Record.GetRectangle(6)->Outtextxy("    P1    ");
	Record.GetRectangle(12)->Outtextxy("    P2    ");
	Record.GetRectangle(18)->Outtextxy("    P3    ");
	Record.GetRectangle(24)->Outtextxy("    P4    ");
	Record.GetRectangle(30)->Outtextxy("    P5    ");
	setcolor(9);
	for (i=7,circle=0;i<=31,circle<Count;i=i+6,circle++)
		Record.GetRectangle(i)->Display(Length[circle]);
	for (i=8,circle=0;i<=32,circle<Count;i=i+6,circle++)
		Record.GetRectangle(i)->Display(Privilege[circle]);
	for (i=9,circle=0;i<=33,circle<Count;i=i+6,circle++)
		Record.GetRectangle(i)->Display(Normal[circle]);
	for (i=11,circle=0;i<=35,circle<Count;i=i+6,circle++)
		Record.GetRectangle(i)->Display(IOTime[circle]);
	setcolor(9);
	Record.GetRectangle(10)->Outtextxy("   BLUE   ");
	setcolor(10);
	Record.GetRectangle(16)->Outtextxy("  GREEN   ");
	setcolor(11);
	Record.GetRectangle(22)->Outtextxy("   CYAN   ");
	setcolor(12);
	Record.GetRectangle(28)->Outtextxy("   RED    ");
	setcolor(13);
	Record.GetRectangle(34)->Outtextxy("  MAGENTA ");
}

void InitGrid(void)
{
	int number=0,circle=0;
	setcolor(11);
	outtextxy(155,180,"The Process Of Memory Page Distribute");
	setlinestyle(CENTER_LINE,1,1);
	line(15,200,610,200);
	setcolor(15);
	setlinestyle(DOTTED_LINE,1,0);
	for (circle=0;circle<TableLength;circle++)
	{
		Graph.NewRectangle(number,30+circle*20,250,circle*20+50,270);
		number=number+1;
	}
}

int IF_Finish(void)
{
	if (Finish[0]+Finish[1]+Finish[2]+Finish[3]+Finish[4]==5)
		return 1;
	else return 0;
}

void Kernel(void)
{
	int i=0,j=0,Free=0,Current=0,EndIn=0;
	int MinPrivilege=0,MinID=Count;
	Node TempNode;
	Free=TableLength;
	Table[0].SetID(0);
	Table[0].SetLength(Length[0]);
	Table[0].SetPrivilege(Privilege[0]);
	for (i=0;i<Table[0].GetLength();i++) Table[0].SetPosition(i);
	Current=0;
	while (IF_Finish()==0)
	{
		TempNode=Table[Current];
		if ((TempNode.GetLength()<Free) || (TempNode.GetLength()==Free))
		{
			Finish[TempNode.GetID()]=1;
			j=0;
			while (j!=MAX)
			{
				j=TempNode.GetPosition();
				if (j!=MAX)
					Graph.GetRectangle(j)->Fill(TempNode.GetID()+9);
			}
			if (TempNode.GetPrivilege()>MinPrivilege)
			{
				MinPrivilege=TempNode.GetPrivilege();
				MinID=TempNode.GetID();
			}
			Free=Free-TempNode.GetLength();
			if (Current==Count-1) EndIn=1;
			if (EndIn==0)
			{
				Table[Current+1].SetID(Current+1);
				Table[Current+1].SetLength(Length[Current+1]);
				Table[Current+1].SetPrivilege(Privilege[Current+1]);
				i=0;
				j=0;
				while ((j<Length[Current+1]) && (Length[Current+1]<=Free))
				{
					if (Virtual[i]==-1)
					{
						Table[Current+1].SetPosition(i);
						j=j+1;
					}
					i=i+1;
				}
			}
		}
		else
		{
			Table[MinID].Release();
			Free=Free+Table[MinID].GetLength();
			i=0;
			j=0;
			while ((j<Length[Current]) && (Length[Current]<=Free))
			{
				if (Virtual[i]==-1)
				{
					Table[Current].SetPosition(i);
					j=j+1;
				}
				i=i+1;
			}
			MinID=MinID-1;
			Current=Current-1;
		}
		Current=Current+1;
	}
}

void Result()
{
	getch();
	setcolor(14);
	outtextxy(200,300,"Default : When there is no page for new process ,");
	outtextxy(250,320,"Clear the lowest privilege process in table !");
	setcolor(12);
	outtextxy(100,340,"***** Result *****");
	setcolor(11);
	outtextxy(120,360,"----- The Above Is The Page Distribute Graph -----");
	getch();
}

void Version()
{
	setcolor(14);
	outtextxy(150,400,"    DESIGNED BY NEWTRUMP 2001.01.01  ");
	outtextxy(150,420,"             Version 1.0                ");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产拍欧美日韩视频二区| 91在线国产福利| 日韩你懂的在线播放| 亚洲午夜一区二区| 欧美日韩一区二区在线视频| 亚洲无人区一区| 91精品国产日韩91久久久久久| 日韩精品视频网| 精品国产精品网麻豆系列| 高清久久久久久| 一区二区三区四区不卡视频| 91精品国产综合久久蜜臀| 韩国在线一区二区| 国产精品妹子av| 欧美日韩三级一区| 国内一区二区视频| 亚洲婷婷综合色高清在线| 欧美色精品天天在线观看视频| 视频一区二区三区在线| 久久精品这里都是精品| 欧美在线视频日韩| 九九精品视频在线看| 成人免费在线视频观看| 91麻豆精品国产自产在线观看一区 | 图片区小说区区亚洲影院| 欧美成人aa大片| 97精品国产97久久久久久久久久久久| 亚洲国产精品久久一线不卡| 欧美电影免费观看完整版| 99精品一区二区三区| 婷婷一区二区三区| 亚洲欧洲日韩av| 精品福利在线导航| 91精彩视频在线| 国产另类ts人妖一区二区| 偷窥少妇高潮呻吟av久久免费| 久久精品视频网| 日韩视频在线一区二区| 97成人超碰视| 国产做a爰片久久毛片| 亚洲人午夜精品天堂一二香蕉| 精品少妇一区二区| 欧美亚洲综合另类| 丁香婷婷综合激情五月色| 日韩精品乱码免费| 亚洲欧美日韩中文字幕一区二区三区| 精品区一区二区| 欧美日韩国产综合视频在线观看| 成人免费看视频| 久久精品国产精品亚洲综合| 久久国产综合精品| 亚洲综合精品自拍| 亚洲欧洲国产专区| 国产欧美日产一区| 26uuu精品一区二区| 7777精品伊人久久久大香线蕉的 | 91精品国产欧美日韩| 色婷婷国产精品| 国产成人精品影视| 激情另类小说区图片区视频区| 亚洲午夜一区二区三区| 一区二区三区中文在线| 亚洲婷婷国产精品电影人久久| 亚洲国产岛国毛片在线| 久久久国产一区二区三区四区小说 | 国产精品成人一区二区艾草| 久久天天做天天爱综合色| 欧美va亚洲va在线观看蝴蝶网| 777奇米四色成人影色区| 欧美熟乱第一页| 欧美综合色免费| 欧美性做爰猛烈叫床潮| 色噜噜偷拍精品综合在线| 91视频一区二区三区| www.视频一区| 91麻豆123| 日本高清成人免费播放| 97精品视频在线观看自产线路二| 粉嫩aⅴ一区二区三区四区五区 | 激情文学综合丁香| 精品中文字幕一区二区小辣椒 | 亚洲欧美日韩久久| 一区二区视频在线| 一区二区三区四区不卡视频| 亚洲午夜久久久久久久久电影院 | 亚洲自拍偷拍综合| 午夜影视日本亚洲欧洲精品| 午夜精品爽啪视频| 日韩综合小视频| 久久精品国产精品青草| 国产综合一区二区| www.欧美亚洲| 一本高清dvd不卡在线观看| 在线看国产一区| 91精品欧美综合在线观看最新| 欧美一级二级三级乱码| 欧美mv和日韩mv的网站| 国产调教视频一区| 亚洲视频香蕉人妖| 午夜精品久久久久久不卡8050| 日本不卡一区二区三区| 韩国v欧美v日本v亚洲v| 99精品欧美一区| 欧美日韩mp4| 久久久欧美精品sm网站| 亚洲日本丝袜连裤袜办公室| 天堂在线一区二区| 国产精品99久久久久久久女警| av毛片久久久久**hd| 精品视频全国免费看| 精品91自产拍在线观看一区| 国产精品欧美一级免费| 亚洲午夜在线电影| 国产福利一区二区三区视频| 色综合天天综合网国产成人综合天| 欧美日韩视频在线第一区| 久久这里只有精品首页| 伊人色综合久久天天人手人婷| 免费精品99久久国产综合精品| 成人一区二区三区在线观看| 欧美三级在线视频| 国产日韩精品久久久| 亚洲成av人综合在线观看| 国产精品自拍av| 欧美日韩激情在线| 国产精品久久久久9999吃药| 日韩av中文字幕一区二区三区| 成人国产精品免费| 日韩欧美成人激情| 亚洲国产婷婷综合在线精品| 国产一区二区伦理| 欧美日韩在线免费视频| 国产精品理伦片| 麻豆国产欧美日韩综合精品二区 | 亚洲成人高清在线| 成人妖精视频yjsp地址| 日韩一区二区三区四区| 亚洲亚洲人成综合网络| www.欧美精品一二区| 国产午夜一区二区三区| 日韩影视精彩在线| 欧美最猛黑人xxxxx猛交| 中文字幕一区二区三区在线观看| 精品亚洲成av人在线观看| 欧美日韩国产精品成人| 亚洲欧美日本在线| 成人国产精品免费| 久久久久久毛片| 久久精品国产亚洲aⅴ| 国产精品的网站| 国产裸体歌舞团一区二区| 欧美成人免费网站| 视频一区视频二区中文字幕| 91国产精品成人| 亚洲摸摸操操av| 成人v精品蜜桃久久一区| www国产精品av| 激情综合一区二区三区| 日韩亚洲欧美高清| 麻豆91免费看| 欧美一区午夜精品| 肉丝袜脚交视频一区二区| 欧美色综合久久| 亚洲综合图片区| 欧美最猛性xxxxx直播| 亚洲亚洲人成综合网络| 欧美日韩一区在线| 丝瓜av网站精品一区二区| 欧美日本韩国一区| 美女被吸乳得到大胸91| 久久综合五月天婷婷伊人| 精品亚洲国内自在自线福利| 久久一日本道色综合| 国产成人三级在线观看| 国产欧美一区二区精品婷婷| 成人免费毛片高清视频| 亚洲天堂网中文字| 欧美日韩国产精品自在自线| 日本女优在线视频一区二区| 精品女同一区二区| 国产在线乱码一区二区三区| 国产欧美日产一区| 国产伦精品一区二区三区在线观看| 欧美成人猛片aaaaaaa| 日韩精品一区第一页| 这里是久久伊人| 国产最新精品精品你懂的| 国产精品欧美一区喷水| 91久久精品一区二区| 日欧美一区二区| 久久精品一区八戒影视| 丁香桃色午夜亚洲一区二区三区| 国产精品久久久久久久久果冻传媒 | 成人性生交大片免费看在线播放| 中文字幕av在线一区二区三区| caoporen国产精品视频| 亚洲va国产va欧美va观看| 欧美www视频| 91麻豆精东视频| 免费人成黄页网站在线一区二区|