資源簡介
經典的操作系統實驗,模擬電梯調度,代碼中注釋詳細。。。

代碼片段和文件信息
//實驗三----------------------驅動調度------------------------------
#include
#include
#include
#include
#include?
#include?
#include
using?namespace?std;
typedef?struct?applicationform{//申請表結構體的定義
char?processname[20];//進程名
int?zhumianhao;????//柱面號
int?citouhao;??//磁頭號
int?jiluhao;???//記錄號
int?prt;//標志鏈表中的節點是否已經調度過!!!
struct?applicationform?*next;//下一個節點指針
}APP;
//**************************************************************************
APP?*phead=NULL*pcurr=NULL*current=(APP*)malloc(sizeof(APP));//定義申請隊列的頭指針和當前指針以及當前節點和其前節點
//***********************************************************************
//建立單向鏈表,每添加一個申請時放到頭節點phead的后面
//************************************************************************
void?init()//建立原始的申請隊列
{
current->zhumianhao=0;
current->citouhao=0;
current->jiluhao=0;
APP?*p=NULL;
p=(APP*)malloc(sizeof(APP));
????phead=p;
p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p0“);
p->zhumianhao=0;
p->citouhao=0;
p->jiluhao=3;
phead->next=p;
pcurr=p;??//set?the?pcurrent?location?00000
????//current=p;?//將當前的位置置為00000
????p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p1“);
p->zhumianhao=0;
p->citouhao=0;
p->jiluhao=1;
pcurr->next=p;???
pcurr=pcurr->next;
????p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p2“);
p->zhumianhao=0;
p->citouhao=0;
p->jiluhao=2;
pcurr->next=p;???
pcurr=pcurr->next;
????p=(APP*)malloc(sizeof(APP));
strcpy_s(p->processname“p3“);
p->zhumianhao=50;
p->citouhao=0;
p->jiluhao=5;
p->next=NULL;
pcurr->next=p;???
pcurr=phead->next;
cout<<“初始------柱面號:“<zhumianhao<<“記錄號:“<jiluhao< }
//****************************************************
void?addapp()
{
APP*?m=NULL;
????m=(APP*)malloc(sizeof(APP));
cout<<“請輸入進程名:“;
cin>>m->processname;
cout<<“請輸入柱面號:“;
cin>>m->zhumianhao;
cout<<“請輸入磁頭號:“;
cin>>m->citouhao;
cout<<“請輸入記錄號:“;
cin>>m->jiluhao;
m->next=pcurr;??
pcurr=m;
phead->next=pcurr;
cout< }
void??print()//輸出申請表中的信息
?{
?//APP*?temp=pcurr;
?????//printf(“------------當前申請表中信息如下-----------\n“);
?printf(“進程名??????柱面號???????磁頭號??????記錄號\n?“);
?printf(“*******************************************\n“);
?while(pcurr)
?{
?//cout<processname<zhumianhao<citouhao<jiluhao< ?//temp=temp->next;
?if(pcurr->prt!=-1)
?{
??cout<processname<zhumianhao<citouhao<jiluhao< ?}
?pcurr=pcurr->next;
?}
?pcurr=phead->next;
?printf(“?******************************************\n“);
?}
//******************************
int?direction=1;//表示磁頭移動的方向:1--向里--柱面號增大的方向??0--向外--柱面號減小的方向
int?zhumiandis=200jiludis=8;//這兩個變量分別用來記錄申請進程的柱面和記錄與當前的距離大小
int?count=0big=0little=0;//分別用來辨別是否有同柱面的,比當前柱面大的,比當前
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????65536??2009-01-08?23:47??實驗3--電梯調度\debug\exp--os3.exe
?????文件?????404228??2009-01-08?23:47??實驗3--電梯調度\debug\exp--os3.ilk
?????文件?????486400??2009-01-08?23:47??實驗3--電梯調度\debug\exp--os3.pdb
?????文件???????8622??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\BuildLog.htm
?????文件????????403??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\exp--os3.exe.em
?????文件????????468??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\exp--os3.exe.em
?????文件????????385??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\exp--os3.exe.intermediate.manifest
?????文件??????62445??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\masi.obj
?????文件?????????67??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\mt.dep
?????文件?????183296??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\vc80.idb
?????文件?????184320??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug\vc80.pdb
?????文件???????3968??2008-11-23?10:09??實驗3--電梯調度\exp--os3\exp--os3.vcproj
?????文件???????1409??2008-11-28?15:16??實驗3--電梯調度\exp--os3\exp--os3.vcproj.304-32.Administrator.user
?????文件???????1427??2009-01-15?19:30??實驗3--電梯調度\exp--os3\exp--os3.vcproj.ASUS-8D10232B2C.asus.user
?????文件???????1427??2008-12-03?23:25??實驗3--電梯調度\exp--os3\exp--os3.vcproj.PC-200811072135.XGXU2006.user
?????文件???????9376??2008-12-03?23:19??實驗3--電梯調度\exp--os3\masi.cpp
?????文件????1395712??2009-01-15?19:30??實驗3--電梯調度\exp--os3.ncb
?????文件????????889??2008-11-23?09:24??實驗3--電梯調度\exp--os3.sln
????..A..H.?????14336??2009-01-15?19:30??實驗3--電梯調度\exp--os3.suo
?????目錄??????????0??2009-01-08?23:47??實驗3--電梯調度\exp--os3\Debug
?????目錄??????????0??2009-01-08?23:47??實驗3--電梯調度\debug
?????目錄??????????0??2009-01-08?23:47??實驗3--電梯調度\exp--os3
?????目錄??????????0??2009-01-08?23:46??實驗3--電梯調度
-----------?---------??----------?-----??----
??????????????2824714????????????????????23
- 上一篇:vc編寫的交通燈演示程序
- 下一篇:MFC程序設計-畫圖板
評論
共有 條評論