诊所信息管理系统设计.docx

上传人:b****6 文档编号:3835963 上传时间:2022-11-25 格式:DOCX 页数:22 大小:17.93KB
下载 相关 举报
诊所信息管理系统设计.docx_第1页
第1页 / 共22页
诊所信息管理系统设计.docx_第2页
第2页 / 共22页
诊所信息管理系统设计.docx_第3页
第3页 / 共22页
诊所信息管理系统设计.docx_第4页
第4页 / 共22页
诊所信息管理系统设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

诊所信息管理系统设计.docx

《诊所信息管理系统设计.docx》由会员分享,可在线阅读,更多相关《诊所信息管理系统设计.docx(22页珍藏版)》请在冰豆网上搜索。

诊所信息管理系统设计.docx

诊所信息管理系统设计

#include

#include//输入输出文件流类

#include

usingnamespacestd;

classperson//人类

{

public:

person(){}

~person(){}//析构函数,释放资源

protected:

stringname;

charsex;

intage;

doubleoffice_vist_fee;//诊费

};

 

classdoctor:

publicperson//医生类

{

private:

charspeicialty[15];//专业说明

public:

doctor(){}

voidinput()//增加医生信息

{

chart;

cout<<"*****主治医生基本信息*****"<

//fstreamoutfile()打开文件aa.txt,并建立链接,aa.txt是一个输出文件,接收从内存输出数据

//ios:

:

out以输出的方式打开文件

//ios:

:

app以输出的方式打开文件,写入的数据添加在文件末尾

fstreamoutfile("D:

\\aa.txt",ios:

:

out|ios:

:

app);

if(!

outfile)

cout<<"打开文件失败!

"<

else

{

cout<<"姓名";

cin>>name;

outfile<

cout<<"性别:

";

cin>>sex;

if(sex=='m'||sex=='M')

outfile<<"男"<<"";

elseif(sex=='f'||sex=='F')

outfile<<"女"<<"";

else

{

cout<<"请重新输入性别:

";

cin>>sex;

if(sex=='m'||sex=='M')

outfile<<"男"<<"";

elseif(sex=='f'||sex=='F')

outfile<<"女"<<"";

}

cout<<"年龄:

";

cin>>age;

outfile<

cout<<"诊费:

";

cin>>office_vist_fee;//向磁盘文件aa.txt输入数据

outfile<

cout<<"专业说明:

";

cin>>speicialty;

outfile<

outfile.close();//关闭文件

}

cout<<"是否继续添加医生信息Y/N......:

"<

cin>>t;

if(t=='y')

input();//返回继续添加

else

return;

}

voidzhangdanKind()//按姓名查询医生信息

{

chart;

//定义输入输出文件流,以输入的方式打开磁盘文件aa.txt

fstreaminfile2("D:

\\aa.txt",ios:

:

in);//以读方式打开文件

if(!

infile2)

{

cout<<"打开文件失败!

"<

return;

}

intline=0;

stringarr[100][100];//定义一个string类型的二维数组,用来保存文本内读取的信息

//char型初始化函数

memset(arr,0,sizeof(arr));//将数组清空

//eof()函数到文件结尾可以返回true,而之前返回的均为false,while(true)->while(false),循环结束

while(!

infile2.eof())//文件不为空的条件设置

{

infile2>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4];

line++;

}

stringna;

cout<<"请输入要查询的医生姓名:

";

cin>>na;

for(inti=0;i

{

if(arr[i][0]==na)

{

cout<<"医生姓名:

"<

"<

"<

"<

"<

return;

}

}

cout<<"记录中没有此医生信息!

"<

cout<<"是否继续查询Y/N.....:

"<

cin>>t;

if(t=='y')

zhangdanKind();

else

return;

}

~doctor(){}

};

 

classHuanZhe:

publicperson//患者类

{

private:

doubledrug_fee;//药费

public:

HuanZhe(){}

voidinput()//增加患者信息

{

chart;

cout<<"*****患者基本信息*****"<

fstreamoutfile("D:

\\ee.txt",ios:

:

out|ios:

:

app);//以写方式打开文件

if(!

outfile)

cout<<"打开文件失败!

"<

else

{

cout<<"姓名";

cin>>name;

outfile<

cout<<"性别:

";

cin>>sex;

if(sex=='m'||sex=='M')

outfile<<"男"<<"";

elseif(sex=='f'||sex=='F')

outfile<<"女"<<"";

else

{

cout<<"请重新输入性别:

";

cin>>sex;

if(sex=='m'||sex=='M')

outfile<<"男"<<"";

elseif(sex=='f'||sex=='F')

outfile<<"女"<<"";

}

cout<<"年龄:

";

cin>>age;

outfile<

cout<<"诊费:

";

cin>>office_vist_fee;

outfile<

cout<<"药费:

";

cin>>drug_fee;

outfile<

outfile.close();

}

cout<<"是否继续添加患者信息Y/N......:

"<

cin>>t;

if(t=='y')

input();

else

return;

}

voidzhangdanKind()//按姓名查询患者信息

{

chart;

fstreaminfile2("D:

\\ee.txt",ios:

:

in);//以读方式打开文件

if(!

infile2)

{

cout<<"打开文件失败!

"<

return;

}

stringarr[100][100];

intline=0;

memset(arr,0,sizeof(arr));//将数组清空

while(!

infile2.eof())//文件不为空的条件设置

{//文件流读取数据

infile2>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4];//文件流读取数据

line++;

}

stringna;

cout<<"请输入要查询的患者姓名:

";

cin>>na;

for(inti=0;i

{

if(arr[i][0]==na)

{

cout<<"患者姓名:

"<

"<

"<

"<

"<

return;

}

}

cout<<"记录中没有此患者信息!

"<

cout<<"是否继续查询Y/N.....:

"<

cin>>t;

if(t=='y')

zhangdanKind();

else

return;

}

~HuanZhe(){}

};

 

classzhangdan//账单类

{

private:

stringname;

doubledrug_fee;

doubleoffice_vist_fee;

doubletotl_fee;

public:

zhangdan(){}

voidtotl_pay()//用于把总费用从“D;\\bb.txt”文件转移到"D:

\\cc.txt"

{

stringa;

fstreaminfile1("D:

\\bb.txt",ios:

:

in);//以读方式打开文件

if(!

infile1)

{

cout<<"打开文件失败!

"<

return;

}

stringarr[100][100];

intline=0;

memset(arr,0,sizeof(arr));//将数组清空

while(!

infile1.eof())//文件不为空的条件设置

{

infile1>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4];//文件流读取数据

line++;

}

for(inti=0;i

{

fstreamoutfile4("D:

\\cc.txt",ios:

:

out|ios:

:

app);//以写的方式打开文件

if(!

outfile4)

cout<<"打开文件失败!

"<

else

a=arr[i][4];

outfile4<

outfile4.close();

}

infile1.close();

}

 

voidpay()//实现统计所有患者总费用

{

doublea;

doublez=0.0;

fstreaminfile4("D:

\\cc.txt",ios:

:

in);//以读方式打开文件

if(!

infile4)

{

cout<<"打开文件失败!

"<

return;

}

doubles[100];

intline=0;

while(!

infile4.eof())//文件不为空的条件设置

{

infile4>>s[line];//文件流读取数据

line++;

}

for(inti=0;i

{

a=s[i];

z=z+a;

}

cout<<"所有患者的总费用为:

"<

infile4.close();

}

 

voidaddzhangdan()//增加账单信息

{

fstreamoutfile3("D:

\\bb.txt",ios:

:

out|ios:

:

app);//以写方式打开文件

if(!

outfile3)

cout<<"打开文件失败!

"<

else

{

cout<<"患者姓名:

";

cin>>name;

outfile3<

cout<<"主治医生:

";

cin>>name;

outfile3<

cout<<"诊费:

";

cin>>office_vist_fee;

outfile3<

cout<<"药费:

";

cin>>drug_fee;

outfile3<

cout<<"总费用:

";

cin>>totl_fee;

outfile3<

outfile3.close();

}

chart;

cout<<"是否继续添加账单信息Y/N.....:

"<

cin>>t;

if(t=='y')

addzhangdan();

else

return;

}

 

voidzhangdanKind()//按姓名查询账单信息

{

chart;

fstreaminfile1("D:

\\bb.txt",ios:

:

in);//以读方式打开文件

if(!

infile1)

{

cout<<"打开文件失败!

"<

return;

}

stringarr[100][100];//定义一个string类型的二维数组,用来保存从文本内读取信息

intline=0;

memset(arr,0,sizeof(arr));//将数组清空

while(!

infile1.eof())//文件不为空的条件设置

{

infile1>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[line][4];//文件流读取数据

line++;

}

stringna;

cout<<"请输入要查询的患者姓名:

";

cin>>na;

for(inti=0;i

{

if(arr[i][0]==na)

{

stringxm;

xm=arr[i][1];

cout<<"患者姓名:

"<

"<

"<

"<

"<

fstreaminfile2("D:

\\aa.txt",ios:

:

in);//以读方式打开文件

if(!

infile2)

{

cout<<"打开文件失败!

"<

return;

}

intl=0;

memset(arr,0,sizeof(arr));//将数组清空

while(!

infile2.eof())//文件不为空的条件设置

{

infile2>>arr[l][0]>>arr[l][1]>>arr[l][2]>>arr[l][3]>>arr[l][4];//文件流读取数据

l++;

}

for(intj=0;j<1;j++)

{

if(arr[j][0]==xm)

{

cout<<"医生姓名:

"<

"<

"<

"<

"<

}

}

fstreaminfile3("D:

\\ee.txt",ios:

:

in);//以读方式打开文件

if(!

infile3)

{

cout<<"打开文件失败!

"<

return;

}

intlin=0;

memset(arr,0,sizeof(arr));//将数组清空

while(!

infile3.eof())//文件不为空的条件设置

{

infile3>>arr[lin][0]>>arr[lin][1]>>arr[lin][2]>>arr[lin][3]>>arr[lin][4];//文件流读取数据

lin++;

}

for(intz=0;z

{

if(arr[i][0]==na)

{

cout<<"患者姓名:

"<

"<

"<

"<

"<

}

}

return;

}

}

cout<<"记录中没有此患者的账单信息!

"<

cout<<"是否继续查询Y/N......:

"<

cin>>t;

if(t=='y')

zhangdanKind();

else

return;

}

~zhangdan(){}

};

voidadd_zhuce()//实现注册用户

{

stringname,code,code1;

fstreamoutfile5("D:

\\dd.txt",ios:

:

out|ios:

:

app);//以写方式打开文件

if(!

outfile5)

cout<<"打开文件失败!

"<

else

{

cout<<"※*********※请注册用户※*********※"<

cout<<"请输入您的用户名:

";

cin>>name;

fstreaminfile6("D:

\\dd.txt",ios:

:

in);//以读方式打开文件

if(!

infile6)

{

cout<<"打开文件失败!

"<

return;

}

stringa[100][2];//定义一个string类型的二维数组,用来保存从文本内读取的信息

intline=0;

memset(a,0,sizeof(a));//将数组清空

while(!

infile6.eof())//文件不为空的条件设置

{

infile6>>a[line][0]>>a[line][1];//文件流读取数据

line++;

}

for(inti=0;i

{

if(a[i][0]==name)

{

cout<<"此用户已存在!

谢谢使用本系统注册用户界面!

欢迎下次使用!

";

exit(0);

}

}

outfile5<

cout<<"请输入您的密码:

";

cin>>code;

cout<<"请再次输入您的密码:

";

cin>>code1;

if(code!

=code1)

{

cout<<"您两次输入的密码不一致!

谢谢使用本系统注册用户界面!

欢迎下次使用!

"<

exit(0);

}

else

outfile5<

}

cout<<"谢谢使用本系统注册用户界面!

您已注册成功!

"<

outfile5.close();

}

 

voidwelcome()//验证用户登陆,登陆成功显示欢迎信息

{

stringname,code;

intmark=0;

fstreaminfile("D:

\\dd.txt",ios:

:

in);

if(!

infile)

{

cerr<<"打开文件错误"<

return;

}

intline=0;

stringa[100][100];

memset(a,0,sizeof(a));//将数组清空

while(!

infile.eof())//文件不为空的条件设置

{

infile>>a[line][0]>>a[line][1];//文件流读取数据

line++;

}

cout<<"\t\t※*********※用户名※*********※:

";

cin>>name;

intm=1;

for(inti=0;i

{

if(a[i][0]==name)

{

m=i;

mark=i;

break;

}

}

if(m==0)

{

cout<<"\t\t※*********※该用户不存在,请注册用户※*********※:

";

add_zhuce();

}

cout<<"\t\t※*********※密码※*********※:

";

cin>>code;

for(intj=0;j<2;j++)

{

if(a[mark][1]==code)

{

cout<<"成功登入※*********※"<

break;

}

else

{

cout<<"密码错误,请重新输入※*********※"<

cout<<"\t\t※*********※密码※*********※:

";

cin>>code;

}

}

}

voidaddinfor()//增加信息界面实现

{

inta;

doctord;

HuanZhew;

cout<

cout<

cout<<"\t\t※*********增加信息界面*********※"<

cout<<"\n";

cout<<"\t\t※********※********※**********※\n";

cout<<"\t\t※※\n";

cout<<"\t\t※1.增加医生信息※\n";

cout<<"\t\t※2.增加患者信息※\n";

cout<<"\t\t※0.退出※\n";

cout<<"\t\t※※\n";

cout<<"\t\t※********※********※**********※\n";

cout<<"请输入您选择的数字<0-2>:

";

cin>>a;

switch(a)

{

case1:

d.input();break;//医生信息

case2:

w.input();break;//患者信息

case0:

break;

defaul

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

当前位置:首页 > 高中教育 > 语文

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

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