版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上【附錄一】源代碼 HOSPITAL.CPP#include"hospital.h"#define Max /最多支持的掛號(hào)的人數(shù)long renshu5= 0,0,0,0,0; /存放各科室人數(shù)long I=0; /數(shù)組下標(biāo)long L=0;long Ghsr=0; /用于存放掛號(hào)的收入!using namespace std;struct Patient /定義患者結(jié)構(gòu)體 char num6; /患者編號(hào) char time8 = "" /掛號(hào)日期,初始化0 int sex = 0; /性別 1為男,2為女 int age =
2、 0; /年齡 char room = '0' /所掛號(hào)的科室 char jz4 = "否" /是否是急診,默認(rèn)值否 char zp; /專家門診還是普通門診 PMax,QMax; /最多存放個(gè)struct Age /年齡段結(jié)構(gòu)體 int e = 0; /兒童 enfant 1-14 int y = 0; /青年 young people 15-25 int m = 0; /中年 wrinkly 26-55 int o = 0; /老年 old folks 55以上;struct ghfl int drrs = 0; /當(dāng)日號(hào)人數(shù) int yyrs = 0;
3、 /預(yù)約人數(shù) int jzrs = 0; /急診人數(shù) G;struct Paixu /定義各科室就診人數(shù)排序結(jié)構(gòu)體 char name6; /科室名稱 int money; /本科收入 struct Age a ; /Age 結(jié)構(gòu)體類型的成元 J5; /一共5個(gè)科室void clear() system("cls"); /清屏 system("date/t"); /顯示日期/-分科室函數(shù)-void hospital:room(char room) clear(); switch(room) case '1': renshu0+; cout
4、<<'t'<<"nt請(qǐng)到第5就診室!nnt您的前面還有 " << renshu0-1 << " 人nnt" break; case '2': renshu1+; cout<<'t'<<"nt請(qǐng)到第4就診室!nnt您的前面還有 " << renshu1-1<< " 人nnt" break; case '3': renshu2+; cout<<
5、9;t'<<"nt請(qǐng)到第3就診室!nnt您的前面還有 " << renshu2-1<< " 人nnt" break; case '4': renshu3+; cout<<'t'<<"nt請(qǐng)到第2就診室!nnt您的前面還有 " << renshu3-1<< " 人nnt" break; case '5': renshu4+; cout<<'t'<
6、<"nt請(qǐng)到第1就診室!nnt您的前面還有 " << renshu4-1<< " 人nnt" break; /-掛當(dāng)日號(hào)函數(shù)-int hospital:gdrh() char temp1000 = "" /為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤 if(input() = -1) return 1; /如果在input里面選擇了返回則返回 /tj(); /調(diào)用統(tǒng)計(jì)計(jì)算前面有幾人 room(PI-1.room); /分科室 G.drrs+; /掛當(dāng)日號(hào)人數(shù)+1 system("pause");
7、 /暫停 return 1;/-查看掛號(hào)人數(shù)函數(shù)-int hospital:ghrs() char temp100="" clear(); cout<<"nnnttt各類掛號(hào)情況一覽表n" cout << "t=n" cout << "nnt" << "t掛當(dāng)日號(hào)的人數(shù)為-" << G.drrs; cout << "nnt" << "t掛預(yù)約號(hào)的人數(shù)為-" <<
8、 G.yyrs; cout << "nnt" << "t掛急診號(hào)的人數(shù)為-" << G.jzrs; cout << "nnnt=nt" system("pause"); return(1);/-掛急診號(hào)函數(shù)-int hospital:gjzh() if(-1 = input() return 1; /返回 clear(); /清屏 switch(PI-1.room) case '1': renshu0+; cout<<'t'
9、<<"nt請(qǐng)到第1急診室!nnt" break; case '2': renshu1+; cout<<'t'<<"nt請(qǐng)到第2急診室!nnt" break; case '3': renshu2+; cout<<'t'<<"nt請(qǐng)到第3急診室!nnt" break; case '4': renshu3+; cout<<'t'<<"nt請(qǐng)到第4急診室!
10、nnt" break; case '5': renshu4+; cout<<'t'<<"nt請(qǐng)到第5急診室!nnt" break; G.jzrs+; /急診號(hào)人數(shù)+1 strcpy( PI-1.jz,"是"); system("pause"); return 1;/-查看掛號(hào)收入函數(shù)-int hospital:ghsr() int i=0; char temp100="" char temp1='/' clear(); cout<
11、;<"nnnttt掛號(hào)情況一覽表n" cout << "t=n" cout<<"t今天的掛號(hào)費(fèi)收入為: "<<Ghsr<<" 元" cout << "nt=n" for(i=0; i<5; i+) cout<<"nnt"<<J<<"的收入為: "<<Ji.money ; cout << "nt=nt&qu
12、ot; system("pause"); return(1);/-查看年齡比函數(shù)-int hospital:nlb() long sum5; int i; char temp100="" clear(); cout<<"nnttt 各科室患者年齡層人數(shù)nn" cout<<"tt兒 童t 青 年t 中 年t 老 年t 總 和nn" cout<<"tt(1-14)t(15-25)t(26-55)t(56以上)(1-100)n" cout<<"
13、 =nn" for(i=0; i<5; i+) /求出各科室就診的總?cè)藬?shù) sumi=Ji.a.e+Ji.a.y+Ji.a.m+Ji.a.o ; for(i=0; i<5; i+) cout <<'t'<<J<<'t'<<Ji.a.e<<"t "<<Ji.a.y<<"t "<<Ji.a.m<<"t "<<Ji.a.o<<"t &qu
14、ot;<<sumi; cout<<"nn" cout<<" =nt" system("pause"); return(1);/-查看各科就診比例-int hospital:jzrs() int i=0; char temp100="" clear(); cout<<"nnnttt各科就診人數(shù)一覽表n" cout << "t=" for(i=0; i<5; i+) cout<<"nnt&qu
15、ot;<<i+1<<". "<<J<<"的就診人數(shù)為: "<<renshui ; cout << "nt=nt" system("pause"); return(1);/-掛號(hào)向?qū)Ш瘮?shù)-int hospital:ghxd() clear(); /清屏 char gn, temp1000="" /為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤 cout << "nnttt=掛號(hào)向?qū)?nn" co
16、ut << "tt以下僅供參考,如疑問請(qǐng)咨詢醫(yī)護(hù)人員!nn" cout << "t=科室=包含內(nèi)容=nn" ; cout << "t 內(nèi)科tt呼吸,消化,泌尿,心臟,免疫,血液,內(nèi)分泌,神經(jīng),腎,等nn" cout << "t 外科tt感染,心胸,肝膽,外傷,微創(chuàng),普外,肛腸,整形,等nn" cout << "t 骨科tt骨折,骨質(zhì)增生,風(fēng)濕,關(guān)節(jié),四肢,骨神經(jīng),等nn" cout << "t 口腔科t牙齒,牙齦,
17、頜面,舌,淋巴,口腔潰瘍,等nn" cout << "t 皮膚科t癬類,皰疹,皮炎,皮膚瘙癢,癍類,痘類,等nn" cout << "t=nt" system("pause"); return 1;/-預(yù)約掛號(hào)功能函數(shù)-int hospital:yygh() char str_15,str_25,str50,gn;
18、160; /保存系統(tǒng)時(shí)間與預(yù)約不同天數(shù)及系統(tǒng)時(shí)間 int m=1,n=0; if(-1=input() return 1; struct tm *mytime; time_t&
19、#160;LocalTime; LocalTime=time(NULL); mytime=localtime(&LocalTime); strftime(str,sizeof(str),"%c",mytime); /接收系統(tǒng)當(dāng)前時(shí)間,格式09/04/15 d
20、o clear(); if(m-n=0) cout << "nnn請(qǐng)掛當(dāng)天號(hào).nn&
21、quot; system("pause"); return 1; else
22、; char date8; int flag=1; while(flag=1)
23、160; clear();
24、 memset(str_1,'0',sizeof(str_1); memset(str_2,'0',sizeof(str_2);
25、 cout << "=n" cout<< "nt注意:預(yù)約掛號(hào)只能預(yù)約七天以內(nèi)nn"<<endl;
26、160; cout<< "t請(qǐng)輸入日期(格式:月(00)/日(00)/年(00):" cin>>date;
27、 strcpy(PI.time, date); for(int j=0,r=0; j<strlen(date); j+)
28、60; /保存不同天數(shù)
29、160; if(strj!=datej)
30、; if(j=3|j=4)&&(datej-'0')>=0&&(datej-'0')<=9) &
31、#160; str_1r=strj; &
32、#160; str_2r=datej; r+;
33、60; flag=0;
34、160; else
35、0; flag=1;
36、60; clear(); &
37、#160; cout<<"nnn請(qǐng)輸入正確的日期格式.nn"
38、60; system("pause"); break; &
39、#160; &
40、#160; sscanf(str_2,"%d",&m); &
41、#160; /字符串轉(zhuǎn)換為數(shù)字 sscanf(str_1,"%d",&n);
42、0; while(m-n>7|m-n<=0); cout<< "nt請(qǐng)"<<m-n<<"天之后前來就診,謝謝!nnt"
43、160; /不同天數(shù)相減 G.yyrs+; /預(yù)約掛號(hào)人數(shù)+1 switch(PI-1.room)
44、60; case '1': renshu0+; break;
45、160; case '2': renshu1+; &
46、#160; break; case '3': renshu2+;
47、 break; case '4':
48、160;renshu3+; break; case '5': &
49、#160; renshu4+; break; QL.zp=PI-1.zp;
50、160; QL.age=PI-1.age; strcpy(QL.jz,PI-1.jz); strcpy(QL.num,PI-1.num); QL.room=PI-1.room;
51、 QL.sex=PI-1.sex; strcpy(QL.time, PI-1.time); L+; system("pause"); return 1
52、; /-統(tǒng)計(jì)功能函數(shù)-void hospital:tj() long i=0,m; struct Paixu t; m=I; strcpy(J0.name,"內(nèi)科"); /J結(jié)構(gòu)體數(shù)組賦初值 strcpy(J1.name,"外科"); strcpy(J2.name,"骨科"); strcpy(J3.name,"皮膚科"); strcpy(J4.name,"口腔科"); for(i=0; i<5; i+) /各科室各年齡段人數(shù)初值為0 Ji.a.e=0; Ji.money = 0; Ji.a
53、.y=0; Ji.a.m=0; Ji.a.o=0; Ghsr = 0; for(i=0; i<m; i+) if(Pi.zp='Y')Ghsr+=10,JPi.room-'1'.money+=10; /統(tǒng)計(jì)掛號(hào)收入:專家 else if(Pi.zp = 'N') Ghsr+=5,JPi.room-'1'.money+=5; /統(tǒng)計(jì)掛號(hào)收入:普通 if (Pi.age<=14) /統(tǒng)計(jì)各科室各年齡段人數(shù) JPi.room-'1'.a.e+; else if (Pi.age <=25) JPi.roo
54、m-'1'.a.y+; else if(Pi.age <=55) JPi.room-'1'.a.m+; else JPi.room-'1'.a.o+; /-輸入功能函數(shù)-int hospital:input() char room2='/',cls1='0',zp2,sex2,qr; int age2=0,i=0; char room11000="" char zp11000="" char sex11000="" char age11000=&qu
55、ot;" char cls1000="" char temp6="" char temp16="" while(I<Max) /重復(fù)輸入記錄 strcpy(room1,""); strcpy(zp1,""); strcpy(sex1,""); strcpy(age1,""); strcpy(cls,""); strcpy(temp,""); strcpy(temp1,""); ro
56、om2='/' sex2='/' zp2='/' cls1='0' age2=0; qr='/' while(room2<'1' | room2 > '5') && room2!='r' ) clear(); cout<<"nntttt請(qǐng)選擇科室nn" cout << "nt=n" cout<<"ntt1.內(nèi)科" cout<<&quo
57、t;tt2.外科" cout<<"tt3.骨科nn" cout<<"tt4.皮膚科" cout<<"t5.口腔科" cout<<"tr.返回!" cout << "nnt=n" cout<< "nt請(qǐng)選擇所要掛科室的編號(hào):" cin>>room1; /輸入放在臨時(shí)變量temp中 if (strlen(room1)=1) room2=tolower(room10); if (room2
58、='r') return(-1); while(zp2!='Y'&&zp2!='N') /選擇專家門診嗎 clear(); cout<<"nnn普通門診: 5元 n專家門診: 10元nnn您是否要掛專家門診(Y/N):" cin>>zp1; if (strlen(zp1)=1) zp2=toupper(zp10); /變成大寫,以避免系統(tǒng)區(qū)分大小寫 while(sex2!='1'&&sex2!='2') /選擇性別1為男,2為女 clear
59、(); cout<<"nnnt性 別 (1.男 2.女):" cin>>sex1; if (strlen(sex1)=1) sex2=sex10; while(age2<=0|age2>150) /輸入的年齡在1-150之間 clear(); cout<<"nnnt年 齡:" cin>>age1; if (strlen(age1)<=3) age2=atoi(age1); /將字符型的age1轉(zhuǎn)換成整型賦給age2; ltoa(I+1,temp,10); /計(jì)算當(dāng)前患者編號(hào) if(strl
60、en(temp)<6) for(i=0; i<6-strlen(temp); i+) strcat(temp1,"0"); strcat(temp1,temp); / 輸出患者信息以確認(rèn)輸入是否正確 while(cls1!='1'&&cls1!='2'&&cls1!='r') clear(); cout<<"nnnttt您的輸入的信息如下,請(qǐng)確認(rèn)是否正確!nnnn" cout<<"t編 號(hào)t 性 別t年 齡t所掛科室t專家門診t掛
61、號(hào)費(fèi)nn" cout<<'t'<<temp1; /編號(hào) if (sex2='1') cout<<'t'<<" 男" /性別 else if(sex2 ='2') cout<<'t'<<" 女" cout<<'t'<<age2; /年齡 switch(room2) /科室 case '1': cout<<'t'&l
62、t;<"內(nèi) 科" break; case '2': cout<<'t'<<"外 科" break; case '3': cout<<'t'<<"骨 科" break; case '4': cout<<'t'<<"皮膚科" break; case '5': cout<<'t'<<"
63、口腔科" break; if (zp2='Y') /是否為專家門診 cout<<"tt"<<" 是" else cout<<"tt"<<"不 是" if (zp2='Y') /掛號(hào)費(fèi)用 cout<<"tt"<<"10" else cout<<"tt"<<"5" cout<<"nn
64、=" cout<<"nntt1.重新填寫!tt2.信息正確!" cout<<"nnn請(qǐng)輸入您要選擇菜單項(xiàng)(1,2):" cin>>cls; if (strlen(cls)=1) cls1=tolower(cls0); /變?yōu)樾懽帜?if (cls1='2') PI.age =age2; PI.room=room2; strcpy(PI.num,temp1); PI.sex=sex2-'0' PI.zp=zp2; I+; return 0; /重復(fù)輸入記錄(完)/-掛號(hào)功能菜單
65、函數(shù)-int hospital:gh_menu() int qu5,i,fh; /qu數(shù)組用于接收返回值 i數(shù)值下標(biāo) fh返回的開關(guān) char gn, temp1000="" /為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤,例:123,-2等等 /調(diào)用統(tǒng)計(jì)功能函數(shù)求出所需要的值 do /控制返回操作 for(i=0; i<5; i+) qui=2; /返回時(shí)重新賦初值 fh=0; i=0; gn='0' strcpy(temp,""); clear(); while(gn!='1'&&gn!='2
66、9;&&gn!='3'&&gn!='4'&&gn!='q'&&gn!='r') /只能輸入1、2或者3 clear(); cout<<"nnnttt=請(qǐng)選擇您需要的功能=n" cout << "nt=n" cout<<"nt1.掛當(dāng)日號(hào)t2.預(yù)約掛號(hào)t3.掛急診號(hào)t4.掛號(hào)向?qū)" cout <<"ntttr.返 回!tq.退 出!n" co
67、ut << "nt=n" cout<<"t請(qǐng)輸編號(hào)(1,2,3,4,r,q):" cin>>temp; /輸入放在臨時(shí)變量temp中 if (strlen(temp)=1) gn=tolower(temp0);/輸入多個(gè)字符時(shí)跳過 switch(gn) case '1': qu0=gdrh(); break; /掛當(dāng)日號(hào) case '2': qu1=yygh(); break; /預(yù)約掛號(hào) case '3': qu2=gjzh(); break; /掛急診號(hào) case &
68、#39;4': qu3=ghxd(); break; /掛號(hào)向?qū)?case 'r': return(1); /表示選擇了"返回" case 'q': qu4=0; /正常退出程序 for(i=0; i<5; i+) if (qui=0) /已經(jīng)選擇了"退出" system("cls"); cout<<"nnnnttt您確定要退出本系統(tǒng)嗎?(Y/N)" cin>>temp; if (tolower(temp0)='y') f_wri
69、te(); /寫文件 system("cls"); cout<<"nnnttt您已成功退出系統(tǒng)!nnnnnn" exit(0); else fh=1; break; else /選擇了"返回" if (qui=1) fh=1; break; while(fh=1); return(-1);int hospital:show() char n, temp1000="" /為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤,例:123,-2等等 while(TRUE) n = '0' /每次循環(huán)初始化值 while(n!='1'&&n!='2'&&n!='3'&&n!='4'&&n!='5'&&n!='
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《會(huì)計(jì)從業(yè)總賬管理》課件
- 《廣場(chǎng)規(guī)劃設(shè)計(jì)》課件
- 寒假自習(xí)課 25春初中道德與法治八年級(jí)下冊(cè)教學(xué)課件 第三單元 第六課 第4課時(shí) 國家監(jiān)察機(jī)關(guān)
- 短信營銷合同三篇
- 農(nóng)學(xué)啟示錄模板
- 理發(fā)店前臺(tái)接待總結(jié)
- 兒科護(hù)士的工作心得
- 探索化學(xué)反應(yīng)奧秘
- 收銀員的勞動(dòng)合同三篇
- 營銷策略總結(jié)
- DB21-T 2931-2018羊肚菌日光溫室栽培技術(shù)規(guī)程
- 貴州省黔東南州2023-2024學(xué)年九年級(jí)上學(xué)期期末文化水平測(cè)試化學(xué)試卷
- 《空調(diào)零部件介紹》課件
- 2024年度醫(yī)院內(nèi)分泌與代謝科述職報(bào)告課件
- 手術(shù)室無菌操作流程
- 農(nóng)業(yè)機(jī)械控制系統(tǒng)硬件在環(huán)測(cè)試規(guī)范
- 翁潭電站大王山輸水隧洞施工控制網(wǎng)設(shè)計(jì)說明書
- 隆胸術(shù)培訓(xùn)課件
- 鋼筋焊接培訓(xùn)課件
- 行政內(nèi)勤培訓(xùn)課件
- 化纖企業(yè)(化學(xué)纖維紡織企業(yè))安全生產(chǎn)操作規(guī)程
評(píng)論
0/150
提交評(píng)論