医院候诊管理系统课程设计C++.docx
- 文档编号:23477382
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:21
- 大小:274.45KB
医院候诊管理系统课程设计C++.docx
《医院候诊管理系统课程设计C++.docx》由会员分享,可在线阅读,更多相关《医院候诊管理系统课程设计C++.docx(21页珍藏版)》请在冰豆网上搜索。
医院候诊管理系统课程设计C++
南华大学
计算机科学与技术学院
课程设计报告
课程名称
面向对象程序设计
课程设计名称
医院候诊系统
1.课程设计目的及要求
1)设计目标(问题描述)
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题
2)、功能设计要求
医院候诊管理系统
已知医院有内科、外科、骨科、皮肤科和口腔科,每个科均有普通门诊和专家门诊,普通门诊挂号费5元,专家门诊挂号费10元,其中内科门诊要求14岁以下(含14岁)儿童进第一诊室,15~25岁(含25岁)男患者进第二诊室,女患者进第三诊室,其他的进第四诊室,要求编制程序实现如下功能(患者信息包括挂号单编号、性别、年龄、所挂科室):
编写主菜单:
1)统计一天的挂号费收入,并分别统计出各科挂各类号的人数排序。
2)对各科的就诊人数由大到小进行排序。
输出各科室不同年龄层就诊的比例顺序
3)、软件、硬件环境
软件环境:
MicrosoftVisualC++6.0
硬件环境:
AMDAthlon(tm)64*2Processor3600+
32位操作系统
2006MicrosoftCorporation.AllRightsReserved
2.01GHz,512MB内存,80G硬盘
2.课程设计步骤
1)认真分析程序,考虑类中大致会用哪些数据成员和成员函数;
2)编写程序,上机调试;
3)改正程序中的错误并进一步完善。
4)填写实验报告。
3.课程设计内容
1)、设计概述
(a)开发平台:
MicrosoftVisualC++6.0
(b)参考书籍:
面向对象程序设计与C++语言(第二版)
(c)开发周期:
5天(构思1天、雏形1天、修改1天、再修改1天、完善1天)
2)、处理流程
(a)画出功能结构图
(b)画出类图
定义静态常整形变量
c1=0,c2=0,c3=0,c4=0,c5=0,c6=0,c7=0,c8=0,number=0;b1=0,b2=0,b3=0,b4=0,b5=0,b6=0,b7=0,b8=0,b9=0,b10=0,b11=0,
b12=0,b13=0,b14=0,b15=0,b16=0,b17=0;
Classperson
数据成员
charsex;
intmoney;
intage;
introom;
成员函数
voidinput();
voidoutput();
voidcount();
voidroomone();
voidroomall();
voidbili();
(c)主要函数的程序流程图
(d)写出数据测试表(输入数据/预期结果)
数据输入
结果预测
Sex:
1
error,pleasechooseagain
room-number:
3
error,pleasechooseagain
room:
6
error,pleasechooseagain
sex:
m
room-number:
1
Age:
5
room:
1
*************************************************************
Welcometo内科tobetreated
**************************************
*******************************
总收入:
:
5
**********************************************************
Thepopulationof内科is:
1
Thepopulationof外科is:
0
Thepopulationof骨科is:
0
Thepopulationof皮肤科is:
0
Thepopulationof口腔科is:
0
*************************************************************
第一科室1
第二科室0
第三科室0
第四科室0
**********************************************************
内科的各年龄段统计比例
14岁以下所占比例为:
1/1
14到25岁所占比例为:
0/1
25岁以上所占比例为:
0/1
**********************************************************
Yournumberis:
GFSZB2
pleasechooseyoursex:
m(man)orw(women)
sex:
sex:
w
room-number:
1
Age:
18
room:
1
*************************************************************
Welcometo内科tobetreated
*********************************************************************
总收入:
:
10
**********************************************************
Thepopulationof内科is:
2
Thepopulationof外科is:
0
Thepopulationof骨科is:
0
Thepopulationof皮肤科is:
0
Thepopulationof口腔科is:
0
*************************************************************
第一科室1
第二科室0
第三科室1
第四科室0
**********************************************************
内科的各年龄段统计比例
14岁以下所占比例为:
1/2
14到25岁所占比例为:
1/2
25岁以上所占比例为:
0/2
**********************************************************
Yournumberis:
GFSZB3
pleasechooseyoursex:
m(man)orw(women)
sex:
4.课程设计结果
运行正确:
5.课程设计总结分析
1)、程序的优点:
本程序具有良好的人性化、智能化的特点,容错性能良好,页面设计极佳,易被常人理解,可以说是一个完美的程序!
Year!
2)、遇到的问题:
也没遇到什么大的问题,就是在开始设计的时候对于整个程序的设计思路颇费脑细胞。
反正总算是写出来了。
3)、存在的缺陷:
没有用到文件,我想这可能是唯一的一点缺点吧。
4)、自我评价:
本程序无论从设计,还是页面还是运行,都是比较不错的,容错性能良好,
是一个非常不错的程序。
6.附录(源程序清单,要求含有30%的注释)
//头文件person.h
//c1,c2,c3,c4,c5用来统计各个科室的人数
//c6,c7用来统计普通,专家门诊的人数.number用来记录挂号单编号的
//c8用来记录总收入的
staticintc1=0,c2=0,c3=0,c4=0,c5=0,c6=0,c7=0,c8=0,number=0;
//b1到b17都是用来统计各个科室各个年龄段人数的
staticintb1=0,b2=0,b3=0,b4=0,b5=0,b6=0,b7=0,b8=0,b9=0,b10=0,b11=0,
b12=0,b13=0,b14=0,b15=0,b16=0,b17=0;
//条件编译
#ifndefPERSON_H
//条件编译
#definePERSON_H
//定义一个病人个人信息类
classperson
{
public:
//输入个人信息及确定挂号单编号
voidinput();
//统计普通门诊与专家门诊的人数
voidoutput();
//统计各科人数
voidcount();
//统计内科科室中各诊室的人数
voidroomone();
//统计各个科室中各个年龄段人数
voidroomall();
//统计各科室中三个年龄段的人数比例
voidbili();
private:
//个人信息中的性别
charsex;
//选择门诊所需要的钱数
intmoney;
//个人信息中的年龄
intage;
//科室名称
introom;
};
#endif
//头文件person.cpp
#include
#include
#include"person.h"
voidperson:
:
input()//输入个人信息及确定挂号单编号
{
number=number++;//确定你的编号
cout<<"Yournumberis:
GFSZB"< loop1: cout<<"pleasechooseyoursex: m(man)orw(women)"< cout<<"Sex: "; cin>>sex; if(sex! ='m'&&sex! ='w')//输入错误信息请重新输入 { cout<<"*******************************************"< cout<<"error,pleasechooseagain"< cout<<"*******************************************"< gotoloop1; } loop2: cout<<"1istheformalmedical-room: price(5yuan)"< cout<<"2istheexpertmedical-room: price(10yuan)"< cout<<"pleasechooseroom-number: "; cin>>money; if(money! =1&&money! =2)//输入错误信息请重新输入 { cout<<"*******************************************"< cout<<"error,pleasechooseagain"< cout<<"*******************************************"< gotoloop2; } loop3: cout<<"pleaseenteryourage: "< cout<<"Age: "; cin>>age; if(age<=0||age>=150)//输入错误信息请重新输入 { cout<<"*******************************************"< cout<<"error,pleaseenteragain"< cout<<"*******************************************"< gotoloop3; } loop4: cout<<"pleasechoosethenameofroom: "< cout<<"1: 内科;2: 外科;3: 骨科;4: 皮肤科;5: 口腔科"< cout<<"room: "; cin>>room; if(room! =1&&room! =2&&room! =3&&room! =4&&room! =5)//输入错误信息请重新输入 { cout<<"*******************************************"< cout<<"error,pleasechooseagain"< cout<<"*******************************************"< gotoloop4; } } voidperson: : output()//统计普通门诊与专家门诊的人数 { switch(money) { case1: { ++c6; }break; case2: { ++c7; }break; } switch(room)//根据你个人的信息,输出你将进入哪个科室 { case1: cout<<"**********************************************************************"< cout<<"Welcometo内科tobetreated"< break; case2: cout<<"******************************"< cout<<"Welcometo外科tobetreated"< break; case3: cout<<"******************************"< cout<<"Welcometo骨科tobetreated"< break; case4: cout<<"******************************"< cout<<"Welcometo皮肤科tobetreated"< break; case5: cout<<"******************************"< cout<<"Welcometo口腔科tobetreated"< break; } cout<<"**********************"; } voidperson: : count()//统计各科人数 { switch(room) { case1: c1++;break;//统计内科的人数 case2: c2++;break;//统计外科的人数 case3: c3++;break;//统计骨科的人数 case4: c4++;break;//统计皮肤科人数 case5: c5++;break;//统计口腔科人数 } c8=5*c6+10*c7; cout<<"总收入: : "< cout<<"*********************"< cout<<"Thepopulationof内科is: "< cout<<"Thepopulationof外科is: "< cout<<"Thepopulationof骨科is: "< cout<<"Thepopulationof皮肤科is: "< cout<<"Thepopulationof口腔科is: "< cout<<"************************"< } voidperson: : roomone()//统计内科科室中各诊室的人数 { if(room==1&&age>0&&age<=14) { b1=++b1; } if(room==1&&age>14&&age<=25&&sex=='m') { b2=++b2; } if(room==1&&age>14&&age<=25&&sex=='w') { b3=++b3; } b4=b2+b3; if(room==1&&age>25) { b5=++b5; } cout<<"第一科室"< cout<<"第二科室"< cout<<"第三科室"< cout<<"第四科室"< } voidperson: : roomall()//统计各个科室中各个年龄段人数 { if(room==2&&age>0&&age<=14) { b6=++b6; } if(room==2&&age>14&&age<=25) { b7=++b7; } if(room==2&&age>25) { b8=++b8; } if(room==3&&age>0&&age<=14) { b9=++b9; } if(room==3&&age>14&&age<=25) { b10=++b10; } if(room==3&&age>25) { b11=++b11; } if(room==4&&age>0&&age<=14) { b12=++b12; } if(room==4&&age>14&&age<=25) { b13=++b13; } if(room==4&&age>25) { b14=++b14; } if(room==5&&age>0&&age<=14) { b15=++b15; } if(room==5&&age>14&&age<=25) { b16=++b16; } if(room==5&&age>25) { b17=++b17; } cout<<"******************************"; } voidperson: : bili() { if(room==1)//统计内科各个年龄段所占的比例 { cout<<"内科的各年龄段统计比例"< cout<<"14岁以下所占比例为: "< cout<<"14到25岁所占比例为: "< cout<<"25岁以上所占比例为: "< } if(room==2) {//统计外科各个年龄段所占的比例 cout<<"外科的各年龄段统计比例"< cout<<"14岁以下所占比例为: "< cout<<"14到25岁所占比例为: "< cout<<"25岁以上所占比例为: "< } if(room==3)//统计骨科各个年龄段所占的比例 { cout<<"骨科的各年龄段统计比例"< cout<<"14岁以下所占比例为: "< cout<<"14到25岁所占比例为: "< cout<<"25岁以上所占比例为: "< } if(room==4)//统计皮肤科各个年龄段所占的比例 { cout<<"皮肤科的各年龄段统计比例"< cout<<"14岁以下所占比例为: "< cout<<"14到25岁所占比例为: "< cout<<"25岁以上所占比例为: "< } if(room==5)//统计口腔科各个年龄段所占的比例 { cout<<"口腔科的各年龄段统计比例"< cout<<"14岁以下所占比例为: "< cout<<"14到25岁所占比例为: "< cout<<"25岁以上所占比例为: "< } cout<<"********************************************************************************"; } //头文件main.cpp #include #include #include"person.h" voidmain() { cout<<""< cout<<"******************欢迎莅临中国人民解放军总医院医疗候诊系统**********************"< loop: //创建一个标签 personp; p.input();//输入个人信息及确定挂号单编号 cout< p.output();//统计普通门诊与专家门诊的人数 cout< p.count();//统计各科人数 p.roomone();//统计内科科室中各诊室的人数 p.roomall();//统计各个科室中各个年龄段人数 cout< p.bili();//统计各科室中三个年龄段的人数比例 gotoloop;//实现循环 }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 候诊 管理 系统 课程设计 C+