诊所信息管理系统设计.doc
《诊所信息管理系统设计.doc》由会员分享,可在线阅读,更多相关《诊所信息管理系统设计.doc(32页珍藏版)》请在咨信网上搜索。
#include〈iostream〉 #include〈fstream> //输入输出文件流类 #include〈string〉 using namespace std; class person //人类 { public: person() {} ~person() {} //析构函数,释放资源 protected: string name; char sex; int age; double office_vist_fee; //诊费 }; class doctor:public person //医生类 { private: char speicialty[15]; //专业说明 public: doctor() {} void input() //增加医生信息 { char t; cout〈<"*****主治医生基本信息*****"<〈endl; //fstream outfile() 打开文件aa.txt,并建立链接,aa.txt是一个输出文件,接收从内存输出数据 //ios::out 以输出的方式打开文件 //ios::app 以输出的方式打开文件,写入的数据添加在文件末尾 fstream outfile("D:\\aa。txt”,ios::out|ios::app); if(!outfile) cout<<”打开文件失败!"〈<endl; else { cout〈〈”姓名”; cin〉〉name; outfile<<name<<” "; cout<〈”性别:"; cin〉>sex; if(sex=='m'||sex=='M') outfile<〈"男"<〈” "; else if(sex==’f’||sex==’F') outfile〈<”女”<<” "; else { cout<<"请重新输入性别:”; cin〉>sex; if(sex==’m’||sex=='M’) outfile〈<”男”<〈” ”; else if(sex=='f’||sex==’F') outfile〈<"女”<<" "; } cout〈<”年龄:”; cin>〉age; outfile<<age<<" "; cout<<"诊费:”; cin〉〉office_vist_fee; //向磁盘文件aa。txt输入数据 outfile〈<office_vist_fee<〈" "; cout<<"专业说明:"; cin〉〉speicialty; outfile<〈speicialty〈<endl; outfile。close(); //关闭文件 } cout<<”是否继续添加医生信息 Y/N。。。。。。:"<〈endl; cin〉〉t; if(t==’y’) input(); //返回继续添加 else return ; } void zhangdanKind() //按姓名查询医生信息 { char t; //定义输入输出文件流,以输入的方式打开磁盘文件aa.txt fstream infile2(”D:\\aa.txt",ios::in); //以读方式打开文件 if(!infile2) { cout<<”打开文件失败!"<〈endl; return; } int line=0; string arr[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++; } string na; cout〈〈”请输入要查询的医生姓名:”; cin>〉na; for(int i=0;i〈line;i++) { if(arr[i][0]==na) { cout<〈"医生姓名:”〈〈arr[i][0]〈〈" ”〈〈"性别:"〈〈arr[i][1]〈<” ”<<"年龄:”<〈arr[i][2]〈〈" "<<"诊费:”<<arr[i][3]<<”元"〈<" "〈<”专业:”〈<arr[i][4]<〈endl; return; } } cout〈〈"记录中没有此医生信息!”<<endl; cout〈<”是否继续查询 Y/N。.。.。:"<〈endl; cin〉>t; if(t=='y') zhangdanKind(); else return; } ~doctor() {} }; class HuanZhe:public person //患者类 { private: double drug_fee; //药费 public: HuanZhe() {} void input() //增加患者信息 { char t; cout〈<”*****患者基本信息*****”〈〈endl; fstream outfile(”D:\\ee.txt”,ios::out|ios::app); //以写方式打开文件 if(!outfile) cout〈<"打开文件失败!"〈<endl; else { cout〈<”姓名"; cin〉〉name; outfile〈<name<〈” "; cout<〈"性别:”; cin〉〉sex; if(sex==’m’||sex==’M’) outfile〈〈”男”〈〈" "; else if(sex==’f'||sex=='F') outfile〈〈"女"<<" "; else { cout<〈"请重新输入性别:"; cin>>sex; if(sex==’m'||sex==’M') outfile<<”男”<〈" "; else if(sex==’f'||sex==’F') outfile<<”女”〈〈” "; } cout<<"年龄:”; cin>〉age; outfile〈〈age<<" "; cout<〈”诊费:"; cin〉〉office_vist_fee; outfile<〈office_vist_fee<<" "; cout〈<"药费:"; cin>〉drug_fee; outfile<〈drug_fee〈〈endl; outfile。close(); } cout〈<"是否继续添加患者信息 Y/N.。..。。:"〈<endl; cin>>t; if(t==’y’) input(); else return ; } void zhangdanKind() //按姓名查询患者信息 { char t; fstream infile2(”D:\\ee。txt",ios::in); //以读方式打开文件 if(!infile2) { cout〈〈"打开文件失败!"<<endl; return; } string arr[100][100]; int line=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++; } string na; cout〈<"请输入要查询的患者姓名:"; cin>〉na; for(int i=0;i〈line;i++) { if(arr[i][0]==na) { cout〈〈"患者姓名:"〈〈arr[i][0]〈<” "〈<"性别:”<〈arr[i][1]<〈" "〈〈”年龄:"〈〈arr[i][2]<〈” "<〈"诊费:”<<arr[i][3]<〈"元"〈<” "〈<"药费:"〈〈arr[i][4]<〈"元"<〈endl; return; } } cout〈<"记录中没有此患者信息!”〈〈endl; cout〈<”是否继续查询 Y/N....。:”<<endl; cin〉〉t; if(t==’y’) zhangdanKind(); else return; } ~HuanZhe() {} }; class zhangdan //账单类 { private: string name; double drug_fee; double office_vist_fee; double totl_fee; public: zhangdan() {} void totl_pay() //用于把总费用从“D;\\bb.txt”文件转移到"D:\\cc.txt” { string a; fstream infile1(”D:\\bb。txt”,ios::in); //以读方式打开文件 if(!infile1) { cout<<"打开文件失败!”<〈endl; return; } string arr[100][100]; int line=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(int i=0;i<line;i++) { fstream outfile4("D:\\cc.txt”,ios::out|ios::app); //以写的方式打开文件 if(! outfile4) cout<〈”打开文件失败!"<〈endl; else a=arr[i][4]; outfile4<<a〈〈endl; outfile4。close(); } infile1。close(); } void pay() //实现统计所有患者总费用 { double a; double z=0.0; fstream infile4("D:\\cc。txt”,ios::in); //以读方式打开文件 if(! infile4) { cout〈<”打开文件失败!"<<endl; return; } double s[100]; int line=0; while(!infile4.eof()) //文件不为空的条件设置 { infile4〉〉s[line]; //文件流读取数据 line++; } for(int i=0;i〈line—1;i++) { a=s[i]; z=z+a; } cout〈〈”所有患者的总费用为:"〈〈z<<”元”〈〈endl; infile4。close(); } void addzhangdan() //增加账单信息 { fstream outfile3(”D:\\bb。txt",ios::out|ios::app); //以写方式打开文件 if(!outfile3) cout〈〈”打开文件失败!”<〈endl; else { cout<<"患者姓名:"; cin>>name; outfile3<〈name<<" ”; cout〈〈"主治医生:"; cin〉>name; outfile3〈<name〈〈" ”; cout〈〈"诊费:"; cin〉〉office_vist_fee; outfile3<〈office_vist_fee〈<" "; cout〈〈”药费:”; cin〉〉drug_fee; outfile3〈<drug_fee<〈” ”; cout<〈”总费用:"; cin〉>totl_fee; outfile3〈<totl_fee〈〈endl; outfile3。close(); } char t; cout<〈”是否继续添加账单信息 Y/N...。.:”<〈endl; cin〉〉t; if(t=='y') addzhangdan(); else return; } void zhangdanKind() //按姓名查询账单信息 { char t; fstream infile1(”D:\\bb.txt”,ios::in); //以读方式打开文件 if(!infile1) { cout〈〈"打开文件失败!"<〈endl; return; } string arr[100][100]; //定义一个string类型的二维数组,用来保存从文本内读取信息 int line=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++; } string na; cout<〈”请输入要查询的患者姓名:”; cin〉〉na; for(int i=0;i〈line;i++) { if(arr[i][0]==na) { string xm; xm=arr[i][1]; cout<<"患者姓名:"<<arr[i][0]<<" "〈<”医生姓名:"<〈arr[i][1]〈〈” ”〈<”诊费:"〈〈arr[i][2]〈〈"元”<〈" ”〈〈"药费:”〈<arr[i][3]<〈"元"〈〈" ”<〈”总费用:”〈<arr[i][4]〈〈"元"〈〈endl; fstream infile2(”D:\\aa.txt”,ios::in); //以读方式打开文件 if(!infile2) { cout〈<”打开文件失败!"<〈endl; return; } int l=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(int j=0;j〈1;j++) { if(arr[j][0]==xm) { cout<<"医生姓名:"<〈arr[i][0]<〈" ”<<”性别:”<〈arr[i][1]〈<” ”〈<"年龄:”〈<arr[i][2]<<” ”<〈"诊费:”〈<arr[i][3]〈<"元”〈〈” ”〈<”专业:”〈〈arr[i][4]<〈endl; } } fstream infile3("D:\\ee.txt”,ios::in); //以读方式打开文件 if(!infile3) { cout<<"打开文件失败!"〈〈endl; return; } int lin=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(int z=0;z<lin-1;z++) { if(arr[i][0]==na) { cout〈<”患者姓名:”<〈arr[z][0]〈<” ”<<”性别:"〈〈arr[z][1]〈<” "〈〈"年龄:”〈<arr[z][2]〈〈” "〈<"诊费:”〈<arr[z][3]<<"元”<<” ”〈<”药费:"〈<arr[z][4]〈<"元”〈〈endl; } } return; } } cout<〈”记录中没有此患者的账单信息!"〈<endl; cout〈〈"是否继续查询 Y/N.。。。。.:"〈〈endl; cin>〉t; if(t=='y’) zhangdanKind(); else return; } ~zhangdan() {} }; void add_zhuce() //实现注册用户 { string name,code,code1; fstream outfile5("D:\\dd.txt",ios::out|ios::app); //以写方式打开文件 if(!outfile5) cout〈〈”打开文件失败!”<<endl; else { cout<〈”※*********※请注册用户※*********※"<〈endl; cout<〈"请输入您的用户名:"; cin〉〉name; fstream infile6(”D:\\dd.txt”,ios::in); //以读方式打开文件 if(!infile6) { cout〈〈”打开文件失败!”<〈endl; return; } string a[100][2]; //定义一个string类型的二维数组,用来保存从文本内读取的信息 int line=0; memset(a,0,sizeof(a)); //将数组清空 while(!infile6。eof()) //文件不为空的条件设置 { infile6〉>a[line][0]>>a[line][1]; //文件流读取数据 line++; } for(int i=0;i<line;i++) { if(a[i][0]==name) { cout〈〈”此用户已存在!谢谢使用本系统注册用户界面!欢迎下次使用!"; exit(0); } } outfile5〈<name〈<" ”; cout〈<”请输入您的密码:”; cin〉>code; cout<〈"请再次输入您的密码:”; cin>>code1; if(code!=code1) { cout〈<"您两次输入的密码不一致!谢谢使用本系统注册用户界面!欢迎下次使用!"〈<endl; exit(0); } else outfile5〈<code1〈<endl; } cout<<”谢谢使用本系统注册用户界面!您已注册成功!”<<endl; outfile5。close(); } void welcome() //验证用户登陆,登陆成功显示欢迎信息 { string name,code; int mark=0; fstream infile(”D:\\dd.txt",ios::in); if(!infile) { cerr<〈"打开文件错误”<〈endl; return; } int line=0; string a[100][100]; memset(a,0,sizeof(a)); //将数组清空 while(!infile。eof()) //文件不为空的条件设置 { infile>>a[line][0]>>a[line][1]; //文件流读取数据 line++; } cout<<”\t\t※*********※用户名※*********※:”; cin〉〉name; int m=1; for(int i=0;i〈line;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(int j=0;j<2;j++) { if(a[mark][1]==code) { cout<<"成功登入※*********※”<〈endl; break; } else { cout〈<”密码错误,请重新输入※*********※”<〈endl; cout〈<"\t\t※*********※密码※*********※:"; cin〉〉code; } } } void addinfor() //增加信息界面实现 { int a; doctor d; HuanZhe w; cout〈<endl; cout〈〈endl; cout<<”\t\t ※*********增加信息界面*********※"〈〈endl; 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) { case 1:d。input();break; //医生信息 case 2:w。input();break; //患者信息 case 0:break; default:cout<<”输入数字错误!"〈〈endl; } } void select() //查询信息界面实现 { int b; doctor d; HuanZhe w; cout〈<endl; cout<<endl; cout<〈"\t\t ※*********查询信息界面*********※"〈<endl; 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〉>b; switch(b) { case 1:d.zhangdanKind();break; case 2:w。zhangdanKind();break; case 0:break; default:cout〈〈”输入数字错误!"<〈endl; } } void zhangdanxinxi() //账单信息界面实现 { int c; zhangdan z; cout<〈endl; cout〈〈endl; cout<<”\t\t ※*********账单信息*********※"〈〈endl; 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>〉c; switch(c) { case 1:z。addzhangdan();break; case 2:z.zhangdanKind();break; case 0:break; default:cout<〈”输入数字错误!”〈〈endl; } } void Please() //诊所信息管理系统主界面的实现 { welcome(); //验证用户登陆,登陆成功显示欢迎信息 int chiose; cout<<”\n\n”; while(1) { cout<<"\t\t ※**※**※欢迎使用诊所信息管理系统※**※**※"〈〈endl; cout〈<”\n"; cout〈〈"\t\t※********※*********※*********※*********※\n"; cout〈<”\t\t※ ※\n"; cout<〈”\t\t※ ※\n”; cout<<”\t\t※ 1.查询信息 2.账单信息 ※\n"; cout<〈”\t\t※ 3.增加信息 4.统计总费用 ※\n”; cout〈<"\t\t※ 0。退出系统 ※\n”; cout<〈”\t\t※ ※\n”; cout〈〈”\t\t※ ※\n"; cout<<”\t\t※********※*********※*********※*********※\n”; zhangdan a; cout<<”请输入您选择的数字〈0-4>:"; cin〉>chiose; switch(chiose) { case 1:select();break; case 2:zhangdanxinxi();break; case 3:addinfor();break; case 4:a。totl_pay();a。pay();break; case 0:cout〈〈”\t\t ※※※※※※※欢迎下次使用本系统※※※※※※※”〈〈endl;exit(0); default:cout<〈"输入数字错误!"〈<endl; } } } void main() //主函数 { int w; cout〈<"\t\t※********※*********※*********※*********※\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〈<”\t\t※********※*********※*********※*********※\n"; while(1) { cout〈<”请输入数字<0-2〉:”; cin〉>w; switch(w) { case 1:Please();break; case 2:add_zhuce();break; case 0:exit(0); default:cout〈〈”输入数字错误!”〈<endl; } } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 诊所 信息管理 系统 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文