第七周專案5 排隊看病模擬

2021-08-09 12:15:10 字數 2055 閱讀 1643

問題及**:

/* 

* 檔名稱:xxy. 

* 作    者:徐瀟雨 

* 完成日期:2017 年 10 月 18 日 

* 版 本 號:v1.0 

* * 問題描述: 編寫乙個程式,反映病人到醫院看病,排隊看醫生的情況。在病人排隊過程中,主要重複兩件事: 

(1)病人到達診室,將病歷本交給**,排到等待佇列中候診。  

(2)**從等待佇列中取出下一位病人的病歷,該病人進入診室就診。  

要求模擬病人等待就診這一過程。程式採用選單方式,其選項及功能說明如下:  

(1)排隊——輸入排隊病人的病歷號,加入到病人排隊佇列中。  

(2)就診——病人排隊佇列中最前面的病人就診,並將其從佇列中刪除。  

(3)檢視排隊——從隊首到隊尾列出所有的排隊病人的病歷號。  

(4)不再排隊,餘下順序就診——從隊首到隊尾列出所有的排隊病人的病歷號,並退出執行。  

(5)下班——退出執行,提示未就診的病人明天再來。  

* 輸入描述:自行輸入  

* 程式輸出:實現各種演算法的函式的測試結果 

*/

main.cpp

#include #include typedef struct qnode

qnode; /*鏈隊結點型別*/

typedef struct

qutype; /*鏈隊型別*/

void seedoctor()

if (find)

printf(" >>輸入的病歷號重複,重新輸入:");

}while (find==1);

p=(qnode *)malloc(sizeof(qnode)); /*建立結點*/

p->data=no;

p->next=null;

if (qu->rear==null) /*第乙個病人排隊*/

else

break;

case 2:

if (qu->front==null) /*隊空*/

printf(" >>沒有排隊的病人!\n");

else /*隊不空*/

else

qu->front=p->next;

free(p);

}break;

case 3:

if (qu->front==null) /*隊空*/

printf(" >>沒有排列的病人!\n");

else /*隊不空*/

printf("\n");

}break;

case 4:

if (qu->front==null) /*隊空*/

printf(" >>沒有排列的病人!\n");

else /*隊不空*/

printf("\n");

}flag=0; /*退出*/

break;

case 5:

if (qu->front!=null) /*隊不空*/

printf(" >>請排隊的病人明天就醫!\n");

flag=0; /*退出*/

break;}}

p=qu->front; //銷毀佇列

while (p!=null)

}int main()

執行結果:

知識點總結:

運用鍊錶的佇列來完成任務。

心得體會:

運用了遍歷來查詢重複的,與上學期的鍊錶有一點聯絡。

第七周專案5排隊看病模擬

問題及描述 1 病人到達診室,將病歷本交給 排到等待佇列中候診。2 從等待佇列中取出下一位病人的病歷,該病人進入診室就診。要求模擬病人等待就診這一過程。程式採用選單方式,其選項及功能說明如下 1 排隊 輸入排隊病人的病歷號,加入到病人排隊佇列中。2 就診 病人排隊佇列中最前面的病人就診,並將其從佇列...

第七周 專案5 排隊看病模擬

all right reserved 檔名稱 liqueue.cpp 完成日期 2015年10月14日 版本號 v1.0 問題描述 排隊看病模擬 include include include liqueue.h void seedoctor if find printf 輸入的病歷號重複,重新輸入...

第七周專案5 排隊看病模擬

檔名稱 test.cpp 完成日期 2015年10月23日 版本號 vc 6.0 問題描述 編寫乙個程式,反映病人到醫院看病,排隊看醫生的情況。在病人排隊過程中,主要重複兩件事 1 病人到達診室,將病歷本交給 排到等待佇列中候診。2 從等待佇列中取出下一位病人的病歷,該病人進入診室就診。要求模擬病人...