/*
*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...