诊所信息管理系统C课程设计报告Word文档格式.docx

上传人:b****8 文档编号:22078550 上传时间:2023-02-02 格式:DOCX 页数:46 大小:696.53KB
下载 相关 举报
诊所信息管理系统C课程设计报告Word文档格式.docx_第1页
第1页 / 共46页
诊所信息管理系统C课程设计报告Word文档格式.docx_第2页
第2页 / 共46页
诊所信息管理系统C课程设计报告Word文档格式.docx_第3页
第3页 / 共46页
诊所信息管理系统C课程设计报告Word文档格式.docx_第4页
第4页 / 共46页
诊所信息管理系统C课程设计报告Word文档格式.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

诊所信息管理系统C课程设计报告Word文档格式.docx

《诊所信息管理系统C课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《诊所信息管理系统C课程设计报告Word文档格式.docx(46页珍藏版)》请在冰豆网上搜索。

诊所信息管理系统C课程设计报告Word文档格式.docx

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

(4)完成类层次中各个类的描述;

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

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

(7)功能调试;

(8)完成系统总结报告。

1.4开发环境

开发系统:

Windows系统,处理器要求最低奔腾处理器,内存32m,建议在i5处理器,128m内存配置下调试。

编译集成软件:

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"

文件移到"

\\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()用于把总费用从"

在该系统中,还包含了普通函数addinfor()增加信息界面实现,select()查询信息界面实现,zhangdanxinxi()账单信息界面实现,add_zhuce()实现注册用户,welcome()验证用户登陆,登陆成功显示欢迎信息,Please()诊所信息管理系统主界面的实现。

2.2结构设计

2.2.1系统流程图

图2.1系统流程图

2.2.2界面设计

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];

doctor(){}

voidinput();

//增加医生信息

voidzhangdanKind();

//按姓名查询医生信息

~doctor(){}

classHuanZhe:

publicperson//患者类

doubledrug_fee;

HuanZhe(){}

voidinput();

//增加患者信息

voidzhangdanKind();

//按姓名查询患者信息

~HuanZhe(){}

classzhangdan//帐单类

doubletotl_fee;

zhangdan(){}

voidtotl_pay();

//用于把总费用从"

voidpay();

//实现统计所有患者总费用

//按姓名查询账单信息

~zhangdan(){}

3.2主函数实现

voidmain()//主函数

//system("

color3F"

);

intw;

cout<

<

"

\t\t☆********★**********☆***********★********☆\n"

;

\t\t★★\n"

\t\t☆☆\n"

\t\t★1.用户登录★\n"

\t\t☆2.用户注册☆\n"

\t\t★0.退出系统★\n"

\t\t☆★☆★☆★**********☆***********★☆★☆★☆\n"

while

(1)

{

cout<

请输入数字<

0-2>

:

cin>

>

w;

switch(w)

{

case1:

Please();

break;

case2:

add_zhuce();

case0:

exit(0);

default:

输入数字错误!

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所示

图3.7按姓名查询账单函数

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

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

4系统测试

4.1测试数据

序号

输入内容

说明

截图

1

2,zhangsan,123456

输2注册,输入姓名及密码,显示成功

图4.1

2

输1进入登录界面

图4.2

3

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

图4.3

4

在总界面输3进增加信息界面

图4.4

5

1,lisi,f,32,4.5,erkeyisheng

输入要增加医生的相关信息

图4.5

6

2,wangfang,m,12,4.5,10

输入要增加患者的相关信息

图4.6

7

在总界面输1进入查询界面

图4.7

8

1,lisi

输1查询医生信息界面,输入姓名得相关信息

图4.8

9

2,wangfang

输2查询患者信息界面,输入姓名得相关信息

图4.9

10

主界面输2进入帐单信息界面

图4.10

11

1,wangfang,lisi,4.5,10,14.5

输1进入增加账单界面,输入相关信息

图4.11

12

输2进入查询账单界面,输患者姓名得到查询结果

图4.12

13

在主界面输4进入统计总费用界面

图4.13

14

在主界面输0退出系统

图4.14

4.2测试结果

1.用户注册与登陆

(1)用户注册界面如图4.1所示。

图4.1

(2)用户登陆界面如图4.2所示。

图4.2

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

图4.3

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

图4.4

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

(2)增加患者信息如图4.6所示。

图4.6

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

图4.7

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

图4.8

(2)查询患者信息如图4.9所示。

图4.9

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

图4.10

(1)增加帐单信息如图4.11所示。

图4.11

(2)查询帐单信息如图4.12所示。

图4.12

6.统计功能实现如图4.13所示。

图4.13

(7)退出系统界面如图4.14所示。

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

(1)在switch语句中注意break和return的使用,用return会出现Pressanykeytoconinue导致没有执行完的程序结束。

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

(3)写入文件与输出时出现错误。

5总结

经过一个多星期的C++课程设计的训练,我学到了很多,最主要的一点是怎样去运用自己学过的知识,怎样去找到你所需要的资料,并在短时间把它运用到具体的实践中,运用到你所需要的方面。

这个过程是很艰难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。

在做这个C++课程设计的时候,我原先也是学的不怎么好,什么是结构体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是忘得差不多了。

然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己的任务。

这就要求我们要自己去学,自己去探索。

当然,看书、问同学是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用,XX就是个很不错的地方。

这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提升自我的能力。

当然,由于个人能力所限,这份课程设计有一些别的方面还是要参考人家的的资料,在读懂别人材料的同时,自己取人所长,补己之短,经过多次的调试,总结,最后交出一份自己比较满意的答卷。

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

课本上有的知识却不会运用,虽然在本次C++课程设计中,显示出一些我知识上的漏洞,经过这次编写诊所信息管理系统,我发现我熟练掌握了类的定义以及继承与派生,并对文件操作有了初步的掌握,课下还应该继续努力,争取熟练掌握一门编程设计语言,在次基础上,在学习多种编程语言,以便以后可以用到工作中去。

通过这次的课程设计,终于我的诊所信息管理系统完美告终,让我进一步的了解到C++在我们日常生活中的重要性,而且,也更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这门必修的基础语言。

参考文献

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

[2]谭浩强编,C++面向对象程序设计.北京:

清华大学出版社,2006年.

[3]安志远,贾振华主编,C++程序设计基础.北京:

高等教育出版社,2009.6

[4]王超,C++程序设计.北京:

地质出版社,2006.82

[5]王继明,C++程序设计与应用开发[M].北京:

清华出版社,2008.

附录源程序代码

#include<

iostream>

string.h>

string>

fstream>

cmath>

usingnamespacestd;

voidinput()//增加医生信息

chart;

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

fstreamoutfile("

\\aa.txt"

ios:

out|ios:

app);

//以写方式打开文件

if(!

outfile)

cout<

打开文件失败!

else

姓名:

cin>

name;

outfile<

name<

"

性别:

cin>

sex;

if(sex=='

m'

||sex=='

M'

outfile<

男"

elseif(sex=='

f'

F'

女"

else

{

cout<

请重新输入性别:

cin>

if(sex=='

outfile<

elseif(sex=='

}

年龄:

age;

age<

诊费:

office_vist_fee;

office_vist_fee<

专业说明:

speicialty;

speicialty<

out();

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

t;

if(t=='

y'

input();

return;

voidzhangdanKind()//按姓名查询医生信息

fstreaminfile2("

in);

//以读方式打开文件

infile2)

return;

intline=0;

stringarr[100][100];

//定义一个string类型的二维数组,用来保存从文本内读取的信息

memset(arr,0,sizeof(arr));

//将数组清空

while(!

in())//文件不为空的条件设置

infile2>

arr[line][0]>

arr[line][1]>

arr[line][2]>

arr[line][3]>

arr[line][4];

line++;

stringna;

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

na;

for(inti=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]<

return;

记录中没有此医生信息!

是否继续查询Y/N......:

zhangdanKind();

HuanZhe()

{}

voidinput()//增加患者信息

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

\\ee.txt"

药费:

drug_fee;

drug_fee<

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

voidzhangdanKind()//按姓名查询患者信息

////将数组清空

//文件流读取数据

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

患者姓名:

a

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1