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

2021-07-23 20:46:41 字數 2083 閱讀 9683

/*

*all right reserved.

*檔名稱:看病.cpp

*完成日期;2023年10月20日

*版本號;v1.0

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

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

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

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

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

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

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

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

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

*輸入描述:根據要求輸入數字

*程式輸出:根據輸入的數字輸出看病資訊

*/#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)  

}  intmain()    

執行結果:

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

include include typedef struct qnode qnode 鏈隊結點型別 typedef struct qutype 鏈隊型別 void seedoctor if find printf 輸入的病歷號重複,重新輸入 while find 1 p qnode malloc s...

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

問題描述及 煙台大學計控學院 作 者 王力源 完成日期 2016年10月13日 問題描述 編寫乙個程式,反映病人到醫院看病,排隊看醫生的情況。在病人排隊過程中,主要重複兩件事 1 病人到達診室,將病歷本交給 排到等待佇列中候診。2 從等待佇列中取出下一位病人的病歷,該病人進入診室就診。要求模擬病人等...

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

專案五 排隊看病模擬 問題描述 編寫乙個程式,反映病人到醫院看病,排隊看醫生的情況。在病人排隊過程中,主要重複兩件事 1 病人到達診室,將病歷本交給 排到等待佇列中候診。2 從等待佇列中取出下一位病人的病歷,該病人進入診室就診。要求模擬病人等待就診這一過程。程式採用選單方式,其選項及功能說明如下 1...