病人排隊(duì)程序設(shè)計(jì)報(bào)告.doc_第1頁
病人排隊(duì)程序設(shè)計(jì)報(bào)告.doc_第2頁
病人排隊(duì)程序設(shè)計(jì)報(bào)告.doc_第3頁
病人排隊(duì)程序設(shè)計(jì)報(bào)告.doc_第4頁
病人排隊(duì)程序設(shè)計(jì)報(bào)告.doc_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

設(shè)計(jì)題目: 病人看病模擬程序?qū)?業(yè) 班 級(jí) 姓 名 學(xué) 號(hào) 起止時(shí)間 20092010 學(xué)年 第 三 學(xué)期目錄一、課程題目:3二、任務(wù)分配3三、需求分析4四、概要設(shè)計(jì)44.1抽象數(shù)據(jù)類型定義:44.2 主程序5五、詳細(xì)設(shè)計(jì)6六、調(diào)試分析116.1116.2126.312七、用戶手冊(cè)137.1 說明137.2 注意事項(xiàng)13八、測(cè)試結(jié)果13九、參考文獻(xiàn)14摘要:在現(xiàn)代化中,信息的收集、管理在工作將發(fā)揮越來越重要的作用,能否高效地管理海量信息已成為企事業(yè)單位能否高效運(yùn)行的關(guān)鍵所在。而利用計(jì)算機(jī)技術(shù),實(shí)現(xiàn)管理系統(tǒng)的自動(dòng)化、規(guī)范化就是最好的解決方法。針對(duì)部分醫(yī)療機(jī)構(gòu)就診排隊(duì)混亂的問題專門設(shè)計(jì)了該程序。本報(bào)告主要介紹如何正確使用病人看病模擬程序主,以解決排隊(duì)看病秩序混亂問題。本程序功能全面、分類科學(xué)。它集顯示、輸入、添加、刪除等各種處理為一體,信息維護(hù)起來非常方便。關(guān)鍵字:程序;排隊(duì)就診;使用說明;一、課程題目:病人排隊(duì)看病主要重復(fù)兩件事: (1)病人到達(dá)珍室,將病歷本交給護(hù)士,排隊(duì)等待隊(duì)列中候診;(2)護(hù)士從等待隊(duì)列中取出下一位病人的病歷,該病人就診;要求編程模擬這一過程。程序采用菜單選擇方式,其選項(xiàng)功能說明如下:(1)排隊(duì)-輸入排隊(duì)病人的病歷號(hào),加入到病人排隊(duì)隊(duì)列中;(2)就診-最前面的病人就診,并從隊(duì)列中刪除;(3)查看隊(duì)列-從隊(duì)首到隊(duì)尾列出所有排隊(duì)病人病歷號(hào);(4)不在排隊(duì),余下依次就診-從隊(duì)首到隊(duì)尾列出所有派隊(duì)病人病歷號(hào),退出運(yùn)行;(5)下班-退出運(yùn)行; 二、任務(wù)分配代碼編寫:程序調(diào)試:報(bào)告書寫:三、需求分析(1)該程序主要是為了方便病人排隊(duì)就醫(yī),解決排隊(duì)混亂問題而設(shè)計(jì);(2)能夠?qū)崿F(xiàn)病人信息的有序管理,插入、刪除、顯示;(3)操作人員需要手動(dòng)輸入、刪除病人序號(hào)。四、概要設(shè)計(jì)4.1抽象數(shù)據(jù)類型定義:ADT Queue數(shù)據(jù)對(duì)象:D=ai | ai ElemSet , i=1,2,n, n0數(shù)據(jù)關(guān)系:R1= | ai-1, aiD,i=2,n約定其中ai為隊(duì)列頭,an段為隊(duì)列列尾?;静僮鳎篒nitQueue(&Q)操作結(jié)果:構(gòu)造一個(gè)空隊(duì)列Q。DestroyQueue(&Q)初始條件:隊(duì)列Q已存在。操作結(jié)果:隊(duì)列Q被銷毀,不再存在。QueueEmpty(Q)初始條件:隊(duì)列Q已存在。操作結(jié)果:若Q為空隊(duì)列,則返回TRUE,否則返回FALSEGetHead(Q,&e)初始條件:Q為非空隊(duì)列。操作結(jié)果:用e返回Q的隊(duì)頭元素。EnQueue(Q,&e)初始條件:隊(duì)列Q已存在。操作結(jié)果:插入元素e為Q的新的隊(duì)尾元素。DeQueue(&Q,&e)初始條件:Q為非空隊(duì)列。操作結(jié)果:刪除Q的隊(duì)頭元素,并用e 返回其值。 Bzpd(&Q)初始條件:Q為滿隊(duì)列。不能再加入人數(shù)。pdrenshu(&Q)初始條件:隊(duì)列Q存在。操作結(jié)果:輸出正在排隊(duì)等候的人數(shù)。Reshu(&Q)初始條件:隊(duì)列Q存在。操作結(jié)果:輸出一天內(nèi)排隊(duì)的人數(shù)。show(&Q)初始條件:隊(duì)列Q存在。操作結(jié)果:輸出排隊(duì)等候人的信息。accident(&Q)初始條件:因發(fā)生意外情況操作結(jié)果:隊(duì)列銷毀,退出程序。workoff(&Q)初始條件:下班時(shí)間到了。操作結(jié)果:退出程序。4.2 主程序Viod main() LinkQueue x;InitQueue(x);int m=1;while(m=!0) switch(menubar()case 1:EnQueue(x);break;case 2:DeQueue(x);break;case 3:show(x);break;case 4:bzpd(x);break;case 5:Reshu(i);break;case 6:pdrenshu(x);break;case 7:accident(x);exit(0);break;case 8:workoff(x);exit(0);break;五、詳細(xì)設(shè)計(jì)#include #include#include#include#define max 50#define OK 1#define TRUE 1#define FALSE -1#define ERROR -1#define OVERFLOW -2typedef char QElemType;typedef int status;char menubar()/菜單函數(shù)int c=0;printf(n*n);printf(n*歡迎進(jìn)入就診模擬系統(tǒng)*nn);printf( 1:排隊(duì)n);printf( 2:就診n);printf( 3:查看隊(duì)列n);printf( 4:不再排隊(duì)n);printf( 5:查詢今天已有人數(shù)n);printf( 6:正在候診的人數(shù)n);printf( 7:意外情況,坐診取消n);printf( 8:下班n);printf(n*n);printf(n 特注: 請(qǐng)輸入數(shù)字選項(xiàng)(1-8):);doscanf(%d,&c); getchar();if(!(c=1&c=1&cnext=NULL;return OK;int i=0;status EnQueue(LinkQueue &Q)if(iname); printf(請(qǐng)輸入年齡:); scanf(%d,&p-age);printf(請(qǐng)輸入性別(男性請(qǐng)輸入Mm,女性請(qǐng)輸入Ff): );scanf(%s,p-sex);p-next=NULL;Q.rear-next=p;Q.rear=p;+i;return OK;elseprintf(今日就診人數(shù)已達(dá)上限!n);return FALSE;status DeQueue(LinkQueue &Q)QueuePtr p;if(Q.front=Q.rear)printf(此時(shí)無候診病人);return ERROR;p=Q.front-next;if(p!=Q.rear)Q.front-next=p-next;elseQ.rear=Q.front;printf(請(qǐng)%s就診,p-name);free(p);return OK;status QueueEmpty(LinkQueue Q)if(Q.front=Q.rear)return TRUE;elsereturn FALSE;status show(LinkQueue Q) if(Q.front=Q.rear)printf(無候診病人); return 0;QueuePtr a;QueuePtr b;a=Q.front;Q.front=Q.front-next;b=Q.rear;printf( 姓名 年齡 性別n);printf(-n);doprintf(%s %-4d %sn,Q.front-name,Q.front-age,Q.front-sex);if(Q.front=Q.rear)return ERROR;Q.front=Q.front-next;while( Q.front!=Q.rear);printf(%s %-4d %sn,Q.front-name,Q.front-age,Q.front-sex);Q.front=a;Q.rear=b;return 0;void Reshu(status a)printf(今天已有人數(shù)n);printf(%d人,a);void pdrenshu(LinkQueue Q)int c=0;if(Q.front=Q.rear)printf(無候診病人);printf(%d人,c);elseQueuePtr a;QueuePtr b;a=Q.front;Q.front=Q.front-next;b=Q.rear;while(Q.front!=Q.rear)+c;Q.front=Q.front-next;+c;printf(%d,c);Q.front=a;Q.rear=b;status DestroyQueue(LinkQueue Q)QueuePtr p;if(Q.front=Q.rear)i=max;return OK;elsedop=Q.front-next;if(p!=Q.rear)Q.front-next=p-next;elseQ.rear=Q.front;free(p);while(Q.rear!=Q.front);free(Q.rear);Q.rear=Q.front;i=max;return OK;void accident(LinkQueue Q)DestroyQueue(Q);printf(抱歉,因發(fā)生意外情況,今日就診取消!nn);void workoff(LinkQueue Q)DestroyQueue(Q);printf(現(xiàn)在已下班,后續(xù)病人無法繼續(xù)就診!nn);void bzpd(LinkQueue Q)printf(臨近下班,停止排隊(duì),請(qǐng)明日再來,如給您帶來不便,敬請(qǐng)諒解!n);i=max;void main()printf(n 制作: XXX XXX n);LinkQueue x;InitQueue(x);int m=1;while(m=!0) switch(menubar()case 1:EnQueue(x);break;case 2:DeQueue(x);break;case 3:show(x);break;case 4:bzpd(x);break;case 5:Reshu(i);break;case 6:pdrenshu(x);break;case 7:accident(x);exit(0);break;case 8:workoff(x);exit(0);break;六、調(diào)試分析6.1輸入name1、name2、name3三個(gè)病人姓名,輸出的顯示結(jié)果錯(cuò)誤。錯(cuò)誤的輸出結(jié)果:經(jīng)調(diào)試,正確結(jié)果如下:6.2 輸入操作指令不符合規(guī)則時(shí),出現(xiàn)死循環(huán)在scanf語句后添加,getchar語句,問題得到一定程度解決,但當(dāng)輸入為一串英文字母時(shí),返回的錯(cuò)誤提示個(gè)數(shù)為英文字母的個(gè)數(shù)。6.3 當(dāng)所有病人就診完成,再次查看隊(duì)列現(xiàn)有人數(shù)時(shí)出現(xiàn)如下錯(cuò)誤“就診函數(shù)”出現(xiàn)錯(cuò)誤,經(jīng)調(diào)試,返回結(jié)果正確!七、用戶手冊(cè)7.1 說明請(qǐng)用戶根據(jù)界面提示數(shù)字指令操作,大致意義如下:數(shù)字1:插入病人信息;數(shù)字2:刪除病人信息;數(shù)字3:顯示正在排隊(duì)的病人信息;數(shù)字4:臨近下班,排隊(duì)停止,現(xiàn)有病人還可依次就診;數(shù)字5:查詢今日已經(jīng)就診人數(shù)(已經(jīng)就診和正在排隊(duì)人數(shù));數(shù)字6:查詢正在候診的病人數(shù);數(shù)字7:意外發(fā)生,就診取消,排隊(duì)隊(duì)列銷毀;數(shù)字8:下班時(shí)間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論