⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attemperarithmetic.cpp

📁 进程或作业先来先服务、高优先权、按时间片轮转调度算法用API与C语言结合实现,绝对有用.
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	f=0;
	y=(TCsort[2]*20)+250;
	Sleep(TCsort[2]*1000);
	for(int i=0;i<SerT[2];i++)
	{
		dc.MoveTo(x,y);
//		x=x+s*20;
		for (int j=0;j<s;j++)
		{
			if (f!=SerT[2])
			{
				f++;
				FinishedTime[0]++;
				finish2=FinishedTime[0];
				x=x+20;
				dc.LineTo(x,y);
			}
		}
			Sleep(5000);
	}
	dc.TextOut(800,y-5,"Execute Finished!");
	RoundTime[2]=finish2-TCsort[2];
	ValueTime[2]=RoundTime[2]/SerT[2];
	CString ff,rr,vv;
	if (finish2==1)
		ff="1";
	if (finish2==2)
		ff="2";
	if (finish2==3)
		ff="3";
	if (finish2==4)
		ff="4";
	if (finish2==5)
		ff="5";
	if (finish2==6)
		ff="6";
	if (finish2==7)
		ff="7";
	if (finish2==8)
		ff="8";
	if (finish2==9)
		ff="9";
	if (finish2==10)
		ff="10";
	if (finish2==11)
		ff="11";
	if (finish2==12)
		ff="12";
	if (finish2==13)
		ff="13";
	if (finish2==14)
		ff="14";
	if (finish2==15)
		ff="15";
	if (finish2==16)
		ff="16";
	if (finish2==17)
		ff="17";
	if (finish2==18)
		ff="18";
	if (finish2==19)
		ff="19";
	if (finish2==20)
		ff="20";

	if (RoundTime[2]==1)
		rr="1";
	if (RoundTime[2]==2)
		rr="2";
	if (RoundTime[2]==3)
		rr="3";
	if (RoundTime[2]==4)
		rr="4";
	if (RoundTime[2]==5)
		rr="5";
	if (RoundTime[2]==6)
		rr="6";
	if (RoundTime[2]==7)
		rr="7";
	if (RoundTime[2]==8)
		rr="8";
	if (RoundTime[2]==9)
		rr="9";
	if (RoundTime[2]==10)
		rr="10";
	if (RoundTime[2]==11)
		rr="11";
	if (RoundTime[2]==12)
		rr="12";
	if (RoundTime[2]==13)
		rr="13";
	if (RoundTime[2]==14)
		rr="14";
	if (RoundTime[2]==15)
		rr="15";
	if (RoundTime[2]==16)
		rr="16";
	if (RoundTime[2]==17)
		rr="17";
	if (RoundTime[2]==18)
		rr="18";
	if (RoundTime[2]==19)
		rr="19";
	if (RoundTime[2]==20)
		rr="20";

	if (ValueTime[2]==1)
		vv="1";
	if (ValueTime[2]==2)
		vv="2";
	if (ValueTime[2]==3)
		vv="3";
	if (ValueTime[2]==4)
		vv="4";
	if (ValueTime[2]==5)
		vv="5";
	if (ValueTime[2]==6)
		vv="6";
	if (ValueTime[2]==7)
		vv="7";
	dc.TextOut(520,520,ff);
	dc.TextOut(520,555,rr);
	dc.TextOut(520,585,vv);

	int avg;
	avg=RoundTime[0]+RoundTime[1]+RoundTime[2]+RoundTime[3]+RoundTime[4];
	avg=avg/5;
	CString aveg;
	if (avg==1)
		aveg="1";
	if (avg==2)
		aveg="2";
	if (avg==3)
		aveg="3";
	if (avg==4)
		aveg="4";
	if (avg==5)
		aveg="5";
	if (avg==6)
		aveg="6";
	if (avg==7)
		aveg="7";
	if (avg==8)
		aveg="8";
	if (avg==9)
		aveg="9";
	if (avg==10)
		aveg="10";
	if (avg==11)
		aveg="11";
	if (avg==12)
		aveg="12";
	if (avg==13)
		aveg="13";
	if (avg==14)
		aveg="14";
	if (avg==15)
		aveg="15";
	dc.TextOut(700,555,aveg);
}
void CAttemperArithmeticView::Dspy3()
{
	CClientDC dc(this);
	int y;
	int f,finish3;
	f=0;
	y=(TCsort[3]*20)+250;
	Sleep(TCsort[3]*1000);
	for(int i=0;i<SerT[3];i++)
	{
		dc.MoveTo(x,y);
//		x=x+s*20;
		for (int j=0;j<s;j++)
		{
			if (f!=SerT[3])
			{
				f++;
				FinishedTime[0]++;
				finish3=FinishedTime[0];
				x=x+20;
				dc.LineTo(x,y);
			}
		}
			Sleep(5000);
	}
	dc.TextOut(800,y-5,"Execute Finished!");
	RoundTime[3]=finish3-TCsort[3];
	ValueTime[3]=RoundTime[3]/SerT[3];
	CString ff,rr,vv;
	if (finish3==1)
		ff="1";
	if (finish3==2)
		ff="2";
	if (finish3==3)
		ff="3";
	if (finish3==4)
		ff="4";
	if (finish3==5)
		ff="5";
	if (finish3==6)
		ff="6";
	if (finish3==7)
		ff="7";
	if (finish3==8)
		ff="8";
	if (finish3==9)
		ff="9";
	if (finish3==10)
		ff="10";
	if (finish3==11)
		ff="11";
	if (finish3==12)
		ff="12";
	if (finish3==13)
		ff="13";
	if (finish3==14)
		ff="14";
	if (finish3==15)
		ff="15";
	if (finish3==16)
		ff="16";
	if (finish3==17)
		ff="17";
	if (finish3==18)
		ff="18";
	if (finish3==19)
		ff="19";
	if (finish3==20)
		ff="20";

	if (RoundTime[3]==1)
		rr="1";
	if (RoundTime[3]==2)
		rr="2";
	if (RoundTime[3]==3)
		rr="3";
	if (RoundTime[3]==4)
		rr="4";
	if (RoundTime[3]==5)
		rr="5";
	if (RoundTime[3]==6)
		rr="6";
	if (RoundTime[3]==7)
		rr="7";
	if (RoundTime[3]==8)
		rr="8";
	if (RoundTime[3]==9)
		rr="9";
	if (RoundTime[3]==10)
		rr="10";
	if (RoundTime[3]==11)
		rr="11";
	if (RoundTime[3]==12)
		rr="12";
	if (RoundTime[3]==13)
		rr="13";
	if (RoundTime[3]==14)
		rr="14";
	if (RoundTime[3]==15)
		rr="15";
	if (RoundTime[3]==16)
		rr="16";
	if (RoundTime[3]==17)
		rr="17";
	if (RoundTime[3]==18)
		rr="18";
	if (RoundTime[3]==19)
		rr="19";
	if (RoundTime[3]==20)
		rr="20";

	if (ValueTime[3]==1)
		vv="1";
	if (ValueTime[3]==2)
		vv="2";
	if (ValueTime[3]==3)
		vv="3";
	if (ValueTime[3]==4)
		vv="4";
	if (ValueTime[3]==5)
		vv="5";
	if (ValueTime[3]==6)
		vv="6";
	if (ValueTime[3]==7)
		vv="7";
	dc.TextOut(580,520,ff);
	dc.TextOut(580,555,rr);
	dc.TextOut(580,585,vv);

	int avg;
	avg=RoundTime[0]+RoundTime[1]+RoundTime[2]+RoundTime[3]+RoundTime[4];
	avg=avg/5;
	CString aveg;
	if (avg==1)
		aveg="1";
	if (avg==2)
		aveg="2";
	if (avg==3)
		aveg="3";
	if (avg==4)
		aveg="4";
	if (avg==5)
		aveg="5";
	if (avg==6)
		aveg="6";
	if (avg==7)
		aveg="7";
	if (avg==8)
		aveg="8";
	if (avg==9)
		aveg="9";
	if (avg==10)
		aveg="10";
	if (avg==11)
		aveg="11";
	if (avg==12)
		aveg="12";
	if (avg==13)
		aveg="13";
	if (avg==14)
		aveg="14";
	if (avg==15)
		aveg="15";
	dc.TextOut(700,555,aveg);
}
void CAttemperArithmeticView::Dspy4()
{
	CClientDC dc(this);
	int y;
	int f,finish4;
	f=0;
	y=(TCsort[4]*20)+250;
	Sleep(TCsort[4]*1000);
	for(int i=0;i<SerT[4];i++)
	{
		dc.MoveTo(x,y);
//		x=x+s*20;
		for (int j=0;j<s;j++)
		{
			if (f!=SerT[4])
			{
				f++;
				FinishedTime[0]++;
				finish4=FinishedTime[0];
				x=x+20;
				dc.LineTo(x,y);
			}
		}
			Sleep(5000);
	}
		dc.TextOut(800,y-5,"Execute Finished!");
	RoundTime[4]=finish4-TCsort[4];
	ValueTime[4]=RoundTime[4]/SerT[4];
	CString ff,rr,vv;
	if (finish4==1)
		ff="1";
	if (finish4==2)
		ff="2";
	if (finish4==3)
		ff="3";
	if (finish4==4)
		ff="4";
	if (finish4==5)
		ff="5";
	if (finish4==6)
		ff="6";
	if (finish4==7)
		ff="7";
	if (finish4==8)
		ff="8";
	if (finish4==9)
		ff="9";
	if (finish4==10)
		ff="10";
	if (finish4==11)
		ff="11";
	if (finish4==12)
		ff="12";
	if (finish4==13)
		ff="13";
	if (finish4==14)
		ff="14";
	if (finish4==15)
		ff="15";
	if (finish4==16)
		ff="16";
	if (finish4==17)
		ff="17";
	if (finish4==18)
		ff="18";
	if (finish4==19)
		ff="19";
	if (finish4==20)
		ff="20";

	if (RoundTime[4]==1)
		rr="1";
	if (RoundTime[4]==2)
		rr="2";
	if (RoundTime[4]==3)
		rr="3";
	if (RoundTime[4]==4)
		rr="4";
	if (RoundTime[4]==5)
		rr="5";
	if (RoundTime[4]==6)
		rr="6";
	if (RoundTime[4]==7)
		rr="7";
	if (RoundTime[4]==8)
		rr="8";
	if (RoundTime[4]==9)
		rr="9";
	if (RoundTime[4]==10)
		rr="10";
	if (RoundTime[4]==11)
		rr="11";
	if (RoundTime[4]==12)
		rr="12";
	if (RoundTime[4]==13)
		rr="13";
	if (RoundTime[4]==14)
		rr="14";
	if (RoundTime[4]==15)
		rr="15";
	if (RoundTime[4]==16)
		rr="16";
	if (RoundTime[4]==17)
		rr="17";
	if (RoundTime[4]==18)
		rr="18";
	if (RoundTime[4]==19)
		rr="19";
	if (RoundTime[4]==20)
		rr="20";

	if (ValueTime[4]==1)
		vv="1";
	if (ValueTime[4]==2)
		vv="2";
	if (ValueTime[4]==3)
		vv="3";
	if (ValueTime[4]==4)
		vv="4";
	if (ValueTime[4]==5)
		vv="5";
	if (ValueTime[4]==6)
		vv="6";
	if (ValueTime[4]==7)
		vv="7";
	dc.TextOut(640,520,ff);
	dc.TextOut(640,555,rr);
	dc.TextOut(640,585,vv);

	int avg;
	avg=RoundTime[0]+RoundTime[1]+RoundTime[2]+RoundTime[3]+RoundTime[4];
	avg=avg/5;
	CString aveg;
	if (avg==1)
		aveg="1";
	if (avg==2)
		aveg="2";
	if (avg==3)
		aveg="3";
	if (avg==4)
		aveg="4";
	if (avg==5)
		aveg="5";
	if (avg==6)
		aveg="6";
	if (avg==7)
		aveg="7";
	if (avg==8)
		aveg="8";
	if (avg==9)
		aveg="9";
	if (avg==10)
		aveg="10";
	if (avg==11)
		aveg="11";
	if (avg==12)
		aveg="12";
	if (avg==13)
		aveg="13";
	if (avg==14)
		aveg="14";
	if (avg==15)
		aveg="15";
	dc.TextOut(700,555,aveg);
}

void CAttemperArithmeticView::DspyInit()
{

	CClientDC dc(this);

	dc.TextOut(100,150,"Thread executing status:");
	
	if (s==1)
		a="1";
	if (s==2)
		a="2";
	if (s==3)
		a="3";
	if (s==4)
		a="4";
	if (s==5)
		a="5";
	dc.TextOut(90,260,"(q=");
	dc.TextOut(110,260,a);
	dc.TextOut(117,260,")");
	dc.TextOut(150,185,"0");
	dc.TextOut(130,205,"t");
	dc.MoveTo(150,200);
	dc.LineTo(150,400);//v
	dc.MoveTo(140,210);
	dc.LineTo(850,210);//h
	dc.TextOut(850,202,">");
	int x,y;
	x=170;
	y=200;
	dc.MoveTo(x,y);
	while(x<=830)
	{
		y=y+10;
		dc.LineTo(x,y);
		x=x+20;
		y=y-10;
		dc.MoveTo(x,y);
	}
	int c;
	c=0;
	for (int k=0;k<5;k++)
	{
		c=(TCsort[k]*20)+250;
		dc.TextOut(135,c-10,st[TCsort[k]]);
	}
}



/////////////////////////////////////////////////////////////////////////////
// TCSI dialog


TCSI::TCSI(CWnd* pParent /*=NULL*/)
	: CDialog(TCSI::IDD, pParent)
{
	//{{AFX_DATA_INIT(TCSI)
	m_ArrQ = _T("");
	m_S1 = 0;
	m_S2 = 0;
	m_S3 = 0;
	m_S4 = 0;
	m_S5 = 0;
	m_ts = 0;
	//}}AFX_DATA_INIT
}


void TCSI::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(TCSI)
	DDX_Text(pDX, IDC_EDIT1, m_ArrQ);
	DDV_MaxChars(pDX, m_ArrQ, 255);
	DDX_Text(pDX, IDC_EDIT2, m_S1);
	DDX_Text(pDX, IDC_EDIT3, m_S2);
	DDX_Text(pDX, IDC_EDIT4, m_S3);
	DDX_Text(pDX, IDC_EDIT5, m_S4);
	DDX_Text(pDX, IDC_EDIT6, m_S5);
	DDX_Text(pDX, IDC_EDIT7, m_ts);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(TCSI, CDialog)
	//{{AFX_MSG_MAP(TCSI)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// TCSI message handlers

BOOL TCSI::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -