-
大小: 478KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-09
- 語言: C/C++
- 標(biāo)簽: 實(shí)驗(yàn)??電梯調(diào)度??
資源簡(jiǎn)介
經(jīng)典的操作系統(tǒng)實(shí)驗(yàn),模擬電梯調(diào)度,代碼中注釋詳細(xì)。。。

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