医院候诊管理系统C++.docx
- 文档编号:1198996
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:53
- 大小:29.99KB
医院候诊管理系统C++.docx
《医院候诊管理系统C++.docx》由会员分享,可在线阅读,更多相关《医院候诊管理系统C++.docx(53页珍藏版)》请在冰点文库上搜索。
医院候诊管理系统C++
【附录一】源代码
#include"hospital.h"
#defineMax1000000//最多支持的挂号的人数
longrenshu[5]={0,0,0,0,0};//存放各科室人数
longI=0;//数组下标
longL=0;
longGhsr=0;//用于存放挂号的收入!
usingnamespacestd;
structPatient//定义患者结构体
{
charnum[6];//患者编号
chartime[8]=”";//挂号日期,初始化0
intsex=0;//性别1为男,2为女
intage=0;//年龄
charroom='0';//所挂号的科室
charjz[4]="否";//是否是急诊,默认值否
charzp;//专家门诊还是普通门诊
}P[Max],Q[Max];//最多存放1000000个
structAge//年龄段结构体
{
inte=0;//儿童enfant1-14
inty=0;//青年youngpeople15—25
intm=0;//中年wrinkly26—55
into=0;//老年oldfolks55以上
};
structghfl
{
intdrrs=0;//当日号人数
intyyrs=0;//预约人数
intjzrs=0;//急诊人数
}G;
structPaixu//定义各科室就诊人数排序结构体
{
charname[6];//科室名称
intmoney;//本科收入
structAgea;//Age结构体类型的成元
}J[5];//一共5个科室
voidclear()
{
system("cls");//清屏
system(”date/t”);//显示日期
}
//--———---————--分科室函数-——-——-——---—---—-
voidhospital:
:
room(charroom)
{
clear();
switch(room)
{
case'1':
renshu[0]++;
cout<〈'\t’〈<"\n\t请到第5就诊室!
\n\n\t您的前面还有"〈 break; case’2’: renshu[1]++; cout〈<'\t’〈〈"\n\t请到第4就诊室! \n\n\t您的前面还有”< break; case'3’: renshu[2]++; cout〈〈’\t’〈<”\n\t请到第3就诊室! \n\n\t您的前面还有”<〈renshu[2]-1<<”人\n\n\t”; break; case’4’: renshu[3]++; cout〈<’\t'〈〈"\n\t请到第2就诊室! \n\n\t您的前面还有"〈 break; case'5': renshu[4]++; cout<〈’\t'〈<"\n\t请到第1就诊室! \n\n\t您的前面还有”< break; } } //-—--------—-——挂当日号函数--——-——-—--——--—-— inthospital: : gdrh() { chartemp[1000]="";//为了避免输入多个字符时会产生的错误 if(input()==—1) { return1;//如果在input里面选择了返回则返回 } //tj();//调用统计计算前面有几人 room(P[I-1].room);//分科室 G。 drrs++;//挂当日号人数+1 system(”pause”);//暂停 return1; } //-------———————查看挂号人数函数-——-—--—-----—---— inthospital: : ghrs() { chartemp[100]=""; clear(); cout<〈"\n\n\n\t\t\t各类挂号情况一览表\n"; cout〈〈”\t==================================================\n”; cout<<"\n\n\t"<〈”\t挂当日号的人数为———-"<〈G.drrs; cout〈<”\n\n\t”<〈”\t挂预约号的人数为——--”〈〈G。 yyrs; cout〈<”\n\n\t”<<"\t挂急诊号的人数为-—--"〈〈G.jzrs; cout〈〈”\n\n\n\t==================================================\n\t”; system("pause"); return (1); } //—-————--—-—--—挂急诊号函数—-————--————---——— inthospital: : gjzh() { if(—1==input()) { return1;//返回 } clear();//清屏 switch(P[I-1].room) { case'1': renshu[0]++; cout<〈'\t'〈<”\n\t请到第1急诊室! \n\n\t"; break; case’2': renshu[1]++; cout<<’\t'<〈"\n\t请到第2急诊室! \n\n\t"; break; case'3': renshu[2]++; cout<〈'\t’<<”\n\t请到第3急诊室! \n\n\t”; break; case’4': renshu[3]++; cout〈〈’\t’<〈”\n\t请到第4急诊室! \n\n\t"; break; case’5': renshu[4]++; cout〈〈’\t’<〈”\n\t请到第5急诊室! \n\n\t"; break; } G。 jzrs++;//急诊号人数+1 strcpy(P[I—1].jz,”是"); system("pause"); return1; } //—-—--——-—-——--查看挂号收入函数————---——--—--——-— inthospital: : ghsr() { inti=0; chartemp[100]=”"; chartemp1='/’; clear(); cout〈〈”\n\n\n\t\t\t挂号情况一览表\n”; cout〈<”\t==================================================\n”; cout<〈”\t今天的挂号费收入为: ”〈 cout<〈”\n\t==================================================\n"; for(i=0;i<5;i++) cout<<”\n\n\t"<〈J[i]。 name<〈”的收入为: "〈 money; cout<<"\n\t==================================================\n\t"; system("pause"); return (1); } //--—————--——-—-查看年龄比函数—-—————-———-—-—-—- inthospital: : nlb() { longsum[5]; inti; chartemp[100]=”"; clear(); cout<<"\n\n\t\t\t各科室患者年龄层人数\n\n”; cout〈〈"\t\t儿童\t青年\t中年\t老年\t总和\n\n"; cout〈<”\t\t(1-14)\t(15-25)\t(26—55)\t(56以上)(1-100)\n”; cout〈〈”=============================================================\n\n"; for(i=0;i<5;i++)//求出各科室就诊的总人数 sum[i]=J[i]。 a.e+J[i]。 a.y+J[i]。 a.m+J[i].a。 o; for(i=0;i〈5;i++) { cout<<’\t’〈 name<<’\t’〈 e<<"\t”<〈J[i]。 a.y<<"\t”< cout<〈"\n\n"; } cout〈<”=============================================================\n\t”; system(”pause"); return (1); } //---——-——-——-—-查看各科就诊比例----————-——--—-—-— inthospital: : jzrs() { inti=0; chartemp[100]=””; clear(); cout〈〈”\n\n\n\t\t\t各科就诊人数一览表\n”; cout<〈”\t==================================================”; for(i=0;i〈5;i++) cout<〈"\n\n\t”〈 ”〈〈J[i]。 name<<"的就诊人数为: ”〈 cout<<"\n\t==================================================\n\t”; system("pause"); return (1); } //--——-—--——-—--挂号向导函数--————-———--————-- inthospital: : ghxd() { clear();//清屏 chargn,temp[1000]=””;//为了避免输入多个字符时会产生的错误 cout<〈"\n\n\t\t\t====挂号向导====\n\n"; cout<<”\t\t以下仅供参考,如疑问请咨询医护人员! \n\n"; cout〈〈”\t===科室============================包含内容===================\n\n"; cout<〈”\t内科\t\t呼吸,消化,泌尿,心脏,免疫,血液,内分泌,神经,肾,等\n\n”; cout<<”\t外科\t\t感染,心胸,肝胆,外伤,微创,普外,肛肠,整形,等\n\n"; cout〈〈"\t骨科\t\t骨折,骨质增生,风湿,关节,四肢,骨神经,等\n\n”; cout〈〈”\t口腔科\t牙齿,牙龈,颌面,舌,淋巴,口腔溃疡,等\n\n"; cout<<”\t皮肤科\t癣类,疱疹,皮炎,皮肤瘙痒,癍类,痘类,等\n\n"; cout<〈"\t==============================================================\n\t”; system(”pause”); return1; } //-——--——-—--—-—预约挂号功能函数-——------—-——————— int hospital: : yygh() { char str_1[5],str_2[5],str[50],gn; //保存系统时间与预约不同天数及系统时间 int m=1,n=0; if(-1==input()) return 1; struct tm *mytime; time_t LocalTime; LocalTime=time(NULL); mytime=localtime(&LocalTime); strftime(str,sizeof(str),”%c”,mytime); //接收系统当前时间,格式09/04/15 do { clear(); if(m-n==0) { cout 〈< "\n\n\n请挂当天号。 .。 。 。 。 \n\n"; system(”pause"); return 1; } else { char date[8]; int flag=1; while(flag==1) { clear(); memset(str_1,'\0',sizeof(str_1)); memset(str_2,’\0’,sizeof(str_2)); cout 〈〈 ”==================================================\n"; cout〈〈 ”\n\t注意: 预约挂号只能预约七天以内\n\n”< cout〈〈 ”\t请输入日期(格式: 月(00)/日(00)/年(00): ”; cin〉>date; strcpy(P[I].time, date); for(int j=0,r=0; j〈strlen(date); j++) //保存不同天数 { if(str[j]! =date[j]) { if((j==3||j==4)&&(date[j]—’0’)>=0&&(date[j]—'0’)〈=9) { str_1[r]=str[j]; str_2[r]=date[j]; r++; flag=0; } else { flag=1; clear(); cout〈〈"\n\n\n请输入正确的日期格式.。 .。 ..\n\n”; system("pause”); break; } } } } sscanf(str_2,"%d”,&m); //字符串转换为数字 sscanf(str_1,”%d",&n); } } while(m—n>7||m—n<=0); cout〈〈 ”\n\t请"< \n\n\t”; //不同天数相减 G.yyrs++; //预约挂号人数+1 switch(P[I-1].room) { case '1': renshu[0]++; break; case ’2’: renshu[1]++; break; case '3': renshu[2]++; break; case '4’: renshu[3]++; break; case '5': renshu[4]++; break; } Q[L]。 zp=P[I-1]。 zp; Q[L]。 age=P[I-1]。 age; strcpy(Q[L].jz,P[I—1]。 jz); strcpy(Q[L]。 num,P[I—1]。 num); Q[L]。 room=P[I-1].room; Q[L]。 sex=P[I-1].sex; strcpy(Q[L]。 time, P[I-1].time); L++; system("pause"); return 1; } //——--——--—-—-—-统计功能函数———-----—-—-————-— voidhospital: : tj() { longi=0,m; structPaixut; m=I; strcpy(J[0]。 name,”内科");//J结构体数组赋初值 strcpy(J[1]。 name,”外科"); strcpy(J[2]。 name,”骨科"); strcpy(J[3].name,"皮肤科”); strcpy(J[4].name,"口腔科”); for(i=0;i〈5;i++)//各科室各年龄段人数初值为0 { J[i].a.e=0; J[i]。 money=0; J[i].a。 y=0; J[i]。 a.m=0; J[i]。 a。 o=0; } Ghsr=0; for(i=0;i〈m;i++) { if(P[i]。 zp==’Y')Ghsr+=10,J[P[i].room-'1’].money+=10;//统计挂号收入: 专家 elseif(P[i]。 zp==’N')Ghsr+=5,J[P[i].room—'1’].money+=5;//统计挂号收入: 普通 if(P[i]。 age<=14)//统计各科室各年龄段人数 J[P[i]。 room—’1'].a.e++; elseif(P[i].age〈=25) J[P[i].room—'1'].a。 y++; elseif(P[i]。 age〈=55) J[P[i]。 room-'1’]。 a.m++; elseJ[P[i].room—'1'].a.o++; } } //———---—--—----输入功能函数-—-—---——-—-——--—- inthospital: : input() { charroom2='/’,cls1=’0’,zp2,sex2,qr; intage2=0,i=0; charroom1[1000]=""; charzp1[1000]=""; charsex1[1000]=""; charage1[1000]=””; charcls[1000]=”"; chartemp[6]="”; chartemp1[6]="”; while(I〈Max)//重复输入记录 { strcpy(room1,"”); strcpy(zp1,""); strcpy(sex1,"”); strcpy(age1,"”); strcpy(cls,""); strcpy(temp,""); strcpy(temp1,”"); room2='/'; sex2='/'; zp2=’/'; cls1=’0’; age2=0; qr='/’; while((room2〈’1’||room2〉’5’)&&room2! ='r') { clear(); cout〈〈”\n\n\t\t\t\t请选择科室\n\n"; cout〈〈”\n\t=============================================================\n”; cout〈〈"\n\t\t1.内科"; cout〈〈”\t\t2。 外科"; cout〈〈"\t\t3.骨科\n\n”; cout〈〈”\t\t4.皮肤科”; cout<〈"\t5。 口腔科”; cout〈〈”\tr。 返回! "; cout〈<”\n\n\t=============================================================\n"; cout<<”\n\t请选择所要挂科室的编号: "; cin〉>room1;//输入放在临时变量temp中 if(strlen(room1)==1)room2=tolower(room1[0]); } if(room2=='r')return(-1); while(zp2! ='Y’
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 候诊 管理 系统 C+