📄 添加进程.txt
字号:
void CCPUSchedule1Dlg::OnAddProcess()
{
// TODO: Add your control notification handler code here
int IArriveOrder,IServiceTime,IPriority,ILittleTime;
char CProcessName[20],CArriveOrder[10],CServiceTime[10],CPriority[10],CLittleTime[10];
CString cstr_process;
//通过控制变量取文本框内容
if(UpdateData())
{
//UpdateData()为bool型变量,通过该函数限制输入数值的地方不能输入非数值类型的值
m_cpname.GetWindowText(CProcessName,20);
m_carriveorder.GetWindowText(CArriveOrder,10);
m_cservicetime.GetWindowText(CServiceTime,10);
m_cpriority.GetWindowText(CPriority,10);
m_clittletime.GetWindowText(CLittleTime,10);
IArriveOrder=atoi(CArriveOrder);
IServiceTime=atoi(CServiceTime);
IPriority=atoi(CPriority);
ILittleTime=atoi(CLittleTime);
process[I].SetProcessName(CProcessName);
process[I].SetArriveOrder(IArriveOrder);
process[I].SetServiceTime(IServiceTime);
process[I].SetPriority(IPriority);
process[I].SetLittleTime(ILittleTime);
//将文本框中内容打包
cstr_process.Format(" %2s %4d %3d %4d %3d",CProcessName,
IArriveOrder,IServiceTime,IPriority,ILittleTime);
if(m_cpname.GetWindowText(CProcessName,20)==NULL)
{
m_AddProcess=0;
}//因为到达次序,服务时间,优先级等数值数据由成员变量通过UpdateData()控制,
//所以只需判断进程名不为空时可加入进程,否则不加入
else
{
I++; //当有进程时加1
m_AddProcess++;//m_AddProcess判断是否有进程,非0则有,否则没有进程
}
}//if 输入进程
else
{
m_AddProcess=0;//没有输入进程
}//else
if(m_AddProcess==0)
{
MessageBox("警告! 您还没输入任何进程,请输入!");
}//if
else
{
m_showprocess.AddString(cstr_process);//将进程的内容显示在list中
++StringCount;
}//else
}
void CCPUSchedule1Dlg::OnDblclkList1()
{
// TODO: Add your control notification handler code here
}
void CCPUSchedule1Dlg::OnBtnRadom()
{
// TODO: Add your control notification handler code here
int IArriveOrder,IServiceTime,IPriority;
char CProcessName[20],CArriveOrder[10],CServiceTime[10],CPriority[10];
CString cstr_pname;
//,ILittleTime,CLittleTime[10]
//随机命名
cstr_pname.Format("P%d",I+1);
m_cpname.SetWindowText(cstr_pname); //随机的名字设置文本框内容
m_cpname.GetWindowText(CProcessName,20); //显示进程名称
//随机生成其它数字
srand((unsigned int)time(NULL));
IArriveOrder=1+rand()%20; //把到达次序设置在1到20之间
IServiceTime=1+rand()%30; //服务时间设置在1到30之间
IPriority=1+rand()%20; //优先级设置在1到20之间
//ILittleTime=1+rand()%10;
//itoa()函数是将一个整数值转换成一个字符串,
//第一个参数是要转换的整数值,第二个参数是转换后存放的字符串,最后一个是转换的进制
itoa(IArriveOrder,CArriveOrder,10);
itoa(IServiceTime,CServiceTime,10);
itoa(IPriority,CPriority,10);
// itoa(ILittleTime,CLittleTime,10);
m_carriveorder.SetWindowText(CArriveOrder);
m_cservicetime.SetWindowText(CServiceTime);
m_cpriority.SetWindowText(CPriority);
m_clittletime.SetWindowText("2");
m_AddProcess++;//产生进程再添加进程时就不会出错
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -