📄 进程1.cpp
字号:
#include<iostream.h>
#include<slist.h>
void main()
{
int n;
char a;
cout<<"\n*********************进程管理小模拟系统********************\n"<<endl;
queue zhixing,jiuxu,zuse;
cout<<"\n*********************注意:********************\n1.若想结束输入,请输入R。\n2.本模拟系统进程调度采用的是先来先服务算法,输入进程名的顺序即为到达cpu的顺序\n"<<endl;
char r;
r='R';
for(int i=0;;i++)
{
char e[100];
cout<<"输入进程名:"<<" ";
cin>>e[i];
if(e[i]!=r)
jiuxu.enqueue(e[i]);
else
break;
}
A: cout<<"\n请选择操作:1、执行进程;2、将阻塞队列中进程调入就绪队列;3、封锁进程;4、结束进程;5、退出程序。 ";
cin>>n;
if(n==1)
{
if(!zhixing.isempty ())
{
cout<<"已经有进程在执行!,此操作不能执行\n";
char w;
cout<<endl;
cout<<"如果要继续请输入#;如果要退出按其它任意键"<<endl;
cout<<"要选择的操作:";
cin>>w;
if(w=='#')goto L;
else goto E;
}
else
{
if(!jiuxu.isempty())
{
a=jiuxu.dequeue();
if(a!=r)
zhixing.enqueue(a);
goto L;
}
else goto L;
}
}
else if(n==2)
{
if(!zuse.isempty())
{
a=zuse.dequeue ();
if(a!=r)
jiuxu.enqueue(a);
goto L;
}
else goto L;
}
else if(n==3)
{
if(!zhixing.isempty())
{
a=zhixing.dequeue ();
if(a!=r)
zuse.enqueue(a);
goto L;
}
else goto L;
}
else if(n==4)
{
cout<<"\n请输入要结束的进程名: ";
cin>>a;
if(zhixing.find (a)||jiuxu.find (a)||zuse.find (a))
{
if(zhixing.find(a))
{zhixing.del(a);}
else if(jiuxu.find(a))
{jiuxu.del(a);}
if(zuse.find(a))
{zuse.del(a);}
cout<<"\n结束进程成功!\n"<<endl;
goto L;
}
else
cout<<"没有此进程"<<endl;
goto L;
L:
if(n==1||n==2||n==3||n==4)
{
cout<<"执行队列"<<endl;
zhixing.display();
cout<<endl;
cout<<"就绪队列"<<endl;
jiuxu.display();cout<<endl;
cout<<"阻塞队列"<<endl;
zuse.display();cout<<endl;
goto A;
}
else if(n==5);
else
{
cout<<"\n你的输入错误!\n";
goto A;
}
}
E:;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -