資源簡介
模擬某校九層教學樓的電梯系統。該樓有一個自動電梯,能在每層停留。九個樓層由下至上依次稱為地下一層、第一層、第二層、……第八層,其中第一層是大樓的進出層,即是電梯的“本壘層”,電梯“空閑”時,將來到該層候命。 乘客可隨時地進出于任何層。對于每個人來說,他有一個能容忍的最長等待時間,一旦等候電梯時間過長,他將放棄。 模擬時鐘從0開始,時間單位為0.1秒。人和電梯的各種動作均要消耗一定的時間單位(簡記為t),比如:有人進出時,電梯每隔40t檢測一次,若無人進出,則關門;關門和開門各需要20t;每個人進出電梯均需要25t;如果電梯在某層精致時間超過300t,則駛回1層候命。
代碼片段和文件信息
#include?
#include?
#include?
#include?
typedef?struct?//規定最大乘坐人數為13
{
int?lc;//電梯所在樓層
int?rs;//電梯中的人數
int?men;//門的狀態?0關1開(假設關了門時除了在第一層等人時之外,都在移動)
}dianti;
typedef?struct?
{
???int?rrsj;//一個人的容忍時間
???int?sz;//所在樓層
???int?md;//目的樓層
}man;
typedef?struct?Node
{
????char?a[1000];//信息
int?mytime;//時間
struct?Node?*next;
}SLNode;
void?ListInitiate(SLNode?*?*?head)
{
?????if((*head?=?(SLNode?*?)malloc(sizeof(SLNode)))?==?NULL)?exit(1);
?????(?*head)->next?=?NULL;
}
int?ListInsert(SLNode?*headint?ichar?a[1000]int?t)
{
????SLNode?*p*q;
????int?j;
????p=head;
????j=-1;
????while(p->next!=NULL?&&?j ????{
????????????????????????p=p->next;
????????????????????????j++;
????}
????if(j!=i-1)
????{
??????????????printf(“插入位置參數錯!“);
??????????????return?0;
????}
????if((q=(SLNode?*)malloc(sizeof(SLNode)))?==?NULL)?exit(1);
????q->mytime?=?t;?
strcpy(q->aa);
????q->next?=p->next;
????p->next?=q;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????72192??2008-01-02?13:05??電梯模擬.doc
?????文件???????4453??2008-01-02?16:31??Cpp1.cpp
?????文件???????4687??2008-01-02?13:19??Cpp2.cpp
-----------?---------??----------?-----??----
????????????????81332????????????????????3
- 上一篇:基于小波理論合成人工地震波
- 下一篇:httpclient以及依賴的jar包
評論
共有 條評論