诊所信息管理系统的C课程设计方案_第1页
诊所信息管理系统的C课程设计方案_第2页
诊所信息管理系统的C课程设计方案_第3页
诊所信息管理系统的C课程设计方案_第4页
诊所信息管理系统的C课程设计方案_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计成果

学院:计算机工程学院班级:

学生姓名:学号:

设计地点(单位)B5T01ERP试验室

设计题目:诊所信息管理系统设计________________

完毕日期:2023年6月25日

指导教师评语:_____________________________________________________________

成绩(五级记分制):_____________________

教师签名:____________________________

目录

1需求分析................................................

1.1问题描述........................................

1.2主体功能........................................

1.3问题的处理方案..................................

1.4开发环境.........................................

2概要设计..............................................

2.1数据设计........................................

2.2构造设计........................................

3详细设计..............................................

3.1类实现...........................................

3.2主函数实现......................................

3.3模块设计........................................

4系统测试...............................................

4.1测试数据........................................

4.2测试成果.......................................

4.3课程设计过程中碰到欧I问题........................

5总结...................................................

参照文献.................................................

附录源程序代码..........................................

1需求分析

伴随经济的迅速发展,人们H勺生活水平得到明显提高。医疗服务行业也在人们生活中

占据了最重要的一环,伴随医改口勺实行,看病难,看病贵口勺问题得到了处理,所认为了存

储患者信息以及医生信息,为了小型诊所管理的正规化,以便化,诊所信息管理系统在此

背景下诞生。

面对发展的需要通过专门的管理系统来系统化、规范化以及高效地实现小型诊所管理。

并且伴随计算机技术日勺迅速发展,计算机日勺应用逐渐普及和深入,同步计算机软件的需求

特日益增长,C++语言是目前最流行附和实用的1计算机程序语言。

模拟诊所信息管理系统就是对存储患者信息以及医生信息在个人PC上日勺编程实现。本

系统采用了顾客身份口勺注册、登陆、增长信息、查询信息、帐单信息以及记录所有患者的

总费用等功能。并分析在现实生活中碰到H勺问题并得到处理。

1.1问题描述

完毕小型诊所的简朴信息管理程序,掌握类的设计以及继承和派生的应用。

1.2主体功能

设计人类(Person类〉和医生类(Doctor类),在此基础上,通过增长患者和账单,

使它们公用于表达一家诊所日勺信息管理。

(1)在一条医生记录中,包括医生『'J专业阐明(specialty),如内科医生(surgeon)、

儿科医生(pediatrician)、产科医生(obstetrician)及全科医生(general

practitioner)。

(2)Doctor记录还具有诊费(officevistfee)0

(3)在一条患者记录中,包括该患者产生日勺药费(drug_fee),患者日勺诊费(即医生

日勺诊费)。

(4)在一条账单记录中,包括一条患者对象、该患者对应得主治医生、该患者产生的

诊费和药费。

(5)应用程序可以显示出诊所中每个患者H勺信息和对应主治医生的信息。

(6)可以记录出所有患者H勺总费用。

1.3问题的处理方案

根据系统功能规定,可以将问题处理分为如下环节:

(1)应用系统分析,建立该系统日勺功能模块框图以及界面日勺组织和设计;

(2)分析系统中的各个实体及它们之间的关系;

(3)根据问题描述,设计系统的类层次;

(4)完毕类层次中各个类口勺描述;

(5)完毕类中各个组员函数的定义;

(6)完毕系统的应用模块;

(7)功能调试;

(8)完毕系统总结汇报。

1.4开发环境

开发系统:Windows系统,处理器规定最低飞跃处理器,内存32nb提议在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医生类中,增长了数据组员医生H勺专业阐明(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()I曾长患者信息,

zhangdanKindO按姓名查询患者信息;在zhangdan帐单类中,包括了组员函数totl_pay()

用于把总费用从〃D:\\bb.txt〃文献移到〃D:\\cc.txt〃,pay()记录该系统中所有患者的总费

用,addzhangdan。增长账单信息,zhangdanKind()按姓名查询账单信息。在该系统中,还

包括了一般函数addinforO增长信息界面实现,select0查询信息界面实现,

zhangdanxinxi()账单信息界面实现,add_zhuce()实现注册顾客,welcome()验证顾客登

陆,登陆成功显示欢迎信息,Please。诊所信息管理系统主界面日勺实现。

2.2构造设计

系统流程图

诊所信息管理系统

图2.1系统流程图

2.2.2界面设计

addinforO增长信息界面包括了1.增长医生信息2.增长患者信息0.退出;

select。查询信息界面包括了1.查询医生信息2.查询患者信息0.退出;

zhangdanxinxi()账单信息界面包括了1.增长账单信息2.查询账单信息0.退出;

Please()诊所信息管理系统主界面包括了1.查询信息2.账单信息3.增K信息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();〃增长医生信息

voidzhangdanKindO;〃按姓名查询医生信息

"doctor(){}

};

classHuanZhe:publicperson//患者类

private:

doubledrug_fee;

public:

HuanZhe(){}

voidinput();〃增长患者信息

voidzhangdanKindO;〃按姓名查询患者信息

〜HuanZhe(){}

};

classzhangdan〃帐单类

(

stringname;

doubledrug_fee;

doubleoffice_vist_fee;

doubletotlfee;

public:

zhangdan()()

voidtotl_pay();〃用于把总费用从〃D:\\bb.txt”文献移到"D:\\cc.txt〃

voidpayO;〃实现记录所有患者总费用

voidzhangdanKindO;〃按姓名查询账单信息

^zhangdan(){}

};

3.2主函数实现

voidmain()〃主函数

//system(,zcolor3F");

intw;

☆********★**********☆***********★********☆、口〃

COUt«,Z\t\t*★\n〃;

COUt<<,,\t\t7^☆\n〃;

cout«,,\t\t^1.顾客登录★\n";

COUt<<,Z\t\t7^2.顾客注册☆\n〃;

cout<<,z\t\t*0.退出系统★\n”;

COUt<<,,\t\t7^☆\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;

caseO:exit(0);

default:cout<<〃输入数字错误!,,<<endl;

}

3.3模块设计

增长医生信息如图3.1所示;

图3.1增长医生信息函数流程图图

按姓名查询医生信息如图3.2所示

结束

3.2按姓名查询医生信息函数流程图

账单类如图3.3所示

图3.3账单函数

记录所有患者总费用如图3.4所示

图3.4记录所有患者总费用函数

增长账单信息如图3.5所示

图3.5增长账单信息函数

实现注册顾客如图3.6所示

图3.6实现注册顾客

按姓名查询账单如图3.7所示

开始

chart;

fstreaminfilel

图3.7按姓名查询账单函数

验证顾客登陆,登陆成功显示欢迎信息如图3.8所示

图3.8登录成功显示欢迎函数

4系统测试

4.1测试数据

序号输入内容阐明截图

12,zhangsan,123456输2注册,输入姓名及密码,显示成功图4.1

21输1进入登录界面图4.2

31登录后显示诊所信息管理系统主界面图4.3

43在总界面输3进增长信息界面图4.4

51,lisi,f,32,4.5,erkeyisheng输入要增长医生日勺有关信息图4.5

62,wangfang,m,12,4.5,10输入要增长患者H勺有关信息图4.6

71在总界面输1进入查询界面图4.7

81,lisi输1查询医生信息界面,输入姓名得有图4.8

关信息

92,wangfang输2查询患者信息界面,输入姓名得有图4.9

关信息

102主界面输2进入帐单信息界面图4.10

111,wangfang,lisi,4.5,10,14.5输1进入增长账单界面,输入有关信息图4.11

122,wangfang输2进入查询账单界面,输患者姓名得图4.12

到查询成果

134在主界面输4进入记录总费用界面图4.13

140在主界面输0退出系统图4.14

4.2测试成果

1.顾客注册与登陆

⑴顾客注册界面如图4.1所示。

•F:闻1中心\Debug\诊所.ex——OX

******************************************

1.用户登录

2.用户注册

。.退出系统

***********************☆★☆★☆

请输入数字<。-2>:2

*********★请注册用户★*********

请输入您的用户名:zhangsan

请输入您的密码:123456

请再次输入您的密码:123456

谢谢使用本系统注册用户界面!您己注册成功!

请输入数字<D-2>:

图4.1

⑵顾客登陆界面如图4.2所示。

•F:\^Wff)«8«M?\(>ebug\i$W.exe,□X

☆*****************************************

★★

☆☆

★1.查询信息2.账单信息★

☆3.增加信息4.统计总费用☆

★0.退出系统★

☆☆

★★

☆***********************☆★☆★☆

请输入您选拦的数字<0-4〉:

搜狗拼音输入法全:

图4.2

2.诊所信息管理系统主界面如图4.3所示。

□X

★**★**☆欢迎使用诊所信息管理系统仝******

*

<0

慢狗拼音输入法全:

图4.3

3.增长信息界面如图4.4所示。

•F:MW»S*O\Debug\Wexe,□

请输入您比择的教字<0-4〉:3

★********增加信息界面**********

☆*********************************

★★

☆1.增加医生信息☆

☆2.增加患者信息☆

☆0.退出☆

★★

☆*********************************

请输入您选择的数字<0-2〉:.

搜狗拼音输入法全:

图4.4

(1)增长医生信息如图4.5所示。

,FAlWW«®*O\Debug\iMr^ce'

★********增加估息界面**********

☆********★*******x****************

☆1.增加医生信息☆

☆2.增加患者信息☆

☆0.退出☆

☆********★*******、******★********☆

请输入您选择的数字<0-2〉:1

*****主治医生基本信息*****

姓名:lisi

性别:f

年龄:32

诊费1.5

专业说明:erkeyisheng

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

搜狗拼音输入法全:

图4.5

⑵增长患者信息如图4.6所示。

的日程中心\0^四\诊所.。依・"□X

请输入您选择的数字<0-4>:3

*********增加信息界面**********

☆********★************************

1.增加医生信息

2.增加患者信息

0.退出

☆*********************************

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

*****患者基本信息*****

姓名:wangfang

性别:m

年龄:12

诊费:4.5

药费:10

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

掖狗拼音输入法全:

图4.6

4.查询信息界面如图4.7所示。

■F:\Srtfi3W8中<ADebug\诊断exe,□X

★********查询信息界面**********

**********************************

☆1.查询医生信息☆

☆2.查询患者信息☆

☆0.退出☆

**********************************

请输入您选择的数字

搜狗拼音输入法全:

图4.7

(1)查询医生信息如图4.8所示。

'F:\MgKMWS中心\Debug\3^.exe・~□X

**********************************

1.查询医生信息

2.查询患者信息

0.退出

☆*********************************

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

请输入要查询的医生姓名:lisi

医生姓名:lisi性别:女年龄:32诊费:4.5元专业:erkeyisheng

★**★林☆欢迎使用诊所信息管理系统☆**★**★

******************************************

搜狗拼音输入法至:★

图4.8

⑵查询患者信息如图4.9所示。

FN司《曲阳程中O\Debug\^^.exe・

*********住询信息界面**********

**********************************

★★

☆1.查询医生信息☆

☆2.查询患者信息☆

☆0.退出☆

★★

**********************************

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

请输入要查询的患者姓名:wangfang

患著姓名wangfang性别:男年龄:12诊费:4.5元药费:10元

★**★科☆欢迎使用诊所信息管理系统仝******

搜狗拼音输入法全:*******★**********☆***********★********☆

图4.9

5.帐单信息界面如图4.10所示。

F:悯m的0g中心\Debug\诊所.exe・□

☆★☆★☆★**********☆*«*********★会★☆★☆

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

★********账单信息**********

**********************************

☆1.增加账单信息☆

☆2.查询账单信息☆

☆0.退出☆

**********************************

请输入您选择的数字<0-3>:.

搜狗拼音输入法全:

图4.10

⑴增长帐单信息如图4.11所示。

,川崛中5Debug\诊所.exe・-□X

*********账单信息**********

**********************************

1.增加账单信息

2.查询账单信息

0.退出

**********************************

请输入您选择的数字<0-3>:1

患者姓名:uangfang

主治医生:lisi

诊费:4.5

药费:10

0*田・1dR

苴否继父流加账单信息Y/N.....:

色狗拼音输入法全:__________________________________________

图4.11

⑵查询帐单信息如图4.12所示。

蜗・程中5Xbug\谕M.exe・-OX

*********账单信息**********

**********************************

1.增加账单信息

2.查询账单信息

0.退出

**********************************

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

请输入要查询的患者姓名:wangfang

年者姓名:wangfang医生姓名:lisi诊费:4.5元药费:10元总费用:14.5

医生姓名:lisi性别:女年龄:32诊费:4.5专业:erkeyisheng

患者姓名:wangfang性别:男年龄:12诊费:4.5药费:10

★样★**☆欢迎使用诊所信息管理系统☆科

搜狗拼音输入法全:

图4.12

6.记录功能实现如图4.13所示。

★**★**☆欢迎使用诊所信息管理系统☆**★**★

******************************************

★1.查询信息2.账单信息

☆3.增加信息4.统计总费用

★0.退出系统

☆***********************☆★☆★☆

,输入您选择的数字<0-4>:04

所有患者的总费用为:14.5元

图4.13

(7)退出系统界而如图4.14所示°

R.FNWe的中心\Dcbug\修所.exe.-OX

★**★科☆欢迎使用诊所佶息管理系统☆林★**★

******************************************

★★

☆☆

★1.查询信息2.账单信息★

☆3.增加信息4.统计总费用☆

★0.退出系统★

☆☆

★★

☆***********************☆★☆★☆

请输入您选择的数字〈0-4》:0

欢迎下次使用本系统

Pressanykeytocontinue.

搜狗拼音输入法全:

图4.14

4.3课程设计过程中碰到的问题

(1)在switch语句中注意break和return日勺使用,用return会出现Pressanykeyto

coninue导致没有执行完的程序结束。

(2)数据类型在类中设日勺与后来添加的类型不一致,导致错误。

⑶写入文献与输出时出现错误。

5总结

通过一种多星期日勺C++课程设计日勺训练,我学到了诸多,最重要的一点是怎样去运用自

己学过的知识,怎样去找到你所需要日勺资料,并在短时间把它运用到详细日勺实践中,运用到

你所需要日勺方面。这个过程是很艰难日勺,要花费诸多日勺时间和精力,不过,在事情过后,

自己就会发现自己已经在这个过程中学到了ft己想要日勺东西,这种获得是更深刻的I。

在做这个C++课程设计口勺时候,我原先也是学日勺不怎么好,什么是构造体数据,什么是

定义类型,怎样在一种main函数中调用别的定义函数,等等,可以说是忘得差不多了。然

而,在这门课程设计中,这些方面却是尤其重要日勺,可以说,掌握了这个,你就完全可以完

毕自己的I任务。这就规定我们要自己去学,自己去探索。当然,看书、问同学是必不可少的I,

尚有,身边有非常丰富日勺网络资源给我们好好运用,百度就是个很不错日勺地方。这样就从另

首先锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提高自我日勺能

力。

当然,由于个人能力所限,这份课程设计有某些别H勺方面还是要参照人家的日勺资料,在

读懂他人材料的同步,自己取人所长,补己之短,通过多次的调试,总结,最终交出一份自

己比较满意日勺答卷。

在本次课程设计中,我发现我对知识的运用不是那么精确,也就是说我对知识掌握的

不够纯熟。书本上有日勺知识却不会运用,虽然在本次C++课程设计中,显示出某些我知识

上的漏洞,通过这次编写诊所信息管理系统,我发现我纯熟掌握了类日勺定义以及继承与派

生,并对文献操作有了初步的掌握,课下还应当继续努力,争取纯熟掌握一门编程设计语

言,在次基础匕在学习多种编程语言,以便后来可以用到工作中去。

通过这次的课程设计,终于我的诊所信息管理系统完美告终,让我深入的理解到C++

在我们平常生活中的重要性,并且,也更深入的激发了我学习这门语言的爱好.通过这次的

训练,我相信自己后来会用更多日勺时间来把这门语言学好,掌握好这门必修的基础语言。

参照文献

[1]李素若,杜华兵编,C++面向对象程序设计.中国水利水电出版社.2023年.

[2]谭浩强编,C++面向对象程序设计.北京:清华大学出版社,2023年.

[3]安志远,贾振华主编,C++程序设计基础.北京:高等教育出版社,2023.6

[4]王超,C++程序设计.北京:地质出版社,2023.82

[5]王继明,C++程序设计与应用开发[M].北京:清华出版社,2023.

附录源程序代码

#nclude<ioslream>

^include<string.h>

#include<string>

#include<fstream>

#include<cmath>

usingnamespacestd;

classperson//人类

(

protected:

stringname;

charsex;

intage;

doubleofficevistfee;

public:

personO{}

'person()()

);

classdoctor:publicperson〃医生类

(

private:

charspeicialty[15];

public:

doctor(){}

voidinput()〃增长医生信息

chart;

coutH"****51c主治医生基本信息*****"<<cndl;

fstreamoutfileC^D:\\aa.txt",ios::out|ios::app);//以写方式打开文献

if(!outfile)

cout<<”打开文献失败!"<<cndl;

else

(

cout<<”姓名姓;

cin>>namc;outfile«name«/z

cout<<"性别:";cin»sex;

if(sex==,m\\sex=-M*)

outfile<男"<<"",、

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

outfile久"女〃<<"

else

(

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

cin»sex;

if(sex==,m*||sex==,M*)

。成门1屋〈〃男〃<<〃〃;

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

outfile《"女〃<<"

)

cout<<“年龄:";

cin>>age;outfile«age<<//

cout<<“诊费:";

cin>>officcvistfce;outfilc〈<officc_vist_fcc<<”

cout«”专业阐明:“;

cin>>speicialty;outfile«spcicialty«cndl;

outfile.closeO;

)

cout<<"与否继续添加医生信息Y/N.....<«endl;

cin»t;

if(t==y')

input();

else

return;

)

voidzhangdanKindO//按姓名查询医生信息

{

chart;

fstreaminfile2(,?D:\\aa.txt,z,ios::in);//以读方式打开文献

if(!infile2)

cout<<〃打开文献失败!"<<endl;

return;

)

intline=O;

stringarr[100][100:;〃定义一种string类型口勺二维数组,用来保留从文本内读取的信息

momsct(arr,0,sizeof(arr));〃将数组清空

whiledinfile2.eof())〃文献不为空的条件设置

(

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

line++;

)

stringna;

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

cin>>na;

for(inti=0;i<line;i++)

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

cout«〃医生姓名:"《arr[i][O]<<""<<"性别:"《arr[i]口]«"〃《〃年

龄:"<<arHi][2]<<"〃

<<"诊费:"<<arr[i][3]<<"元"<<""<<"专业:"<<arr[i][4]<<endl;

return;

)

)

cout<<”记录中没有此医生信息!/z«cndl;

cout«〃与否继续查询Y/N.....<«endl;

cin»t;

if(t==y)

zhangdanKindO;

else

return;

)

'doctor(){)

};

classHuanZhe:publicperson〃患者类

(

private:

doubledrug_fee;

public:

HuanZheO

()

voidinput()〃增长患者信息

{

chart;

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

fstreamoutfileCD:\\ee.txt/7,ios::out|ios::app);//以写方式打开文献

if(!outfile)

cout<<”打开文献失败!"<<cndl;

else

(

cout«〃姓名:”;

cin>>name;outfile«name«/,

cout<<“性别:";cin>>sex;

if(sex==,m\\sex=='M')

outfile«"男〃<<"

elseif(sex==,f,||sex==,F*)

outfile式"女〃<<"

else

cout«r请重新输入性别:”;

cin»sex;

if(scx==,m,|scx==,Nf)

outfile〈<“男〃<<〃";

elseif(sex==,f\|sex==,F,)

outfile<女”<

)

cout<<“年龄:";

cin>>age;outfilc«age«/x

cout<<"诊费:";

cin>>officevistfee;outfile«office_vist_fee<<,,

cout<<"药费:";

cin>>drug_fee;outfile«drug_fee«endl;

outfile.closeO;

)

cout«〃与否继续添加患者信息Y/N.....<«endl;

cin»t;

if(t==*y')

input();

else

return;

}

voidzhangdanKindO〃按姓名杳询患者信息

chart;

fstreaminfile2("zD:\\ee.txt",ios::in);〃以读方式打开文献

if(!infile2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论