最新C++“诊所信息管理系统设计”课设报告.doc





《最新C++“诊所信息管理系统设计”课设报告.doc》由会员分享,可在线阅读,更多相关《最新C++“诊所信息管理系统设计”课设报告.doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+“诊所信息管理系统设计”课设报告中 国 地 质 大 学目录一、题目和要求 1二、系统总体设计 1 1、需求分析 12、系统功能模块划分 1三、详细设计 21、数据结构设计 22、函数规划设计 3四、程序运行演示 161、登陆 162、查询信息 173、账单信息 184、增加信息 19五、总结反思 20六、源代码 20-一、题目和要求1、题目:“诊所信息管理系统设计
2、”2、问题描述:完成小型诊所的简单信息管理程序,掌握类的设计以及继承和派生的应用。二、系统总体设计1、需求分析1.1 功能要求设计人类(Person类)和医生类(Doctor类),在此基础上,通过增加患者和账单,使它们公用于表示一家诊所的信息管理。(1)在一条医生记录中,包括医生的专业说明(specialty),如内科医生(surgeon)、儿科医生(pediatrician) 、产科医生(obstetrician)及全科医生(general practitioner)。(2)Doctor记录还含有诊费(office_vist_fee)。(3)在一条患者记录中,包括该患者产生的药费(drug_
3、fee) ,患者的诊费(即医生的诊费)。(4)在一条账单记录中,包括一条患者对象、该患者对应得主治医生、该患者产生的诊费和药费。(5)应用程序能够显示出诊所中每个患者的信息和对应主治医生的信息。(6)能够统计出所有患者的总费用。1.2 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;(8)完成系统总结报告。2、系统功能
4、模块划分诊所信息管理系统登陆退出系统查询信息账单信息增加信息增加账单信息查询账单信息统计总费用查询医生信息查询患者信息增加医生信息增加患者信息退出系统返回上一页返回上一页返回上一页三、详细设计1、数据结构设计11 类设计分别定义了person人类、doctor医生类、HuanZhe患者类以及zhangdan帐单类;在person人类中,包含了数据成员姓名(name)、性别(sex)、年龄(age)以及诊费(office_vist_fee);在doctor医生类中,增加了数据成员医生的专业说明(drug_fee),包含了成员函数input()增加医生信息,zhangdanKind()按姓名查询医
5、生信息;在HuanZhe患者类中,增加了数据成员患者的药费(drug_fee),包含了成员函数input()增加患者信息,zhangdanKind()按姓名查询患者信息;在zhangdan帐单类中,包含了数据成员姓名(name)、诊费(office_vist_fee)、药费(drug_fee)、总费用(totl_fee),包含了成员函数totl_pay()用于统计该系统中所有患者的总费用,addzhangdan()增加账单信息,zhangdanKind()按姓名查询账单信息。1.1.1 person人类protected:string name;string sex;int age;doubl
6、e office_vist_fee;1.1.2 doctor医生类public:void input(); /增加医生信息void zhangdanKind() ; /按姓名查询医生信息private:string speicialty;1.1.3 HuanZhe患者类public:void zhangdanKind(); /按姓名查询患者信息void input(); /增加患者信息private:double drug_fee; ;1.1.4 zhangdan账单类public:void totl_pay();void addzhangdan();/ 增加账单信息void zhangdan
7、Kind();/按姓名查询账单信息private:string name;double drug_fee;double office_vist_fee;double totl_fee;12 类之间的关系在该系统中医生与患者都有数据成员姓名(name)、性别(sex)、年龄(age)以及诊费(office_vist_fee);所以把这些数据成员定义在基类person人类中,doctor医生类与HuanZhe患者类公有继承于基类person人类。2、 函数规划设计在doctor医生类中,包含了成员函数input()增加医生信息,zhangdanKind()按姓名查询医生信息;在HuanZhe患者类
8、中,包含了成员函数input()增加患者信息,zhangdanKind()按姓名查询患者信息;在zhangdan帐单类中,包含了成员函数totl_pay()用于统计该系统中所有患者的总费用,addzhangdan()增加账单信息,zhangdanKind()按姓名查询账单信息。在该系统中,还包含了普通函数adding()实现增加信息界面,search()实现查询信息界面,zhangdanxinxi()实现账单信息界面,landing()验证用户登陆,登陆成功显示欢迎信息,surface()实现诊所信息管理系统主界面。其中adding()增加信息界面包括了1、增加医生信息2、增加患者信息0、返回
9、上一页;select()查询信息界面包括了1、查询医生信息2、查询患者信息0、返回上一页;zhangdanxinxi() 账单信息界面包括了1、增加账单信息2、查询账单信息3、统计总费用0、返回上一页;surface()诊所信息管理系统主界面包括了1、查询信息2、账单信息3、增加信息4、统计总费用0、退出系统;main()主函数界面包括了1、用户登录0、退出系统。在这些界面的实现中用switch()语句做选择。2.1增加医生信息void doctor:input()cout*主治医生基本信息*endl;fstream outdoctor(医生.txt,ios:out|ios:app); /以写
10、方式打开文件if(!outdoctor)cout打开文件失败!endl;elsecoutname;outdoctorname ;coutsex;outdoctorsex ; coutage;outdoctorage ;coutoffice_vist_fee;outdoctoroffice_vist_fee ; coutspeicialty;outdoctorspeicialtyendl;outdoctor.close();2.2按姓名查询医生信息void doctor:zhangdanKind()fstream indoctor(医生.txt,ios:in); /以读方式打开文件if(!ind
11、octor)cout打开文件失败!endl; return; int line=0;string arr1005; /定义一个string类型的二维数组,用来保存从文本内读取的信息 memset(arr,0,sizeof(arr); /将数组清空while(!indoctor.eof() /文件不为空的条件设置cout2arrline0arrline1arrline2arrline3arrline4;line+; string mz; coutmz;for(int i=0;iline;i+)if(arri0=mz)cout医生姓名:arri0 性别:arri1 年龄:arri2 诊费:arri
12、3元 专业:arri4endl;return;cout记录中没有此医生信息!endl;cout是否继续查询y/n:t; if(t=y)zhangdanKind();elsereturn;2.3 增加患者信息void HuanZhe:input()cout*患者基本信息*endl;fstream outH(患者.txt,ios:out|ios:app); /以写方式打开文件if(!outH)cout打开文件失败!endl;elsecoutname; outHname ;coutsex;outHsex ; coutage; outHage ;coutoffice_vist_fee; outHoff
13、ice_vist_fee ; coutdrug_fee; outHdrug_feeendl;outH.close();cout是否继续添加患者信息y/n:t;if(t=y)input();elsereturn;2.4 按姓名查询患者信息void HuanZhe:zhangdanKind()fstream inH(患者.txt,ios:in); /以读方式打开文件if(!inH)cout打开文件失败!arrline0arrline1arrline2arrline3arrline4; /文件流读取数据line+;string mz;coutmz;for(int i=0;iline;i+)if(ar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 诊所 信息管理 系统 设计 报告

限制150内