医院候诊管理系统C++.docx

上传人:b****3 文档编号:12889382 上传时间:2023-04-22 格式:DOCX 页数:53 大小:29.99KB
下载 相关 举报
医院候诊管理系统C++.docx_第1页
第1页 / 共53页
医院候诊管理系统C++.docx_第2页
第2页 / 共53页
医院候诊管理系统C++.docx_第3页
第3页 / 共53页
医院候诊管理系统C++.docx_第4页
第4页 / 共53页
医院候诊管理系统C++.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

医院候诊管理系统C++.docx

《医院候诊管理系统C++.docx》由会员分享,可在线阅读,更多相关《医院候诊管理系统C++.docx(53页珍藏版)》请在冰豆网上搜索。

医院候诊管理系统C++.docx

医院候诊管理系统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’

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1