诊所信息管理系统C课程设计报告.docx
《诊所信息管理系统C课程设计报告.docx》由会员分享,可在线阅读,更多相关《诊所信息管理系统C课程设计报告.docx(37页珍藏版)》请在冰豆网上搜索。
![诊所信息管理系统C课程设计报告.docx](https://file1.bdocx.com/fileroot1/2022-10/25/1ff24a69-17ea-43e1-b3c4-bc0025b15190/1ff24a69-17ea-43e1-b3c4-bc0025b151901.gif)
诊所信息管理系统C课程设计报告
课程设计成果
学院:
计算机工程学院班级:
学生姓名:
学号:
设计地点(单位)B5-101ERP实验室设计题目:
诊所信息管理系统设计
完成日期:
2016年6月25日
指导教师评语:
成绩(五级记分制):
教师签名:
1需求分析.3
1.1问题描述3
1.2主体功能3
1.3问题的解决方案3
1.4开发环境.3
2概要设计4
2.1数据设计4
2.2结构设计4
3详细设计5
3.1类实现5
3.2主函数实现6
3.3模块设计6
4系统测试11
4.1测试数据11
4.2测试结果.12
4.3课程设计过程中遇到的问题16
5总结17
参考文献18
附录源程序代码19
1需求分析随着经济的迅速发展,人们的生活水平得到显著提高。
医疗服务行业也在人们生活中占据了最重要的一环,随着医改的实施,看病难,看病贵的问题得到了解决,所以为了存储患者信息以及医生信息,为了小型诊所管理的正规化,方便化,诊所信息管理系统在此背景下诞生。
面对发展的需要通过专门的管理系统来系统化、规范化以及高效地实现小型诊所管理。
并且随着计算机技术的快速发展,计算机的应用逐渐普及和深入,同时计算机软件的需求特日益增长,C++语言是当前最流行的和实用的计算机程序语言。
模拟诊所信息管理系统就是对存储患者信息以及医生信息在个人PC上的编程实现。
本
系统采用了用户身份的注册、登陆、增加信息、查询信息、帐单信息以及统计所有患者的总费用等功能。
并分析在现实生活中遇到的问题并得到解决。
1.1问题描述完成小型诊所的简单信息管理程序,掌握类的设计以及继承和派生的应用。
1.2主体功能
设计人类(Person类)和医生类(Doctor类),在此基础上,通过增加患者和账单,使它们公用于表示一家诊所的信息管理。
(1)在一条医生记录中,包括医生的专业说明(specialty),如内科医生(surgeon)、儿科医生(pediatrician)、产科医生(obstetrician)及全科医生(generalpractitioner)。
(2)Doctor记录还含有诊费(office_vist_fee)。
(3)在一条患者记录中,包括该患者产生的药费(drug_fee),患者的诊费(即医生的诊费)。
(4)在一条账单记录中,包括一条患者对象、该患者对应得主治医生、该患者产生的诊费和药费。
(5)应用程序能够显示出诊所中每个患者的信息和对应主治医生的信息。
(6)能够统计出所有患者的总费用。
1.3问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
1.4开发环境
开发系统:
Windows系统,处理器要求最低奔腾处理器,内存32m,建议在i5处理器,128m内存配置下调试。
编译集成软件:
MicrosoftVisualC++6.0编译器。
MicrosoftVisualC++6.0编译器。
是一个强大的C/C++软件开发工具,操作简单,
使用非常广泛,为很多程序员的首选开发工具。
2概要设计
2.1数据设计
2.1.1类设计
分别定义了person人类、doctor医生类、HuanZhe患者类以及帐单类;在person人类中,包含了数据成员姓名(name)、性别(sex)、年龄(age)以及诊费(office_vist_fee);在doctor医生类中,增加了数据成员医生的专业说明(drug_fee),包含了成员函数input()增加医生信息,zhangdanKind()按姓名查询医生信息;在HuanZhe患者类中,增加了数据成员患者的药费(drug_fee),包含了成员函数input()增加患者信息,zhangdanKind()按姓名查询患者信息;在zhangdan帐单类中,包含了数据成员姓名(name)、诊费(office_vist_fee)、药费(drug_fee)、总费用(totl_fee),包含了成员函数totl_pay()用于把总费用从"D:
\\bb.txt"文件移到"D:
\\cc.txt",pay()统计该系统中所有患者的总费用,addzhangdan()增加账单信息,zhangdanKind()按姓名查询账单信息。
2.1.2类之间的关系
在该系统中医生与患者都有数据成员姓名(name)、性别(sex)、年龄(age)以及诊费(office_vist_fee);所以把这些数据成员定义在基类person人类中,doctor医生类与HuanZhe患者类公有继承于基类person人类。
2.1.3函数设计
在doctor医生类中,包含了成员函数input()增加医生信息,zhangdanKind()按姓名查询医生信息;在HuanZhe患者类中,包含了成员函数input()增加患者信息,zhangdanKind()按姓名查询患者信息;在zhangdan帐单类中,包含了成员函数totl_pay()用于把总费用从"D:
\\bb.txt"文件移到"D:
\\cc.txt",pay()统计该系统中所有患者的总费用,addzhangdan()增加账单信息,zhangdanKind()按姓名查询账单信息。
在该系统中,还包含了普通函数addinfor()增加信息界面实现,select()查询信息界面实现,zhangdanxinxi()账单信息界面实现,add_zhuce()实现注册用户,welcome()验证用户登陆,登陆成功显示欢迎信息,Please()诊所信息管理系统主界面的实现。
2.2结构设计
2.2.1系统流程图
2.2.2
图2.1系统流程图
2.2.3界面设计
addinfor()增加信息界面包括了1.增加医生信息2.增加患者信息0.退出;select()查询信息界面包括了1.查询医生信息2.查询患者信息0.退出;zhangdanxinxi()账单信息界面包括了1.增加账单信息2.查询账单信息0.退出;Please()诊所信息管理系统主界面包括了1.查询信息2.账单信息3.增加信息4.统计总费用0.退出系统;
main()主函数界面包括了1.用户登录2.用户注册0.退出系统。
在这些界面的实现中用switch()语句做选择。
3详细设计
3.1类实现
classperson//人类
{
protected:
stringname;
charsex;
intage;
doubleoffice_vist_fee;
public:
person(){}
~person(){}
};
classdoctor:
publicperson//医生类
{
private:
charspeicialty[15];
public:
doctor(){}
voidinput();//增加医生信息
voidzhangdanKind();//按姓名查询医生信息
~doctor(){}
};
classHuanZhe:
publicperson//患者类
{
private:
doubledrug_fee;
public:
HuanZhe(){}
voidinput();//增加患者信息
voidzhangdanKind();//按姓名查询患者信息
~HuanZhe(){}
};
classzhangdan//帐单类
{
stringname;
doubledrug_fee;
doubleoffice_vist_fee;
文件移到"D:
\\cc.txt"
doubletotl_fee;public:
zhangdan(){}voidtotl_pay();voidpay();//voidzhangdanKind()~zhangdan(){}
};
3.2主函数实现
//用于把总费用从"D:
\\bb.txt实现统计所有患者总费用;//按姓名查询账单信息
voidmain()//主函数
//system("color3F");
intw;
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)
{
case1:
Please();break;
case2:
add_zhuce();break;
case0:
exit(0);
default:
cout<<"输入数字错误!
"<}
}
}
3.3模块设计
增加医生信息如图3.1所示;
开始
aa.txt",ios:
:
out|ios:
:
app);
"<<""outfile<<"女
"<<"
input();return;
图3.1增加医生信息函数流程图图
按姓名查询医生信息如图3.2所示
3.2按姓名查询医生信息函数流程图
账单类如图3.3所示
统计所有患者总费用如图3.4所示
开始
doublea;doublez=0.0;fstream
infile4("D:
\\cc.txt",ios:
:
in);
!
infile4
打开文件失败!
doubles[100];intline=0;
infile4>>s[line];
line++;
结束
图3.4统计所有患者总费用函数
增加账单信息如图3.5所示
图3.5增加账单信息函数实现注册用户如图3.6所示
按姓名查询账单如图3.7所示
开始
chart;fstreaminfile1
infile3>>arr[lin][0]>>arr[lin][1]>>arr[
lin][2]>>arr[lin][3]>>arr[lin][4];
lin++;
图3.7按姓名查询账单函数
验证用户登陆,登陆成功显示欢迎信息