醫院候診管理系統C++_第1頁
醫院候診管理系統C++_第2頁
醫院候診管理系統C++_第3頁
醫院候診管理系統C++_第4頁
醫院候診管理系統C++_第5頁
已閱讀5頁,還剩123頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

醫院候診管理系統C++醫院候診管理系統C++醫院候診管理系統C++資料僅供參考文件編號:2022年4月醫院候診管理系統C++版本號:A修改號:1頁次:1.0審核:批準:發布日期:【附錄一】源代碼【附錄一】源代碼

.cpp#include"hospital.h"#defineMax1000000//最多支持的掛號的人數longrenshu[5]={0,0,0,0,0};//存放各科室人數longI=0;//數組下標longL=0;longGhsr=0;//用于存放掛號的收入!usingnamespacestd;structPatient//定義患者結構體{charnum[6];//患者編號chartime[8]="";//掛號日期,初始化0intsex=0;//性別1為男,2為女intage=0;//年齡charroom='0';//所掛號的科室charjz[4]="否";//是否是急診,默認值否charzp;//專家門診還是普通門診}P[Max],Q[Max];//最多存放1000000個structAge//年齡段結構體{inte=0;//兒童enfant1-14inty=0;//青年youngpeople15-25intm=0;//中年wrinkly26-55into=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您的前面還有"<<renshu[0]-1<<"人\n\n\t";break;case'2':renshu[1]++;cout<<'\t'<<"\n\t請到第4就診室!\n\n\t您的前面還有"<<renshu[1]-1<<"人\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您的前面還有"<<renshu[3]-1<<"人\n\n\t";break;case'5':renshu[4]++;cout<<'\t'<<"\n\t請到第1就診室!\n\n\t您的前面還有"<<renshu[4]-1<<"人\n\n\t";break;}}//--------------掛當日號函數------------------inthospital::gdrh(){chartemp[1000]="";//為了避免輸入多個字符時會產生的錯誤if(input()==-1){return1;//如果在input里面選擇了返回則返回}//tj();//調用統計計算前面有幾人room(P[I-1].room);//分科室G.drrs++;//掛當日號人數+1system("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++;//急診號人數+1strcpy(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今天的掛號費收入為:"<<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);}//--------------查看年齡比函數------------------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'<<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各科就診人數一覽表\n";cout<<"\t==================================================";for(i=0;i<5;i++)cout<<"\n\n\t"<<i+1<<"."<<J[i].name<<"的就診人數為:"<<renshu[i];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"<<endl;

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請"<<m-n<<"天之后前來就診,謝謝!\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'&&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]);//變成大寫,以避免系統區分大小寫}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轉換成整型賦給age2;}ltoa(I+1,temp,10);//計算當前患者編號if(strlen(temp)<6)for(i=0;i<6-strlen(temp);i++)strcat(temp1,"0");strcat(temp1,temp);//輸出患者信息以確認輸入是否正確while(cls1!='1'&&cls1!='2'&&cls1!='r'){clear();cout<<"\n\n\n\t\t\t您的輸入的信息如下,請確認是否正確!\n\n\n\n";cout<<"\t編號\t性別\t年齡\t所掛科室\t專家門診\t掛號費\n\n";cout<<'\t'<<temp1;//編號if(sex2=='1')cout<<'\t'<<"男";//性別elseif(sex2=='2')cout<<'\t'<<"女";cout<<'\t'<<age2;//年齡switch(room2)//科室{case'1':cout<<'\t'<<"內科";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')//掛號費用cout<<"\t\t"<<"10";elsecout<<"\t\t"<<"5";cout<<"\n\n================================================================================";cout<<"\n\n\t\t1.重新填寫!\t\t2.信息正確!";cout<<"\n\n\n請輸入您要選擇菜單項(1,2):";cin>>cls;if(strlen(cls)==1)cls1=tolower(cls[0]);//變為小寫字母}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;}}//重復輸入記錄(完)}//--------------掛號功能菜單函數------------------inthospital::gh_menu(){intqu[5],i,fh;//qu數組用于接收返回值i數值下標fh返回的開關chargn,temp[1000]="";//為了避免輸入多個字符時會產生的錯誤,例:123,-2等等//調用統計功能函數求出所需要的值do//控制返回操作{for(i=0;i<5;i++)qu[i]=2;//返回時重新賦初值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===請選擇您需要的功能===\n";cout<<"\n\t=============================================================\n";cout<<"\n\t1.掛當日號\t2.預約掛號\t3.掛急診號\t4.掛號向導\n";cout<<"\n\t\t\tr.返回!\tq.退出!\n";cout<<"\n\t=============================================================\n";cout<<"\t請輸編號(1,2,3,4,r,q):";cin>>temp;//輸入放在臨時變量temp中if(strlen(temp)==1)gn=tolower(temp[0]);//輸入多個字符時跳過}switch(gn){case'1':qu[0]=gdrh();break;//掛當日號case'2':qu[1]=yygh();break;//預約掛號case'3':qu[2]=gjzh();break;//掛急診號case'4':qu[3]=ghxd();break;//掛號向導case'r':return(1);//表示選擇了"返回"case'q':qu[4]=0;//正常退出程序}for(i=0;i<5;i++)if(qu[i]==0)//已經選擇了"退出"{system("cls");cout<<"\n\n\n\n\t\t\t您確定要退出本系統嗎(Y/N)";

cin>>temp;if(tolower(temp[0])=='y'){f_write();//寫文件system("cls");cout<<"\n\n\n\t\t\t您已成功退出系統!\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]="";//為了避免輸入多個字符時會產生的錯誤,例:123,-2等等while(TRUE){n='0';//每次循環初始化值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.內科名單\t3.外科名單\n";cout<<"\t4.骨科名單\t5.皮膚科名單\t6.口腔科名單\n";cout<<"\t7.預約名單";cout<<"\tr.返回!\n";cout<<"\n\t==============================================================\n\n";cout<<"\t請輸入選擇(1,2,3,4,5,6,7,r):";cin>>temp;if(strlen(temp)==1)n=tolower(temp[0]);//輸入多個字符時轉化為小寫}if(n=='r'){return1;//返回}clear();cout<<"\n\t==============================================================\n";cout<<"\t患者編號"<<"\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'://打印內科名單{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");//暫停}}//--------------統計功能菜單函數------------------inthospital::tj_menu(){intqu[6],i,fh;//qu數組用于接收返回值i數值下標fh返回的開關chargn,temp[1000]="";//為了避免輸入多個字符時會產生的錯誤,例:123,-2等等tj();//調用統計函數do//控制返回操作{for(i=0;i<5;i++)qu[i]=2;//返回時重新賦初值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===請選擇您需要的功能===\n";cout<<"\n\t==============================================================\n\n";cout<<"\t1.查看掛號情況\t2.各科就診人數\t3.患者年齡段\t4.掛號收入情況\n\n\t5.打印病人名單";cout<<"\tr.返回!\tq.退出!\n";cout<<"\n\t==============================================================\n";cout<<"\n\t請輸入編號(1,2,3,4,5,6,r,q):";cin>>temp;//輸入放在臨時變量temp中if(strlen(temp)==1)gn=tolower(temp[0]);//輸入多個字符時跳過}switch(gn)//被調用的各函數只起輸出作用各函數都返回1{case'1':qu[0]=ghrs();break;//調用查看掛號情況函數case'2':qu[1]=jzrs();break;//調用各科就診人數函數case'3':qu[2]=nlb();break;//調用各科就診年齡比函數case'4':qu[3]=ghsr();break;//調用查看收入函數case'5':qu[4]=show();//調用打印函數break;case'r':return(1);//表示選擇了"返回"case'q':qu[5]=0;//正常退出程}for(i=0;i<6;i++)if(qu[i]==0)//已經選擇了"退出"{system("cls");cout<<"\n\n\n\n\t\t\t您確定要退出本系統嗎(Y/N)";

cin>>temp;if(tolower(temp[0])=='y'){f_write();system("cls");cout<<"\n\n\n\t\t\t您已成功退出系統!\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);}//--------------主菜單函數------------------voidhospital::menu(){f_read();{intqu[3],i,fh;//qu數組用于接收返回值i數值下標fh返回的開關chargn,temp[1000]="";//為了避免輸入多個字符時會產生的錯誤do//控制返回操作{for(i=0;i<3;i++)qu[i]=2;//選擇返回時重新賦初值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===歡迎使用醫院候診管理系統===\n";cout<<"\n\t=============================================================\n\n";cout<<"\n\t1.掛號功能\t2.統計功能\t3.查找與退掛\tq.退出\n";cout<<"\n\n\t=============================================================\n";cout<<"\n\t請輸編號(1,2,q):";cin>>temp;//輸入放在臨時變量temp中if(strlen(temp)==1)gn=tolower(temp[0]);//輸入多個字符時跳過}switch(gn){case'1':qu[0]=gh_menu();break;//調用掛號功能函數case'2':qu[1]=tj_menu();break;//調用統計功能的界面函數case'3':qu[2]=cz_menu();//調用查找函數break;case'q':qu[3]=0;//正常退出程序}for(i=0;i<4;i++)if(qu[i]==0)//已經選擇了"退出"{system("cls");cout<<"\n\n\n\n\t\t\t您確定要退出本系統嗎(Y/N)";

cin>>temp;if(tolower(temp[0])=='y'){f_write();//寫文件system("cls");cout<<"\n\n\n\t\t\t您已成功退出系統!\n\n\n\n\n\n";exit(0);}else{fh=1;break;}}else//選擇了"返回"if(qu[i]==1){fh=1;break;}}while(fh==1);}}//--------------文件寫出函數------------------voidhospital::f_write(){intNUM=50;tj();FILE*fp1,*fp2,*fp3,*fp4,*fp6;fp2=fopen("全局變量.txt","wb");fp1=fopen("患者名單.txt","wb");//只寫的方式打開fp3=fopen("預約名單.txt","wb");fp4=fopen("掛號人數.txt","wb");//fp5=fopen("排序結構體.txt","wb");fp6=fopen("各科人數.txt","wb");fprintf(fp2,"%ld\n%ld\n",I,L);//保存全局變量fwrite(Q,sizeof(structPatient),L,fp3);//保存預約名單fwrite(&G,sizeof(structghfl),1,fp4);//保存患者信息//fwrite(J,sizeof(structPaixu),5,fp5);//保存患者信息fwrite(renshu,sizeof(renshu[0]),5,fp6);//保存各科人數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秒后自動退出\n\n\n";for(inti=0;i<NUM;i++){Sleep(20);cout<<"\t\t\t退出中..."<<i*100.0/NUM<<"%\r";}}//--------------文件讀入函數------------------voidhospital::f_read(){intNUM=50;FILE*fp1,*fp2,*fp3,*fp4,*fp6;fp2=fopen("全局變量.txt","rb");fp1=fopen("患者名單.txt","rb");//只讀的方式打開fp3=fopen("預約名單.txt","rb");fp4=fopen("掛號人數.txt","rb");//fp5=fopen("排序結構體.txt","rb");fp6=fopen("各科人數.txt","rb");fscanf(fp2,"%ld%ld",&I,&L);//讀取全局變量fread(Q,sizeof(structPatient),L,fp3);//讀取預約名單fread(&G,sizeof(structghfl),1,fp4);//讀取患者信息//fread(J,sizeof(structPaixu),5,fp5);//讀取患者信息fread(renshu,sizeof(renshu[0]),5,fp6);//讀取各科人數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秒后自動進入系統!\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]="";//為了避免輸入多個字符時會產生的錯誤intage2=0;while(gn!='1'&&gn!='2'&&gn!='3'&&gn!='4'&&gn!='5'){clear();cout<<"\n\n\t\t系統將按照科室和年齡來查找\n\n\n";cout<<"\t請輸入您所掛科室<1,2,3,4,5>:";cin>>temp2;if(strlen(temp2)==1)gn=tolower(temp2[0]);//輸入多個字符時跳過}while(age2<=0||age2>150)//輸入的年齡在1--150之間{clear();cout<<"\n\n\n請輸入您的年齡:";cin>>age1;if(strlen(age1)<=3)age2=atoi(age1);//將字符型的age1轉換成整型賦給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系統查找到以下信息:\n";cout<<"\n\t==============================================================\n";cout<<"\t患者編號"<<"\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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論