




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、綜合設(shè)計(jì)題目: 課 程:數(shù)據(jù)結(jié)構(gòu)與算法年 級:2015級 專 業(yè): 班 級: 學(xué) 號: 姓 名: 指導(dǎo)教師:課程設(shè)計(jì)(論文)任務(wù)書 學(xué)院 專業(yè) 班 1、 課程設(shè)計(jì)(論文)題目 醫(yī)院候診管理系統(tǒng) 2、 課程設(shè)計(jì)(論文)工作自 2016 年 12 月 26日起至 2016 年12月 30日止。三、課程設(shè)計(jì)(論文) 地點(diǎn): 信息工程學(xué)院 5-203 四、課程設(shè)計(jì)(論文)內(nèi)容要求:1本課程設(shè)計(jì)的目的通過該課程設(shè)計(jì)的操作與實(shí)踐,使學(xué)生真正掌握數(shù)據(jù)結(jié)構(gòu)相關(guān)算法的實(shí)現(xiàn)及應(yīng)用方法,在一定程度上提高使用數(shù)據(jù)結(jié)構(gòu)相關(guān)算法的綜合設(shè)計(jì)能力,具體掌握的基本能力如下:(1)掌握數(shù)據(jù)結(jié)構(gòu)中各種抽象數(shù)據(jù)類型;(2)全面提高學(xué)
2、生的程序設(shè)計(jì)、開發(fā)能力。2課程設(shè)計(jì)的任務(wù)及要求 任務(wù):已知醫(yī)院有內(nèi)科、外科、骨科、皮膚科和口腔科,每個科均有普通門診和專家門診,普通門診掛號費(fèi)5元,專家門診掛號費(fèi)10元,其中內(nèi)科門診要求14歲以下(含14歲)兒童進(jìn)第一診室,1525歲(含25歲)男患者進(jìn)第二診室,女患者進(jìn)第三診室,其他的進(jìn)第四診室,要求編制程序?qū)崿F(xiàn)如下功能(患者信息包括掛號單編號、性別、年齡、所掛科室):(1)能實(shí)現(xiàn)掛號功能,提示用戶在一行內(nèi)輸入姓名及掛號單編號,并儲存;(2)能實(shí)現(xiàn)叫號功能,顯示排在隊(duì)列中第一位患者姓名、掛號單編號,并將其從掛號序列中刪除;(3)根據(jù)病人的性別與年齡,能實(shí)現(xiàn)診室的分配;(4)能按隊(duì)列順序顯示各
3、個診室排隊(duì)人的姓名、掛號單編號及所在診室;(5)按性別進(jìn)行統(tǒng)計(jì)和按任意年齡區(qū)段進(jìn)行統(tǒng)計(jì),并打印輸出;(6)完成每個步驟之后都能重新顯示選擇菜單。2)基本要求:本課程設(shè)計(jì)應(yīng)滿足以下要求:(1)任意性:用戶任意給定輸入,系統(tǒng)能夠完成正確的計(jì)算;(2)友好性:界面要友好,輸入有提示,盡量展示人性化;(3)可讀性:源程序代碼清晰、有層次;(4)健壯性:用戶輸入非法數(shù)據(jù)時(shí),系統(tǒng)要及時(shí)給出警告信息;(5)結(jié)構(gòu)性:應(yīng)用程序具有良好的程序結(jié)構(gòu)。對所編寫的源程序的要求:(1)能夠達(dá)到系統(tǒng)功能的基本要求,鼓勵自行增加新功能(相應(yīng)提高評分等級);(2)要有可視化用戶界面。盡可能的使界面友好、直觀、易操作; (3)開
4、發(fā)工具任選,源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。3)創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì)。 4)課程設(shè)計(jì)論文編寫要求(1)要按照書稿的規(guī)格打印撰寫設(shè)計(jì)論文;(2)論文包括目錄、摘要、正文、總結(jié)等;(3)課程設(shè)計(jì)論文裝訂按學(xué)校的統(tǒng)一要求完成。5)答辯與評分標(biāo)準(zhǔn): (1)達(dá)到課程設(shè)計(jì)的目的與要求,程序的可讀性較好,并調(diào)試正確,60分;(2)能正確回答老師所提問題,可增加10分;(3)課程設(shè)計(jì)報(bào)告書寫規(guī)范整齊,可增加10分;(4)心得體會認(rèn)真總結(jié),可增加10分;(5)程序有創(chuàng)新性,可增加10分;成績評定實(shí)行優(yōu)秀、良好、中等、及格和不及格五個等級。不及格者需重做。5)課程設(shè)計(jì)進(jìn)度安排16周周
5、五:上交分組名單及選題18周周一之前:查閱相關(guān)資料,劃分模塊、小組成員分工18周周一:編制源程序18周周三、四:上機(jī)調(diào)試,修改、完善系統(tǒng)、撰寫課程設(shè)計(jì)報(bào)告18周周四上午9:00:上交源代碼(.cpp 、.h 存入已小組成員的學(xué)號與名字命名的文件夾1份/組)與課程設(shè)計(jì)報(bào)告(1份/人)上機(jī)時(shí)間安排表(地點(diǎn):信息學(xué)院203機(jī)房):18周:周一上午1、2、3、4節(jié) 周三上午1、2、3、4節(jié)周四上午1、2、3、4節(jié)學(xué)生簽名: 年 月 日課程設(shè)計(jì)(論文)評審意見項(xiàng)目優(yōu)良中及格不及格課程設(shè)計(jì)之前查閱相關(guān)資料,完成需求分析,準(zhǔn)備充分。課程設(shè)計(jì)期間態(tài)度端正,按時(shí)參加,按時(shí)完成。所設(shè)計(jì)系統(tǒng)按要求完成各項(xiàng)功能。所設(shè)
6、計(jì)系統(tǒng)具有一定的創(chuàng)新性,添加一些實(shí)用功能。論文撰寫規(guī)范,結(jié)構(gòu)嚴(yán)謹(jǐn),思路清晰,準(zhǔn)確表達(dá)。介紹所設(shè)計(jì)的系統(tǒng)表述清楚,主要問題回答準(zhǔn)確。自學(xué)能力強(qiáng)并獨(dú)立解決問題,具備一定的系統(tǒng)開發(fā)能力。 評閱人簽名: 曾偉 職稱: 講師目錄第1章 系統(tǒng)概要.11.1系統(tǒng)介紹.11.2 基本功能要求1第2章 設(shè)計(jì)思路與算法22.1 程序設(shè)計(jì)思路.22.2 程序設(shè)計(jì)功能結(jié)構(gòu).22.3 數(shù)據(jù)結(jié)構(gòu)定義.2第3章 源程序代碼4第4章 運(yùn)行結(jié)果及分析9 4.1運(yùn)行結(jié)果. 94.2結(jié)果分析. 14第5章 心得體會15參考文獻(xiàn)16第1章 系統(tǒng)概要1.1系統(tǒng)介紹設(shè)計(jì)一個醫(yī)院門診候診的隊(duì)列管理系統(tǒng),該系統(tǒng)要求對醫(yī)院門診候診的排隊(duì)進(jìn)行管
7、理和維護(hù)。其中醫(yī)院有內(nèi)科、外科、骨科、皮膚科和口腔科五個科室,每個科均有普通門診和專家門診,普通門診掛號費(fèi)5元,專家門診掛號費(fèi)10元。而且其中內(nèi)科門診有四個診室,要求14歲以下(含14歲)兒童進(jìn)第一診室,1525歲(含25歲)男患者進(jìn)第二診室,女患者進(jìn)第三診室,其他的進(jìn)第四診室。1.2 基本功能要求(1)能實(shí)現(xiàn)掛號功能,提示用戶在一行內(nèi)輸入姓名及掛號單編號,并儲存;(2)能實(shí)現(xiàn)叫號功能,顯示排在隊(duì)列中第一位患者姓名、掛號單編號,并將其從掛號序列中刪除;(3)根據(jù)病人的性別與年齡,能實(shí)現(xiàn)診室的分配;(4)能按隊(duì)列順序顯示各個診室排隊(duì)人的姓名、掛號單編號及所在診室;(5)按性別進(jìn)行統(tǒng)計(jì)和按任意年齡
8、區(qū)段進(jìn)行統(tǒng)計(jì),并打印輸出;(6)完成每個步驟之后都能重新顯示選擇菜單。第2章 設(shè)計(jì)思路與算法2.1程序設(shè)計(jì)思路1、根據(jù)系統(tǒng)所要求的基本功能,可將程序主要化為掛號、叫號、分配診室、依隊(duì)列順序輸出病人信息及統(tǒng)計(jì)管理當(dāng)前信息等模塊。2、依據(jù)各模塊具體功能運(yùn)用相關(guān)語句和結(jié)構(gòu)編程具體的程序。a . 掛號模塊,是通過數(shù)組記錄患者的信息;b. 叫號模塊,能實(shí)現(xiàn)顯示排在隊(duì)列中第一位患者姓名、掛號單編號,然后,通過清屏形式將其從掛號序列中刪除的功能。通過分診步驟之后,再操作此模塊將顯示下一位患者的信息,即實(shí)現(xiàn)了題目中“從掛號序列中刪除”的要求;c分配診室模塊,先按照患者所需選擇普通或?qū)<议T診以及相應(yīng)的科室,再在
9、內(nèi)科患者中,按照年齡及性別進(jìn)行分配診室模塊,能實(shí)現(xiàn)對患者進(jìn)行分診功能,先通過判斷年齡進(jìn)行第一診室的分配,然后再將剩余的患者進(jìn)行性別判斷進(jìn)行第二、第三、第四診室的分配;d. 顯示各患者隊(duì)列及診室信息模塊,可以實(shí)現(xiàn)將當(dāng)前所有患者的所在診室以及其詳細(xì)信息展示出來的功能,所顯示的信息分為三個部分展示;e. 統(tǒng)計(jì)模塊,分為性別統(tǒng)計(jì)和按任意年齡統(tǒng)計(jì)。按任意年齡統(tǒng)計(jì),通過輸入的年齡界限X與年齡數(shù)組中的數(shù)據(jù)進(jìn)行判斷比較,輸出相應(yīng)的人數(shù),并且輸入的年齡界限必須是可行的實(shí)際值,否則無意義;按性別統(tǒng)計(jì),直接打印數(shù)據(jù)即可。3、在主函數(shù)界面,通過主界面函數(shù)分別進(jìn)入各模塊,進(jìn)行運(yùn)行并調(diào)試。2.2程序設(shè)計(jì)功能結(jié)構(gòu) 其主要幾
10、個模塊流程圖如下主界面函數(shù)主界面函數(shù) 6、退出程序5、當(dāng)前信息統(tǒng)計(jì)管理4、按隊(duì)列顯示信息3、分配診室2、叫號1、掛號掛號模塊模塊二:掛號系統(tǒng)void guahao循環(huán)輸入姓名name姓名name主界面內(nèi)科第三診室內(nèi)科第二診室內(nèi)科第四診室內(nèi)科第一診室否否是是男?是25歲以下14歲以下皮膚科診室口腔科診室骨科診室外科診室口腔科?皮膚科?科?外科?骨科?內(nèi)科?模塊四:按照年齡和性別進(jìn)行分診分配診室函數(shù)主界面顯示隊(duì)列中剩余患者信息顯示隊(duì)列中第一位患者信息叫號函數(shù)模塊三:叫號系統(tǒng)void jiaohao輸出輸入姓名name姓名name2.3數(shù)據(jù)結(jié)構(gòu)定義主要運(yùn)用的三個數(shù)據(jù)結(jié)構(gòu)如下(結(jié)構(gòu)體數(shù)組):struc
11、t hoschar name15; /保存患者姓名char sex10; /保存性別char num10; /保存患者數(shù)目(可自行更改)char year10; /保存患者年齡char ke20; /所掛科室char fee20; /保存門診費(fèi)用int room;/結(jié)構(gòu)體數(shù)組struct hos hN;struct hos *p=&h0;第3章 源程序代碼# include <stdio.h># include <stdlib.h># include <ctype.h> # include <string.h># define N 100
12、int S1=0,S2=0,S3=0,S4=0,a1=0,a2=0,a3=0,a4=0,man=0,woman=0,pl=0,g=0,sum=0;int k,mz;struct hoschar name15;char sex10;char num10;char year10;char ke20; /所掛科室char fee20; /門診費(fèi)用int room;struct hos hN;struct hos *p=&h0;void introduce()printf(" n 歡迎使用醫(yī)院候診管理系統(tǒng) n");printf(" n 功 能 選 擇 n"
13、;);printf("n");printf(" 1-掛號 n");printf(" 2-叫號 n");printf(" 3分診室 n");printf(" 4顯示各診室隊(duì)列信息 n");printf(" 5統(tǒng)計(jì)當(dāng)天就診患者情況(要求按性別和任意年齡區(qū)段進(jìn)行統(tǒng)計(jì))n");printf(" 6結(jié)束程序 n");printf("n");void run()void introduce();void input ();void jiaohao(
14、);void fp();void statistic();void type_statistic();char function,j10;function=getchar();while (function)switch(function)case '1':input();break;case '2':jiaohao();break;case '3':fp();break;case '4':statistic();break;case '5':type_statistic();break;case '6
15、39;:exit(0);break;default:system("cls");printf("nterrornn請重新輸入: ");printf("請選擇功能");introduce();function=getchar();gets(j);while(isdigit(function)=0)/isdigit(function):判斷function字符是不是數(shù)字printf("您輸入有誤,請重新輸入");function=getchar();gets(j);void input()int change(char
16、);char i,j8,s15;printf("請輸入需要掛號的病人人數(shù)(請輸入0到9之間的數(shù)):n");getchar();i=getchar();gets(j);while(isdigit(i)=0)/isdigit(i):判斷i字符是不是數(shù)字printf("您輸入有誤,請重新輸入");i=getchar();gets(j);printf("請輸入%d位病人的個人信息n",change(i);for(k=1;k<=change(i);k+)printf("第%2d位病人:n",k);printf(&quo
17、t;姓名 :");strcpy(,gets(s);printf("編號 :");strcpy(ppl.num,gets(s);printf("性別 :");strcpy(ppl.sex,gets(s);printf("年齡 :");strcpy(ppl.year,gets(s); printf("請選擇 普通門診(掛號費(fèi)5元)或者 專家門診(掛號費(fèi)10元):n"); /專家和普通門診strcpy(ppl.fee,gets(s);printf("請選擇 內(nèi)科;外科;骨科;皮膚科;口
18、腔科 n");strcpy(ppl.ke,gets(s); /選擇科室pl+;printf("已經(jīng)掛號的病人n");for(k=g;k<pl;k+) if(strcmp(pk.fee,"普通門診")=0) printf("第%2d位 姓名: %s 掛號號碼%s 所掛科室:普通%s n",k+1-g,,pk.num,pk.ke); if(strcmp(pk.fee,"專家門診")=0) printf("第%2d位 姓名: %s 掛號號碼%s 所掛科室:專家%s n",
19、k+1-g,,pk.num,pk.ke);system("pause");/暫停system("cls");/清屏void jiaohao()if(g=pl)system("cls");printf("所有病人都已經(jīng)分配完畢n");return;printf("病人%s已前往就診 掛號號碼:%5snn",,pg.num);g+;printf("剩余%2d位等待叫號的病人n",pl-g);for(k=g;k<pl;k+)printf("
20、;掛號排序第%2d位 姓名:%s掛號號碼: %5sn",k+1-g,,pk.num);system("pause");system("cls");void fp ()S1=0;S2=0;S3=0;S4=0;a1=0;a2=0;a3=0;a4=0;for(k=0;k<g;k+)if(strcmp(pk.ke,"內(nèi)科")=0)if(atoi(pk.year)<=14)S1+; pk.room=1 ; /其中14(含14)歲以下的患者在第一診室else if(atoi(pk.year)>14&
21、;&atoi(pk.year)<=25)if(strcmp(pk.sex,"男")=0)S2+;pk.room=2 ; /14歲以上25歲以下(含25)男患者進(jìn)第二診室elseS3+;pk.room=3; /14歲以上25歲以下(含25)女患者進(jìn)第三診室elseS4+;pk.room=4; /其它的患者進(jìn)第三診室printf("病人%s被分配在內(nèi)科第%d診室n",,pk.room); if(strcmp(pk.ke,"外科")=0) a1=a1+1;printf("病人%s被分配在%s診室n&qu
22、ot;,,pk.ke); if(strcmp(pk.ke,"骨科")=0) a2=a2+1;printf("病人%s被分配在%s診室n",,pk.ke); if(strcmp(pk.ke,"皮膚科")=0) a3=a3+1;printf("病人%s被分配在%s診室n",,pk.ke); if(strcmp(pk.ke,"口腔科")=0) a4=a4+1;printf("病人%s被分配在%s診室n",,pk.ke);sys
23、tem("pause");system("cls");void statistic()for(k=0;k<g;k+)printf(" 第%2d名患者 姓名:%s 掛號編號:%s 診室:%s診室n",k+1,,pk.num,pk.ke);printf(" 內(nèi)科第一診室%2d人n",S1);printf(" 內(nèi)科第二診室%2d人n",S2);printf(" 內(nèi)科第三診室%2d人n",S3);printf(" 內(nèi)科第四診室%2d人n",S4
24、);printf(" 外科診室%2d人n",a1);printf(" 骨科診室%2d人n",a2);printf(" 皮膚科診室%2d人n",a3);printf(" 口腔科診室%2d人n",a4);system("pause");system("cls");void type_statistic()int year,high=0,low=0;man=0;woman=0;for(k=0;k<g;k+)if(strcmp(pk.fee,"普通門診")=
25、0)sum=sum+5;if(strcmp(pk.fee,"專家門診")=0) sum=sum+10;if(strcmp(pk.sex,"男")=0)man+;else woman+;printf("今日總掛號門診費(fèi)為:%dn",sum);printf("請輸入一個界限年齡:");scanf("%d",&year);for(k=0;k<g;k+)if(atoi(pk.year)>=year)high+;else low+;printf("共有%2d位患者就診.n&q
26、uot;,g);printf("其中男性患者有%2d位,",man);printf("女性患者有%2d位.n",woman);printf("年紀(jì)大于等于%d的患者有%2d位,",year,high);printf("年紀(jì)小于%d的患者有%2d位.n",year,low);system("pause");system("cls");void main()introduce();run();int change(char ch)/將單個字符型數(shù)字轉(zhuǎn)化為整形int i;i=ch-
27、48;return(i);第4章 運(yùn)行結(jié)果及分析4.1運(yùn)行結(jié)果功能介紹introduce函數(shù)界面(菜單)選擇1即開始掛號掛號后選擇2即開始叫號此時(shí)選擇3可見患者所分配到的診室信息這時(shí)選擇4可見各科室及診室隊(duì)列信息以此,叫號(2)和分配診室(3)相繼進(jìn)行,各科室及診室隊(duì)列信息(4)也相應(yīng)變化 最后,又叫完號并分配完診室后,可得各科室診室的隊(duì)列信息如上,其中可見,14歲以下的內(nèi)科患者進(jìn)入內(nèi)科第一診室,14歲以上25歲以下的內(nèi)科男患者進(jìn)去內(nèi)科第二診室,女患者則進(jìn)入內(nèi)科第三診室,相應(yīng)其他科室如外科也進(jìn)入相應(yīng)科室診室。最后,選擇5即可計(jì)算出當(dāng)天的掛號門診費(fèi),并能根據(jù)年齡及性別進(jìn)行統(tǒng)計(jì)4.2結(jié)果分析當(dāng)調(diào)試
28、程序遇到問題時(shí)先嘗試調(diào)試程序一步一步的解決問題,不會的我會看書、上網(wǎng)查閱資料或者與同學(xué)討論最終解決程序中出現(xiàn)的問題。同時(shí),也努力通過自己的想法不斷創(chuàng)新,找到更為簡潔方便符合情況的地方。1、儲存患者信息時(shí)含有多項(xiàng)信息,可通過循環(huán)控制,利用結(jié)構(gòu)體數(shù)組輸出被叫號病人的各項(xiàng)信息,同時(shí)輸出每個等待叫號病人的信息,最后清屏、暫停,并引用introduce( )函數(shù)返回主界面。2、很多次連續(xù)使用輸入函數(shù)接受數(shù)據(jù)時(shí),后面一個函數(shù)接受的數(shù)據(jù)經(jīng)常報(bào)錯,通過getcahr()和putchar()語句進(jìn)行調(diào)試,發(fā)現(xiàn)是因?yàn)榍耙粋€函數(shù)接受數(shù)據(jù)完畢后會輸入一個回車鍵,而后一個輸入函數(shù)將回車鍵接受了,而與后一個函數(shù)所要接收的數(shù)據(jù)類型不同導(dǎo)致錯誤,最后采用getchar();語句將多余的回車鍵吸收。3、在使用isdigit(i)函數(shù)時(shí),i的數(shù)據(jù)類型需為char類型從而進(jìn)行判斷,但在其他函數(shù)中又應(yīng)為int 類型,此時(shí)i的數(shù)據(jù)類型相矛盾,查閱資料得,可自定義一個change函數(shù)通過ACS碼將該字符型數(shù)字轉(zhuǎn)化為整形數(shù)字。4、如何根據(jù)患者情況選擇相對應(yīng)的科室,起初想法再次采用一個switch,case語句進(jìn)行選擇控制,但實(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人裝修住房合同范本
- 10《父母多愛我》(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治三年級上冊
- 防疫用餐合同范本
- 業(yè)務(wù)代管合同范本
- 11我是一張紙 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治二年級下冊統(tǒng)編版
- 銀行注銷合同范本
- Module 11 unit 2 In England,you usually drink tea with milk 英文版教學(xué)設(shè)計(jì) 2024-2025學(xué)年外研版八年級英語上冊
- 理財(cái)擔(dān)保合同范本
- 2025屆高考英語語法填空解題技巧教學(xué)設(shè)計(jì)
- 4 上學(xué)路上(教學(xué)設(shè)計(jì))-部編版道德與法治一年級上冊
- 一級建造師《港口與航道工程管理與實(shí)務(wù)》
- 四年級下冊勞動《做水果拼盤》
- 工廠車間劃線標(biāo)準(zhǔn)與標(biāo)識管理(共37張PPT)
- 幼兒園課件PPT《如何有效的與家長溝通》
- 一年級下冊《綜合實(shí)踐活動》全冊教案【完整版】
- 人教版小學(xué)一年級英語課本上冊課件
- DSH中的常見語法考點(diǎn)
- 白酒廠安全檢查表
- 2023年民辦中學(xué)三重一大事項(xiàng)決策規(guī)定
- 公路工程崗位安全操作規(guī)程
- 起重裝卸機(jī)械操作工國家職業(yè)技能標(biāo)準(zhǔn)(2023年版)
評論
0/150
提交評論