




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
醫(yī)院候診管理系統(tǒng)C++醫(yī)院候診管理系統(tǒng)C++醫(yī)院候診管理系統(tǒng)C++資料僅供參考文件編號(hào):2022年4月醫(yī)院候診管理系統(tǒng)C++版本號(hào):A修改號(hào):1頁(yè)次:1.0審核:批準(zhǔn):發(fā)布日期:【附錄一】源代碼【附錄一】源代碼
.cpp#include"hospital.h"#defineMax1000000//最多支持的掛號(hào)的人數(shù)longrenshu[5]={0,0,0,0,0};//存放各科室人數(shù)longI=0;//數(shù)組下標(biāo)longL=0;longGhsr=0;//用于存放掛號(hào)的收入!usingnamespacestd;structPatient//定義患者結(jié)構(gòu)體{charnum[6];//患者編號(hào)chartime[8]="";//掛號(hào)日期,初始化0intsex=0;//性別1為男,2為女intage=0;//年齡charroom='0';//所掛號(hào)的科室charjz[4]="否";//是否是急診,默認(rèn)值否charzp;//專家門診還是普通門診}P[Max],Q[Max];//最多存放1000000個(gè)structAge//年齡段結(jié)構(gòu)體{inte=0;//兒童enfant1-14inty=0;//青年youngpeople15-25intm=0;//中年wrinkly26-55into=0;//老年oldfolks55以上};structghfl{intdrrs=0;//當(dāng)日號(hào)人數(shù)intyyrs=0;//預(yù)約人數(shù)intjzrs=0;//急診人數(shù)}G;structPaixu//定義各科室就診人數(shù)排序結(jié)構(gòu)體{charname[6];//科室名稱intmoney;//本科收入structAgea;//Age結(jié)構(gòu)體類型的成元}J[5];//一共5個(gè)科室voidclear(){system("cls");//清屏system("date/t");//顯示日期}//--------------分科室函數(shù)------------------voidhospital::room(charroom){clear();switch(room){case'1':renshu[0]++;cout<<'\t'<<"\n\t請(qǐng)到第5就診室!\n\n\t您的前面還有"<<renshu[0]-1<<"人\n\n\t";break;case'2':renshu[1]++;cout<<'\t'<<"\n\t請(qǐng)到第4就診室!\n\n\t您的前面還有"<<renshu[1]-1<<"人\n\n\t";break;case'3':renshu[2]++;cout<<'\t'<<"\n\t請(qǐng)到第3就診室!\n\n\t您的前面還有"<<renshu[2]-1<<"人\n\n\t";break;case'4':renshu[3]++;cout<<'\t'<<"\n\t請(qǐng)到第2就診室!\n\n\t您的前面還有"<<renshu[3]-1<<"人\n\n\t";break;case'5':renshu[4]++;cout<<'\t'<<"\n\t請(qǐng)到第1就診室!\n\n\t您的前面還有"<<renshu[4]-1<<"人\n\n\t";break;}}//--------------掛當(dāng)日號(hào)函數(shù)------------------inthospital::gdrh(){chartemp[1000]="";//為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤if(input()==-1){return1;//如果在input里面選擇了返回則返回}//tj();//調(diào)用統(tǒng)計(jì)計(jì)算前面有幾人room(P[I-1].room);//分科室G.drrs++;//掛當(dāng)日號(hào)人數(shù)+1system("pause");//暫停return1;}//--------------查看掛號(hào)人數(shù)函數(shù)------------------inthospital::ghrs(){chartemp[100]="";clear();cout<<"\n\n\n\t\t\t各類掛號(hào)情況一覽表\n";cout<<"\t==================================================\n";cout<<"\n\n\t"<<"\t掛當(dāng)日號(hào)的人數(shù)為----"<<G.drrs;cout<<"\n\n\t"<<"\t掛預(yù)約號(hào)的人數(shù)為----"<<G.yyrs;cout<<"\n\n\t"<<"\t掛急診號(hào)的人數(shù)為----"<<G.jzrs;cout<<"\n\n\n\t==================================================\n\t";system("pause");return(1);}//--------------掛急診號(hào)函數(shù)------------------inthospital::gjzh(){if(-1==input()){return1;//返回}clear();//清屏switch(P[I-1].room){case'1':renshu[0]++;cout<<'\t'<<"\n\t請(qǐng)到第1急診室!\n\n\t";break;case'2':renshu[1]++;cout<<'\t'<<"\n\t請(qǐng)到第2急診室!\n\n\t";break;case'3':renshu[2]++;cout<<'\t'<<"\n\t請(qǐng)到第3急診室!\n\n\t";break;case'4':renshu[3]++;cout<<'\t'<<"\n\t請(qǐng)到第4急診室!\n\n\t";break;case'5':renshu[4]++;cout<<'\t'<<"\n\t請(qǐng)到第5急診室!\n\n\t";break;}G.jzrs++;//急診號(hào)人數(shù)+1strcpy(P[I-1].jz,"是");system("pause");return1;}//--------------查看掛號(hào)收入函數(shù)------------------inthospital::ghsr(){inti=0;chartemp[100]="";chartemp1='/';clear();cout<<"\n\n\n\t\t\t掛號(hào)情況一覽表\n";cout<<"\t==================================================\n";cout<<"\t今天的掛號(hào)費(fèi)收入為:"<<Ghsr<<"元";cout<<"\n\t==================================================\n";for(i=0;i<5;i++)cout<<"\n\n\t"<<J[i].name<<"的收入為:"<<J[i].money;cout<<"\n\t==================================================\n\t";system("pause");return(1);}//--------------查看年齡比函數(shù)------------------inthospital::nlb(){longsum[5];inti;chartemp[100]="";clear();cout<<"\n\n\t\t\t各科室患者年齡層人數(shù)\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++)//求出各科室就診的總?cè)藬?shù)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'<<J[i].name<<'\t'<<J[i].a.e<<"\t"<<J[i].a.y<<"\t"<<J[i].a.m<<"\t"<<J[i].a.o<<"\t"<<sum[i];cout<<"\n\n";}cout<<"=============================================================\n\t";system("pause");return(1);}//--------------查看各科就診比例------------------inthospital::jzrs(){inti=0;chartemp[100]="";clear();cout<<"\n\n\n\t\t\t各科就診人數(shù)一覽表\n";cout<<"\t==================================================";for(i=0;i<5;i++)cout<<"\n\n\t"<<i+1<<"."<<J[i].name<<"的就診人數(shù)為:"<<renshu[i];cout<<"\n\t==================================================\n\t";system("pause");return(1);}//--------------掛號(hào)向?qū)Ш瘮?shù)------------------inthospital::ghxd(){clear();//清屏chargn,temp[1000]="";//為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤cout<<"\n\n\t\t\t====掛號(hào)向?qū)?===\n\n";cout<<"\t\t以下僅供參考,如疑問(wèn)請(qǐng)咨詢醫(yī)護(hù)人員!\n\n";cout<<"\t===科室============================包含內(nèi)容===================\n\n";cout<<"\t內(nèi)科\t\t呼吸,消化,泌尿,心臟,免疫,血液,內(nèi)分泌,神經(jīng),腎,等\n\n";cout<<"\t外科\t\t感染,心胸,肝膽,外傷,微創(chuàng),普外,肛腸,整形,等\n\n";cout<<"\t骨科\t\t骨折,骨質(zhì)增生,風(fēng)濕,關(guān)節(jié),四肢,骨神經(jīng),等\n\n";cout<<"\t口腔科\t牙齒,牙齦,頜面,舌,淋巴,口腔潰瘍,等\n\n";cout<<"\t皮膚科\t癬類,皰疹,皮炎,皮膚瘙癢,癍類,痘類,等\n\n";cout<<"\t==============================================================\n\t";system("pause");return1;}//--------------預(yù)約掛號(hào)功能函數(shù)------------------
int
hospital::yygh()
{
char
str_1[5],str_2[5],str[50],gn;
//保存系統(tǒng)時(shí)間與預(yù)約不同天數(shù)及系統(tǒng)時(shí)間
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);
//接收系統(tǒng)當(dāng)前時(shí)間,格式09/04/15
do
{
clear();
if(m-n==0)
{
cout
<<
"\n\n\n請(qǐng)掛當(dāng)天號(hào)......\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注意:預(yù)約掛號(hào)只能預(yù)約七天以內(nèi)\n\n"<<endl;
cout<<
"\t請(qǐng)輸入日期(格式:月(00)/日(00)/年(00):";
cin>>date;
strcpy(P[I].time,
date);
for(int
j=0,r=0;
j<strlen(date);
j++)
//保存不同天數(shù)
{
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請(qǐng)輸入正確的日期格式......\n\n";
system("pause");
break;
}
}
}
}
sscanf(str_2,"%d",&m);
//字符串轉(zhuǎn)換為數(shù)字
sscanf(str_1,"%d",&n);
}
}
while(m-n>7||m-n<=0);
cout<<
"\n\t請(qǐng)"<<m-n<<"天之后前來(lái)就診,謝謝!\n\n\t";
//不同天數(shù)相減
G.yyrs++;
//預(yù)約掛號(hào)人數(shù)+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;
}//--------------統(tǒng)計(jì)功能函數(shù)------------------voidhospital::tj(){longi=0,m;structPaixut;m=I;strcpy(J[0].name,"內(nèi)科");//J結(jié)構(gòu)體數(shù)組賦初值strcpy(J[1].name,"外科");strcpy(J[2].name,"骨科");strcpy(J[3].name,"皮膚科");strcpy(J[4].name,"口腔科");for(i=0;i<5;i++)//各科室各年齡段人數(shù)初值為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;//統(tǒng)計(jì)掛號(hào)收入:專家elseif(P[i].zp=='N')Ghsr+=5,J[P[i].room-'1'].money+=5;//統(tǒng)計(jì)掛號(hào)收入:普通if(P[i].age<=14)//統(tǒng)計(jì)各科室各年齡段人數(shù)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++;}}//--------------輸入功能函數(shù)------------------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)//重復(fù)輸入記錄{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請(qǐng)選擇科室\n\n";cout<<"\n\t=============================================================\n";cout<<"\n\t\t1.內(nèi)科";cout<<"\t\t2.外科";cout<<"\t\t3.骨科\n\n";cout<<"\t\t4.皮膚科";cout<<"\t5.口腔科";cout<<"\tr.返回!";cout<<"\n\n\t=============================================================\n";cout<<"\n\t請(qǐng)選擇所要掛科室的編號(hào):";cin>>room1;//輸入放在臨時(shí)變量temp中if(strlen(room1)==1)room2=tolower(room1[0]);}if(room2=='r')return(-1);while(zp2!='Y'&&zp2!='N')//選擇專家門診嗎{clear();cout<<"\n\n\n普通門診:5元\n專家門診:10元\n\n\n您是否要掛專家門診(Y/N):";cin>>zp1;if(strlen(zp1)==1)zp2=toupper(zp1[0]);//變成大寫,以避免系統(tǒng)區(qū)分大小寫}while(sex2!='1'&&sex2!='2')//選擇性別1為男,2為女{clear();cout<<"\n\n\n\t性別(1.男2.女):";cin>>sex1;if(strlen(sex1)==1)sex2=sex1[0];}while(age2<=0||age2>150)//輸入的年齡在1--150之間{clear();cout<<"\n\n\n\t年齡:";cin>>age1;if(strlen(age1)<=3)age2=atoi(age1);//將字符型的age1轉(zhuǎn)換成整型賦給age2;}ltoa(I+1,temp,10);//計(jì)算當(dāng)前患者編號(hào)if(strlen(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<<"\n\n\n\t\t\t您的輸入的信息如下,請(qǐng)確認(rèn)是否正確!\n\n\n\n";cout<<"\t編號(hào)\t性別\t年齡\t所掛科室\t專家門診\t掛號(hào)費(fèi)\n\n";cout<<'\t'<<temp1;//編號(hào)if(sex2=='1')cout<<'\t'<<"男";//性別elseif(sex2=='2')cout<<'\t'<<"女";cout<<'\t'<<age2;//年齡switch(room2)//科室{case'1':cout<<'\t'<<"內(nèi)科";break;case'2':cout<<'\t'<<"外科";break;case'3':cout<<'\t'<<"骨科";break;case'4':cout<<'\t'<<"皮膚科";break;case'5':cout<<'\t'<<"口腔科";break;}if(zp2=='Y')//是否為專家門診cout<<"\t\t"<<"是";elsecout<<"\t\t"<<"不是";if(zp2=='Y')//掛號(hào)費(fèi)用cout<<"\t\t"<<"10";elsecout<<"\t\t"<<"5";cout<<"\n\n================================================================================";cout<<"\n\n\t\t1.重新填寫!\t\t2.信息正確!";cout<<"\n\n\n請(qǐng)輸入您要選擇菜單項(xiàng)(1,2):";cin>>cls;if(strlen(cls)==1)cls1=tolower(cls[0]);//變?yōu)樾懽帜竲if(cls1=='2'){P[I].age=age2;P[I].room=room2;strcpy(P[I].num,temp1);P[I].sex=sex2-'0';P[I].zp=zp2;I++;return0;}}//重復(fù)輸入記錄(完)}//--------------掛號(hào)功能菜單函數(shù)------------------inthospital::gh_menu(){intqu[5],i,fh;//qu數(shù)組用于接收返回值i數(shù)值下標(biāo)fh返回的開關(guān)chargn,temp[1000]="";//為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤,例:123,-2等等//調(diào)用統(tǒng)計(jì)功能函數(shù)求出所需要的值do//控制返回操作{for(i=0;i<5;i++)qu[i]=2;//返回時(shí)重新賦初值fh=0;i=0;gn='0';strcpy(temp,"");clear();while(gn!='1'&&gn!='2'&&gn!='3'&&gn!='4'&&gn!='q'&&gn!='r')//只能輸入1、2或者3{clear();cout<<"\n\n\n\t\t\t===請(qǐng)選擇您需要的功能===\n";cout<<"\n\t=============================================================\n";cout<<"\n\t1.掛當(dāng)日號(hào)\t2.預(yù)約掛號(hào)\t3.掛急診號(hào)\t4.掛號(hào)向?qū)n";cout<<"\n\t\t\tr.返回!\tq.退出!\n";cout<<"\n\t=============================================================\n";cout<<"\t請(qǐng)輸編號(hào)(1,2,3,4,r,q):";cin>>temp;//輸入放在臨時(shí)變量temp中if(strlen(temp)==1)gn=tolower(temp[0]);//輸入多個(gè)字符時(shí)跳過(guò)}switch(gn){case'1':qu[0]=gdrh();break;//掛當(dāng)日號(hào)case'2':qu[1]=yygh();break;//預(yù)約掛號(hào)case'3':qu[2]=gjzh();break;//掛急診號(hào)case'4':qu[3]=ghxd();break;//掛號(hào)向?qū)ase'r':return(1);//表示選擇了"返回"case'q':qu[4]=0;//正常退出程序}for(i=0;i<5;i++)if(qu[i]==0)//已經(jīng)選擇了"退出"{system("cls");cout<<"\n\n\n\n\t\t\t您確定要退出本系統(tǒng)嗎(Y/N)";
cin>>temp;if(tolower(temp[0])=='y'){f_write();//寫文件system("cls");cout<<"\n\n\n\t\t\t您已成功退出系統(tǒng)!\n\n\n\n\n\n";exit(0);}else{fh=1;break;}}else//選擇了"返回"if(qu[i]==1){fh=1;break;}}while(fh==1);return(-1);}inthospital::show(){charn,temp[1000]="";//為了避免輸入多個(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!='6'&&n!='7'&&n!='r'){clear();cout<<"\n\t==============================================================\n\n";cout<<"\t1.所有名單\t2.內(nèi)科名單\t3.外科名單\n";cout<<"\t4.骨科名單\t5.皮膚科名單\t6.口腔科名單\n";cout<<"\t7.預(yù)約名單";cout<<"\tr.返回!\n";cout<<"\n\t==============================================================\n\n";cout<<"\t請(qǐng)輸入選擇(1,2,3,4,5,6,7,r):";cin>>temp;if(strlen(temp)==1)n=tolower(temp[0]);//輸入多個(gè)字符時(shí)轉(zhuǎn)化為小寫}if(n=='r'){return1;//返回}clear();cout<<"\n\t==============================================================\n";cout<<"\t患者編號(hào)"<<"\t性別"<<"\t科室"<<"\t急診"<<"\t專家門診\n";switch(n){case'1'://打印所有病人名單{for(inti=0;i<I;i++){if(P[i].room!='0'){cout<<"\t"<<P[i].num<<"\t"<<P[i].sex<<"\t"<<P[i].room<<"\t"<<P[i].jz<<"\t"<<P[i].zp<<endl;}}break;}case'2'://打印內(nèi)科名單{for(inti=0;i<I;i++){if(P[i].room=='1')cout<<"\t"<<P[i].num<<"\t"<<P[i].sex<<"\t"<<P[i].room<<"\t"<<P[i].jz<<"\t"<<P[i].zp<<endl;}break;}case'3'://打印外科名單{for(inti=0;i<I;i++){if(P[i].room=='2')cout<<"\t"<<P[i].num<<"\t"<<P[i].sex<<"\t"<<P[i].room<<"\t"<<P[i].jz<<"\t"<<P[i].zp<<endl;}break;}case'4'://打印骨科名單{for(inti=0;i<I;i++){if(P[i].room=='3')cout<<"\t"<<P[i].num<<"\t"<<P[i].sex<<"\t"<<P[i].room<<"\t"<<P[i].jz<<"\t"<<P[i].zp<<endl;}break;}case'5'://打印皮膚科名單{for(inti=0;i<I;i++){if(P[i].room=='4')cout<<"\t"<<P[i].num<<"\t"<<P[i].sex<<"\t"<<P[i].room<<"\t"<<P[i].jz<<"\t"<<P[i].zp<<endl;}break;}case'6'://打印口腔科名單{for(inti=0;i<I;i++){if(P[i].room=='5')cout<<"\t"<<P[i].num<<"\t"<<P[i].sex<<"\t"<<P[i].room<<"\t"<<P[i].jz<<"\t"<<P[i].zp<<endl;}break;}case'7'://打印口腔科名單{for(inti=0;i<L;i++){if(Q[i].room!='0')cout<<"\t"<<Q[i].num<<"\t"<<Q[i].sex<<"\t"<<Q[i].room<<"\t"<<Q[i].jz<<"\t"<<Q[i].zp<<"\t"<<Q[i].time<<endl;}break;}}cout<<"\n\t==============================================================\n\n";cout<<"\n\t";system("pause");//暫停}}//--------------統(tǒng)計(jì)功能菜單函數(shù)------------------inthospital::tj_menu(){intqu[6],i,fh;//qu數(shù)組用于接收返回值i數(shù)值下標(biāo)fh返回的開關(guān)chargn,temp[1000]="";//為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤,例:123,-2等等tj();//調(diào)用統(tǒng)計(jì)函數(shù)do//控制返回操作{for(i=0;i<5;i++)qu[i]=2;//返回時(shí)重新賦初值fh=0;i=0;gn='0';strcpy(temp,"");clear();while(gn!='1'&&gn!='2'&&gn!='3'&&gn!='4'&&gn!='5'&&gn!='q'&&gn!='r')//只能輸入1、2或者3{clear();cout<<"\n\n\n\t\t\t===請(qǐng)選擇您需要的功能===\n";cout<<"\n\t==============================================================\n\n";cout<<"\t1.查看掛號(hào)情況\t2.各科就診人數(shù)\t3.患者年齡段\t4.掛號(hào)收入情況\n\n\t5.打印病人名單";cout<<"\tr.返回!\tq.退出!\n";cout<<"\n\t==============================================================\n";cout<<"\n\t請(qǐng)輸入編號(hào)(1,2,3,4,5,6,r,q):";cin>>temp;//輸入放在臨時(shí)變量temp中if(strlen(temp)==1)gn=tolower(temp[0]);//輸入多個(gè)字符時(shí)跳過(guò)}switch(gn)//被調(diào)用的各函數(shù)只起輸出作用各函數(shù)都返回1{case'1':qu[0]=ghrs();break;//調(diào)用查看掛號(hào)情況函數(shù)case'2':qu[1]=jzrs();break;//調(diào)用各科就診人數(shù)函數(shù)case'3':qu[2]=nlb();break;//調(diào)用各科就診年齡比函數(shù)case'4':qu[3]=ghsr();break;//調(diào)用查看收入函數(shù)case'5':qu[4]=show();//調(diào)用打印函數(shù)break;case'r':return(1);//表示選擇了"返回"case'q':qu[5]=0;//正常退出程}for(i=0;i<6;i++)if(qu[i]==0)//已經(jīng)選擇了"退出"{system("cls");cout<<"\n\n\n\n\t\t\t您確定要退出本系統(tǒng)嗎(Y/N)";
cin>>temp;if(tolower(temp[0])=='y'){f_write();system("cls");cout<<"\n\n\n\t\t\t您已成功退出系統(tǒng)!\n\n\n\n\n\n";exit(0);}else{fh=1;break;}}else//選擇了"返回"if(qu[i]==1){fh=1;break;}}while(fh==1);return(-1);}//--------------主菜單函數(shù)------------------voidhospital::menu(){f_read();{intqu[3],i,fh;//qu數(shù)組用于接收返回值i數(shù)值下標(biāo)fh返回的開關(guān)chargn,temp[1000]="";//為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤do//控制返回操作{for(i=0;i<3;i++)qu[i]=2;//選擇返回時(shí)重新賦初值fh=0;i=0;gn='0';strcpy(temp,"");clear();//清屏while(gn!='1'&&gn!='2'&&gn!='3'&&gn!='q')//只能輸入1、2或者q{clear();cout<<"\n\n\n\t\t\t===歡迎使用醫(yī)院候診管理系統(tǒng)===\n";cout<<"\n\t=============================================================\n\n";cout<<"\n\t1.掛號(hào)功能\t2.統(tǒng)計(jì)功能\t3.查找與退掛\tq.退出\n";cout<<"\n\n\t=============================================================\n";cout<<"\n\t請(qǐng)輸編號(hào)(1,2,q):";cin>>temp;//輸入放在臨時(shí)變量temp中if(strlen(temp)==1)gn=tolower(temp[0]);//輸入多個(gè)字符時(shí)跳過(guò)}switch(gn){case'1':qu[0]=gh_menu();break;//調(diào)用掛號(hào)功能函數(shù)case'2':qu[1]=tj_menu();break;//調(diào)用統(tǒng)計(jì)功能的界面函數(shù)case'3':qu[2]=cz_menu();//調(diào)用查找函數(shù)break;case'q':qu[3]=0;//正常退出程序}for(i=0;i<4;i++)if(qu[i]==0)//已經(jīng)選擇了"退出"{system("cls");cout<<"\n\n\n\n\t\t\t您確定要退出本系統(tǒng)嗎(Y/N)";
cin>>temp;if(tolower(temp[0])=='y'){f_write();//寫文件system("cls");cout<<"\n\n\n\t\t\t您已成功退出系統(tǒng)!\n\n\n\n\n\n";exit(0);}else{fh=1;break;}}else//選擇了"返回"if(qu[i]==1){fh=1;break;}}while(fh==1);}}//--------------文件寫出函數(shù)------------------voidhospital::f_write(){intNUM=50;tj();FILE*fp1,*fp2,*fp3,*fp4,*fp6;fp2=fopen("全局變量.txt","wb");fp1=fopen("患者名單.txt","wb");//只寫的方式打開fp3=fopen("預(yù)約名單.txt","wb");fp4=fopen("掛號(hào)人數(shù).txt","wb");//fp5=fopen("排序結(jié)構(gòu)體.txt","wb");fp6=fopen("各科人數(shù).txt","wb");fprintf(fp2,"%ld\n%ld\n",I,L);//保存全局變量fwrite(Q,sizeof(structPatient),L,fp3);//保存預(yù)約名單fwrite(&G,sizeof(structghfl),1,fp4);//保存患者信息//fwrite(J,sizeof(structPaixu),5,fp5);//保存患者信息fwrite(renshu,sizeof(renshu[0]),5,fp6);//保存各科人數(shù)fwrite(P,sizeof(structPatient)+2,I,fp1);//保存患者信息//fclose(fp5);fclose(fp4);fclose(fp3);fclose(fp1);fclose(fp2);fclose(fp6);cout<<"\n\n\n\t\t\t"<<"名單保存成功,1秒后自動(dòng)退出\n\n\n";for(inti=0;i<NUM;i++){Sleep(20);cout<<"\t\t\t退出中..."<<i*100.0/NUM<<"%\r";}}//--------------文件讀入函數(shù)------------------voidhospital::f_read(){intNUM=50;FILE*fp1,*fp2,*fp3,*fp4,*fp6;fp2=fopen("全局變量.txt","rb");fp1=fopen("患者名單.txt","rb");//只讀的方式打開fp3=fopen("預(yù)約名單.txt","rb");fp4=fopen("掛號(hào)人數(shù).txt","rb");//fp5=fopen("排序結(jié)構(gòu)體.txt","rb");fp6=fopen("各科人數(shù).txt","rb");fscanf(fp2,"%ld%ld",&I,&L);//讀取全局變量fread(Q,sizeof(structPatient),L,fp3);//讀取預(yù)約名單fread(&G,sizeof(structghfl),1,fp4);//讀取患者信息//fread(J,sizeof(structPaixu),5,fp5);//讀取患者信息fread(renshu,sizeof(renshu[0]),5,fp6);//讀取各科人數(shù)fread(P,sizeof(structPatient)+2,I,fp1);//讀取患者信息//fclose(fp5);fclose(fp4);fclose(fp3);fclose(fp1);fclose(fp2);fclose(fp6);cout<<"\n\n\n\t\t\t"<<"文件讀取成功,1秒后自動(dòng)進(jìn)入系統(tǒng)!\n\n";for(inti=0;i<NUM;i++){Sleep(20);cout<<"\t\t\t載入中..."<<i*100.0/NUM<<"%\r";}}//--------------模糊查找-----------------inthospital::serch(){chargn='0',age1[100]="",temp2[1000]="";//為了避免輸入多個(gè)字符時(shí)會(huì)產(chǎn)生的錯(cuò)誤intage2=0;while(gn!='1'&&gn!='2'&&gn!='3'&&gn!='4'&&gn!='5'){clear();cout<<"\n\n\t\t系統(tǒng)將按照科室和年齡來(lái)查找\n\n\n";cout<<"\t請(qǐng)輸入您所掛科室<1,2,3,4,5>:";cin>>temp2;if(strlen(temp2)==1)gn=tolower(temp2[0]);//輸入多個(gè)字符時(shí)跳過(guò)}while(age2<=0||age2>150)//輸入的年齡在1--150之間{clear();cout<<"\n\n\n請(qǐng)輸入您的年齡:";cin>>age1;if(strlen(age1)<=3)age2=atoi(age1);//將字符型的age1轉(zhuǎn)換成整型賦給age2;}intflag=1;for(intj=0;j<=I;j++){if(gn==P[j].room&&age2==P[j].age){if(flag==1){clear();cout<<"\n\t\t\t系統(tǒng)查找到以下信息:\n";cout<<"\n\t==============================================================\n";cout<<"\t患者編號(hào)"<<"\t性別"<<"\t科室"<<"\t急診"<<"\t專家門診\n";flag=0;}cout<<"\t"<<P[j].num<<"\t"<<P[j].sex<<"\t"<<P[j].room<<"\t"<<P[j].jz<<"\t"<<P[j].zp<<endl;}}charch='0',temp1[10]="";do{
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆黑龍江省哈爾濱市香坊區(qū)七年級(jí)英語(yǔ)第二學(xué)期期中監(jiān)測(cè)模擬試題含答案
- 臨床常用護(hù)理服務(wù)規(guī)范
- 中醫(yī)內(nèi)科中風(fēng)診療與防治
- 2025年臨滄機(jī)動(dòng)車駕駛教練員從業(yè)資格證
- 2025年黃石教練員考試試題及答案
- 2025年達(dá)州教練員從業(yè)資格證模擬考試題
- 2025年來(lái)賓危運(yùn)駕駛員考試題
- 2025年南寧貨運(yùn)從業(yè)資格證模擬試題題庫(kù)及答案解析
- 2025年山西省呂梁汾陽(yáng)市八年級(jí)英語(yǔ)第二學(xué)期期中質(zhì)量檢測(cè)模擬試題含答案
- 安全型護(hù)理用品使用培訓(xùn)
- 國(guó)家開放大學(xué)《思想道德與法治》社會(huì)實(shí)踐報(bào)告范文二
- 電子信息工程專業(yè)應(yīng)用能力測(cè)試卷
- 消防系統(tǒng)維護(hù)保養(yǎng)方案
- 骨科護(hù)理實(shí)習(xí)生小講課
- 2025至2030年中國(guó)金剛石繩鋸行業(yè)市場(chǎng)運(yùn)行格局及前景戰(zhàn)略分析報(bào)告
- 云南省昆明市五華區(qū)2023-2024學(xué)年八年級(jí)下學(xué)期7月期末物理試題(含答案)
- 2025年上海市研發(fā)公共服務(wù)平臺(tái)管理中心招聘題庫(kù)帶答案分析
- 2025年輕人情緒消費(fèi)趨勢(shì)報(bào)告-抖音商城xsocialbeta-202506
- 工程保險(xiǎn)課件
- 2025年新高考1卷(新課標(biāo)Ⅰ卷)語(yǔ)文試卷(含答案)
- 培訓(xùn)中心項(xiàng)目管理制度
評(píng)論
0/150
提交評(píng)論