基于C語(yǔ)言設(shè)計(jì)一個(gè)叫號(hào)系統(tǒng)
訪問(wèn)【W(wǎng)RITE-BUG數(shù)字空間】_[內(nèi)附完整源碼和文檔]
這道題的重點(diǎn)在于怎么處理患者的治療過(guò)程。大二上學(xué)期的理論課上,我們?cè)诘谝还?jié)的研討課上對(duì)于這道題的實(shí)現(xiàn)進(jìn)行了探討。本題的患者排隊(duì)與數(shù)據(jù)結(jié)構(gòu)中的隊(duì)列結(jié)構(gòu)完全符合,當(dāng)患者掛號(hào)后,檢查該科室是否還有空閑的醫(yī)生,若有,則直接進(jìn)入進(jìn)行治療。若沒(méi)有,則進(jìn)入該科室的診療隊(duì)列排隊(duì)。每個(gè)科室的排隊(duì)情況通過(guò)查詢各個(gè)隊(duì)列的長(zhǎng)度即可得知。當(dāng)時(shí)間刷新,有病人的醫(yī)生診療時(shí)間發(fā)生變化,當(dāng)變?yōu)?0 時(shí),分配該病人 B 超時(shí)間。對(duì)于需要 B 超的患者,進(jìn)入 B 超等候隊(duì)列,依次進(jìn)入各個(gè) B 超室。
綜合應(yīng)用設(shè)計(jì)說(shuō)明
某醫(yī)院普通門診擁有科室 15 個(gè),每個(gè)科室值班醫(yī)生 3 人;B 超室 1 個(gè),有 3 臺(tái) B 超機(jī)?,F(xiàn)需設(shè)計(jì)一個(gè)叫號(hào)系統(tǒng),通過(guò)掛號(hào)次序,安排每個(gè)科室叫號(hào)順序,各科室在診斷完病人后,根據(jù)其是否開具 B 超檢查要求,安排 B 超室的叫號(hào)順序,并在所有過(guò)程中,記錄每位醫(yī)生所看的病人及其聽診時(shí)間。
需實(shí)現(xiàn)掛號(hào)過(guò)程,醫(yī)生就診過(guò)程。
顯示各科室、B超室目前排隊(duì)情況。
查看各醫(yī)生就診的所有病人。
軟件功能
病人選擇科室進(jìn)行掛號(hào),自動(dòng)分配患者編號(hào)
顯示各個(gè)科室與 B 超室當(dāng)前仍在排隊(duì)等候的人數(shù)
顯示每個(gè)醫(yī)生(B 超室)當(dāng)前病人還剩余的診療(檢查)時(shí)間
顯示當(dāng)天已經(jīng)過(guò)分鐘數(shù)
根據(jù)醫(yī)生編號(hào)查詢當(dāng)天醫(yī)生診療病人的記錄
根據(jù)時(shí)間刷新,自動(dòng)分配患者到對(duì)應(yīng)的醫(yī)生(B 超室)進(jìn)行治療(檢查)
將所有就診記錄存于文件,運(yùn)行完程序可進(jìn)行保存(對(duì)應(yīng)于醫(yī)院一天的營(yíng)業(yè)結(jié)束)
查詢就診記錄是通過(guò)數(shù)據(jù)文件讀取比對(duì)實(shí)現(xiàn)的,當(dāng)醫(yī)生治療一個(gè)病人的同時(shí),對(duì)數(shù)據(jù)文件進(jìn)行寫入。病人掛號(hào)系統(tǒng)與自動(dòng)分配診室是通過(guò)建立病人的隊(duì)列實(shí)現(xiàn)的,當(dāng)時(shí)間刷新,每個(gè)診室的情況都會(huì)重新更新,從而實(shí)現(xiàn)掛號(hào)、就診、檢查的過(guò)程。而各科室、B 超室的排隊(duì)情況只需檢查病人的排隊(duì)隊(duì)列長(zhǎng)度即可獲得。
設(shè)計(jì)思想
這道題的重點(diǎn)在于怎么處理患者的治療過(guò)程。大二上學(xué)期的理論課上,我們?cè)诘谝还?jié)的研討課上對(duì)于這道題的實(shí)現(xiàn)進(jìn)行了探討。本題的患者排隊(duì)與數(shù)據(jù)結(jié)構(gòu)中的隊(duì)列結(jié)構(gòu)完全符合,當(dāng)患者掛號(hào)后,檢查該科室是否還有空閑的醫(yī)生,若有,則直接進(jìn)入進(jìn)行治療。若沒(méi)有,則進(jìn)入該科室的診療隊(duì)列排隊(duì)。每個(gè)科室的排隊(duì)情況通過(guò)查詢各個(gè)隊(duì)列的長(zhǎng)度即可得知。當(dāng)時(shí)間刷新,有病人的醫(yī)生診療時(shí)間發(fā)生變化,當(dāng)變?yōu)?0 時(shí),分配該病人 B 超時(shí)間。對(duì)于需要 B 超的患者,進(jìn)入 B 超等候隊(duì)列,依次進(jìn)入各個(gè) B 超室。同樣的,時(shí)間刷新后 B 超室內(nèi)患者檢查時(shí)間變?yōu)?0 時(shí),患者的治療過(guò)程結(jié)束。B 超室會(huì)從 B 超的等候隊(duì)列中尋找新的需要檢查的患者。從現(xiàn)實(shí)中的排隊(duì)聯(lián)想到隊(duì)列結(jié)構(gòu)也是很正常的想法。
隊(duì)列的元素為患者節(jié)點(diǎn),節(jié)點(diǎn)本身有患者的各項(xiàng)信息,跟隨患者類進(jìn)行傳輸。每個(gè)科室(包括 B 超室)均有一條患者隊(duì)列,代表等待隊(duì)列?;颊咧委熐闆r的變化會(huì)引起患者節(jié)點(diǎn)的入隊(duì)列與出隊(duì)列。
而醫(yī)生節(jié)點(diǎn)與 B 超室節(jié)點(diǎn)均需記錄患者編號(hào)與剩余時(shí)間,而這兩個(gè)節(jié)點(diǎn)的存儲(chǔ)采用順序表的結(jié)構(gòu)(即數(shù)組)。
ui 界面中需要展示的部分,通過(guò)讀取隊(duì)列與醫(yī)生數(shù)組、B 超室數(shù)組的數(shù)據(jù)即可解決。查詢部分需要按行查詢文件中的信息。



