醫(yī)院候診管理系統(tǒng)C++_第1頁
醫(yī)院候診管理系統(tǒng)C++_第2頁
醫(yī)院候診管理系統(tǒng)C++_第3頁
醫(yī)院候診管理系統(tǒng)C++_第4頁
醫(yī)院候診管理系統(tǒng)C++_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論