医院病人看病情景大作业报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计(C++)》
课程大作业
医生看病就诊情景
年级专业2009级信息管理与信息系统
项目成员彭武云(0094134)
陈小林(0094133)
杜小玲(0094146)
指导教师杨巨成教授
2010 年12月30日
目录
一、需求分析
1.1 开发背景 (3)
1.2 项目目标 (4)
1.3 运行环境 (4)
二、程序分析
2.1 技术要点 (4)
2.2 项目任务书 (8)
三、技术路线
3.1 总体方案 (8)
3.1.1 软件及开发平台 (8)
3.1.2 总体方案 (8)
3.2 详细设计 (11)
四、工程进度 (16)
五、测试报告
5.1 阶段性测试 (18)
5.2 总体测试 (29)
六、个人小结 (31)
附录一参考文献 (33)
附录二程序源代码 (33)
1需求分析
1.1开发背景
随着人们生活水平的提高,人们对健康的关注程度越来越高,健康护理看病就医已经成为我们生活中很重要的一部分,据调查分析“看病难”这一问题普遍出现在各个地区各个阶层,如何在繁忙的医院里迅速挂号,如何根据根据自己的病情选择合适的专家医生,如何可以在再次就诊时查找自己以往病例,选择合适的治疗方式,以求治疗的高效性伤害的最小化等等问题已经成为人们高度关注的问题。
为此,在现今的社会里如何设计出最优的方案来帮助人们解决以上问题,显得尤为重要。
为了解决这些问题,现今许多医院都采用了一种新的方法进行对看病就医的管理,就是建立一个看病就医管理系统。
通过该系统,病人可以自主挂号,选择相应的服务,了解病情进况,建立健康信息系统,并可以对它进行管理;医生可以输入病人病情,记录病情进况,随时查看和修改病人情况,医院的管理员也可以通过该系统对医院的就医状况进行管理,可以大大提高医院的就医管理效率。
基于上面的背景,我们提出了一个医院就医管理系统方案,并通过对该系统的操作性、可行性及实用性等各个方面的分析,最终确定了该方案即为我们的设计方向。
方案提出者:彭武云、陈小林、杜小玲
开发者:彭武云、陈小林、杜小玲
用户:所有的医院等医疗救助单位
1.2 项目目标
通过该系统可以实现对医院病人就医的管理,建立病人的健康信息库,其中包括姓名、性别、年龄、挂号码、基本病情等信息,同时医生也可以对病人的情况进行查看和修改,病人也可以随时查看自己的病情等信息,管理员也可以随时通过此系统随时对医院整个就医状况进行管理,为病人的就医和和医院的管理都提供方便和快捷。
1.3 运行环境
软件:在Windows软件(Visual C++)环境下
硬件:能够运行Windows软件的PC机或者是笔记本电脑,最低性能:要求内存大于128M,硬盘大于1G
2程序分析
2.1 技术要点
程序流程图:
图2-1
说明:看病情景的总括图,有1病人2管理员3医生三个子通道,分别针对于病人,医生,管理员三个不同身份的人。
图2-2
说明以及功能:实现管理员对病人挂号以及销号功能。
(1)录入病人的各项基本信息(2)注销病人的相关信息进行销号
图2-3
说明以及功能:实现病人查询病情(1)输入自己的账号和密码查询病情等相关信息(2)病人输入旧密码后可以对密码进行修改
图2-4
说明以及功能:医生查询病人信息以及修改病情(1)显示病人的病情等各项信息(2)对病人的病情进行修改。
2.2 项目任务书
彭武云负责写三个类的构造以及主函数编写;
陈小林负责对各个子函数进行编写并且对函数进行补充;
杜小玲负责补足程序的功能,完善系统,实现程序存储。
3技术路线
3.1 总体路线
3.1.1 采用的软件及开发平台
在windows XP的运行环境下,采用Microsoft公司的Visual C++作为开发平台,利用面向对象的思想来实现对医院看病就业情况的系统,实用类的封装
性封装、继承性、多态性和抽象性。
3.1.2 总体方案
一、程序设定了四个类,基类是person类,有person派生出来了patient类
还有clock类和yisheng类(四个类分别是基类人类,派生类是病人类,还有显示时间的类和医生类)。
二、我们可以在此基础之上设立一个医院病人看病场景的操作界面。
三、.我们建立了病人查询各项看病信息的子场景,医生修改病情并且查询病人各项信息的子场景以及医院管理员对病人挂号,注销的子场景。
四、我们通过主函数对个子系统的调用来实现一个医院病人看病场景。
实现对病人的姓名,年龄,身份证号码,挂号号码,密码,病情,看病所用费用等多项信息进行储存并且显示病人各项信息的功能。
首先我们设定了一个基类就是person类,在这个类里面我们定义了两个成员变量,他们分别是姓名以及年龄,然后在public部分,我们设定了一个构造函数也就是person()函数以及析构函数~person()函数,同时也定义了setname(),setage(),getname(),getname()四个成员函数来进行对两个成员变量进行赋值并且调用返回病人的姓名以及病人的年龄等各项基本信息。
然后我们在person的基础上派生出来了一个patient类,patient中主要有五个成员变量,他们分别是del(删除标志),id(病人挂号),password(病人查询信息登陆密码),number(病人身份证号码),bingqing(病人病情变量),money(病人看病所用钱变量)。
同理,在派生类中我们设定了对成员变量进行赋值的成员函数以及设定了分别返回病人各项信心的函数,他们分别是setdel(),setid(),setpassword(),setnumber(),setbingqing(),setmoney(),getdel(),getid(),g etpassword(),getnumber(),getbingqing()以及getmoney()函数)同时我们还在patient类中设定了disp(),用这个函数来显示病人的所有信息。
并且我们还设定了addacc()函数,这个函数主要用来当需要增加病人调用这个函数。
同时为了完善我们的医院病人看病场景,我们还设定了一个clock类(显示时间的类),这个类主要的功能就是当医生查询病人信息的时候会显示此时的时间,同样的,当病人查询自己的给各项信息的时候也会显示查询时刻的时间。
再次设定了yisheng()类医生类理包含的函数account(),
addacc(),clerk(),pass(),xinxi()还有record1(),record2(),record3()以及disp(),setid1()和getid1()函数。
在这个类里面的函数主要实现的功信息函数和修改密码的函数以及医生查询多有病人的看病信息函数和修改病人病情的函数。
以下是各个类之间的关系用图表表示如下:
基类,派生类以及其他类之间的关系图
基于以上各个类之间的关系,我们设定了类之间的关系。
person派生出来了patient类,然后patients与yisheng类之间用了类的联合。
最后我们设定了主函数main,实现了医院医生看病情景的模拟。
其中,各个函数之间的调用主要的图表如下:
程序主要是通过四个选择,1.病人,2管理员,3医生,0退出系统来实现医院病人看病情景的模拟。
这个情景主要是由三个子情景来完成的
各个子情景之间的关系结构图:
3.2 详细设计
/******************************************************************** 类名:person
私有成员:
char name[]; ---病人的姓名
int age; ---病人的年龄
公有成员:
person(){} ---构造函数
~person(){} ---析构函数
void setname(char na[]) //设置病人姓名
char *getname() //获取病人姓名
int getage() //获得病人年龄
void setage(int x) //设定病人年龄
功能:作为下面将要定义派生类的基类
实现步骤:
(1) 定义类名
(2) 声明私有成员
(3) 声明必需的函数作为公有成员,其中构造函数用分配存储空间
和对私有成员初始化
(4) 分别定义各成员函数
(5) 对类进行封装
********************************************************************/ 程序原代码:
略
/******************************************************************** 类名:patient
继承类型:公有继承
基类:
person
私有成员:
int del; //删除标记 1:已删 0:未删
char id[18]; //病人挂号
char password[12]; //挂号密码
char number[18]; //病人身份证号
char bingqing[100]; //病情描述
float money; //病人看病费用
int sure; //输入确认 1:确认 0:取消
公有成员:
patient(){}; ----构造函数,进行初始化以及分配内存
int getdel() //获取删除标记
char *getid() //获取病人挂号
char *getnumber() //获取病人身份证号
char *getpassword() //获取病人密码
float getmoney() //获取病人看病所用钱
char *getbingqing() //获取病人病情
vid setnumber(char nu[]) //设置病人身份证号
void setpassword(char a[]) //设置病人密码
void setbingqing(char bi[]) //病人病情写入
void setmoney(float m) //设置病人看病所花费的钱
void delacc() //设置删除标记
void addacc(char n[],char nam[],char num[],char np[],float mo,char bing[], int ag) //增加病人
void disp() //输出病人信息
~patient() //析构函数,释放内存
功能:对病人信息进行存储,处理和管理。
实现步骤:
(1)定义类名
(2)声明私有成员
(3)声明必需的函数作为公有成员,其中构造函数用分配存储空间和对私有成员初始化
(4)分别定义各成员函数
(5)对类进行封装
********************************************************************/ 程序原代码:
略
/******************************************************************** 类名:yisheng
私有成员:
int top; //病人记录指针
char id1[18];
char password[12];
int d;
char number[18];
float money;
patient acc[MAX];
共有成员:
yisheng() //构造函数,初始化对象以及分配空间
patient*record1(char id[]) //判断id号是否存在
patient *record2(char id[],char password[]) //按挂号和密码查找 patient *record3(char password[]) //判断密码时候正确
int addacc(char n[],char nam[],char num[],char np[],float mn,char bing[],int ag) //增加病人挂号
void disp() //输出所有病人信息
void setid1(char n[]) //设定id1
char *getid1() //获取id1
void pass() //密码安全输入
void accounts() //病人查询信息
void clerk(); //管理员挂号,销号
void xinxi(); //医生查询病人信息
功能:对病人挂号,销号,病人查询看病信息以及医生查询病人信息
实现步骤:
(1)定义类名
(2)声明私有成员
(3)声明必需的函数作为公有成员,其中构造函数用分配存储空间和对私有成员初始化
(4)分别定义各成员函数
(5)对类进行封装
********************************************************************/ 程序原代码:
略
/******************************************************************** 类名:clock
私有成员:
time_t t;
tm *local;
int nHour;
int nMinute;
int nSecond;
共有成员:
Clock(time_t pt=time(NULL)) //设定时间
功能:实现查询时时间的显示
实现步骤:
(1)定义类名
(2)声明私有成员
(3)声明必需的函数作为公有成员,其中构造函数用分配存储空间和对私有成员初始化
(4)分别定义各成员函数
(5)对类进行封装
********************************************************************/ 程序原代码:
略
/******************************************************************** 函数名称:accounts
函数类型:void
函数变量:
int choice=1;
char id[20];
char password[20];
int i,t=1;
patient*r;
switch循环语句的控制条件
所属类名称:yisheng
类的对象:accab
调用的子函数:patient *record2(char id[],char password[])
功能:进入病人通道,实现病人查询自己看病的信息(包括病人的姓名,年龄,病情,费用,序列号等有关病人的信息) 以及修改自己密码的功能。
实现步骤:
(1)定义函数名、函数的返回类型以及函数的参数。
(2)声明该函数中要用到的变量和需调用的子函数。
(3)输出相应的提示信息。
(4)在switch语句中输入自己的选择,进入病人通道,实现病人查询自己看病的信息(包括病人的姓名,年龄,病情,费用,序列号等有关病人的信息) 以及修改自己密码的功能。
********************************************************************/ 程序原代码:
略
/******************************************************************** 函数名称:clerk
函数类型:void
函数变量:
int choice=1;
char id[20];
char rname[10];
char number[18];
char bingqing[100];
int i,age,t=1;
patient *r;
float money;
调用的子函数:
addac()
delacc();
所属类名称:yisheng
类的对象:accd
功能:通过switch语句进入管理员通道,实现了对病人的挂号(登记病人的姓名,年龄等各项信息),同时当病人出院时实现对病人的销号的功能。
实现步骤:
(1)定义函数名、函数的返回类型以及函数的参数。
(2)声明该函数中要用到的变量和需调用的子函数。
(3)输出相应的提示信息。
(4)在switch语句中输入自己的选择,进入管理员通道,实现了对病人的挂号(登记病人的姓名,年龄等各项信息),同时当病人出院时实现对病人的销号的功能。
********************************************************************/ 程序原代码:
略
/******************************************************************** 函数名称:xinxi()
函数类型:void
函数变量:
int choice=1;
int i,t=1;
调用的子函数:
Clock *clock=new Clock();
getdel()
getid()
getname()
getage()
getbingqing()
setbingqing(x)
功能:通过switch语句进入医生通道,实现了对病人信息的查询(病人的姓名,年龄,病情等各项信息),同时对病人的病情进行修改。
实现步骤:
(1)定义函数名、函数的返回类型以及函数的参数。
(2)声明该函数中要用到的变量和需调用的子函数。
(3)输出相应的提示信息。
(4)通过switch语句进入医生通道,实现了对病人信息的查询(病人的姓名,年龄,病情等各项信息),同时对病人的病情进行修改。
********************************************************************/ 程序原代码:
略
/******************************************************************** 函数名称:main
函数类型:void
调用的函数:
accounts();clerk();xinxi(),kaishi(),tuichu()
功能:建立一个主函数,程序将由这里开始执行,最后也将在这里结束。
通过函数的调用实现该医院病人看病情景。
实现步骤:
(1)定义函数名,函数的参数和返回值类型。
(2)输出该医院病人看病情景的简介。
(3)调用相关的函数实现该医院病人看病情景的应用。
********************************************************************/ 程序原代码:
略
4 工程进度
我们组从2010年12月10日接到大作业任务,经过三天的商讨最终于月日确定设计总方案,在我们组三人的齐心协力之下终于与12月30日完成程序设计、调试、修改、运行及书写实验报等任务,共用时天。
整个工程的进度基本是在我们的掌控中,没有出现长时间的延迟和停滞现象,最终的程序和报告也达到了我们预期的效果。
下表就是我们组此次大作业工程进度一览表:
工程进度一览表
5 测试报告
5.1 阶段性测试
第一阶段测试:
在程序基本设计好的时候,我们对程序进行了一次比较系统的测试,对各个子系统的主要功能也进行了具体的数据测试,以确保程序的正确性。
同时也希望程序能够完成对病人、医生和管理员的具体信息的输入和输出,从而实现对病人看病就业的管理。
此次测试是在2010年12月25日进行的。
系统主界
图5-1
运行该程序,首先是进入此主界面。
该界面作为一个向导,指导人们该如何操作。
测试2号功能的实现
图5-2
通过系统主界面选择2,进入管理员系统,同样系统界面给出了提示操作的选择项,包括:1、挂号;2、销号;3、退出。
根据选择项,我们选择了以 1 号功能对系统进行了测试(因为1、2、3、4 号功能相似)。
测试结果如下图所示,依次输入病人的相关信息,包括病人的挂号序号、名字、年龄、身份证号码、挂号设置的密码、医药费和病情的介绍。
通过该系统就能实现对该病人的挂号信息进行统一存储。
图5-3
同时该挂号系统能够实现对多个病人挂号信息的输入及存储,下面的截图展示了输入第二个病人挂号信息的情况。
下面的截图展示的是3号功能的实现过程:
图5-6
测试3号功能的实现
图5-7
通过主系统界面选择3,就能进入该医生系统界面,在这个界面首先需要输入医生的密码,这样医生才能够进入下一个界面。
医生输入密码后,会出现选择服务内容的界面,包括:1、显示所有病人的信息;2、修改病人的病情;3、退出。
对于这三个功能,我们只选取1功能进行测试,即显示所有病人的信息。
测试结果如上图所示:
对于2功能,是重新对病人的病情进行修改,包括补充和更改错误信息。
对于3功能,是退出这个系统界面,运行结果如下:
图5-10
说明:系统主界面,当退出系统的时候就会显示欢迎下次使用界面,同时又出现系统开始的界面,以用于下一个需要进行服务的人。
测试1号功能的实现
图5-11
通过主系统界面选择1,就能进入该病人管理系统界面,在这个界面首先需要输入该病人的挂号序号和他设置的密码。
这样病人才能够进入下一个界面。
病人输入挂号序号和密码后,会出现该病人的挂号信息及他的病情和他的医药费。
运行结果如下所示:
图5-12
在各个界面都可能会出现输入错误的情况,对于这些情况,系统也会做出相应的反应,提示出错,要求从新输入。
图5-13
图5-14
5.2总体测试
经过前面几次阶段测试及改进之后,对程序已基本确定下来,为此,在2010年12月29号,我们对程序进行了最终的全面测试,测试结果比较满意,而且对于一些错误的输入都给出提示出错语句。
以下是总体测试的测试步骤:
进入医院病人看病情景界面图:
首先选择2管理员通道,出现三个选择就是挂号,销号以及推出。
选择1挂号。
输入信息如下:
挂号号:000000 姓名:李明年龄:23
密码:123456 身份证号:362429198915234686
病情:有点小感冒,发烧,咳嗽,并且头痛,四肢无力,有呕吐现象。
挂号号:000001 姓名:王二年龄:21
密码:123123 身份证号码:362429************
病情:手臂被划伤,有轻微的感染,并且有轻微的发烧。
以上的信息都是对病人的信息的读入,接下来就是病人对自己新的查询;病人选择1病人通道,在选择1查询功能:
输入自己的挂号:00000 输入自己的密码:123456
出现病人看病信息:
病人王二选择1病人通道,在选择1查询功能:
输入自己的挂号:000001 输入自己的密码:123123
出现王二看病的各项信息:
医生进入医院病人看病系统,选择3医生通道,输入自己的密码即可进入,有三个选择,分别是1显示所有病人信息2修改病人病情3退出系统。
选择1可以得到刚刚输入的李明以及王二的信息如下:
同时医生可以选择2对病人病情进行修改:
六个人小结:
一、彭武云的个人小结
学习了C语言、C++,对一个程序一个题目的编写也做过不少,可是真的要自己去做一个系统,还是没有足够的信心。
平常在做题的时候,题目中最会找到我们可以利用的信息和框架,所以做起来会比较容易,这次的系统却要自己亲自设计和构思,不管是从总体设计方案还是具体到每一个函数的设置,每一个功能的实现,都要靠我们组员一起协商策划完成。
这其中的过程现在想起来也还是蛮有意思和意义的。
对于这个病人看病就医系统的总体设计方案可是废了我们好大的精力绞尽脑汁才想出来的。
接下来的问题,如何展开设计,要用到哪些知识,如何把应用到的知识和实践结合起来等一系列问题都是我们需要解决的。
我们起初主要设置了三个类,person类、patient类和yisheng类,让patient来继承person,并派生出自己新的成员,yisheng 类主要是对patient的部分信息进行记录和更新。
新的问题又出现了,如何帮助病人挂号,建立属于自己在所在医院的信息库,通过分析,我们又决定建立一个clerk函数来实现这样以一个功能,除了可以帮病人挂号,还可以帮助病人销号。
为了进一步完善,我们又在此基础之上增加了一个clock类达到对病人的坐诊时间以详细记录,整个系统在此基础之上被我们进一步完善和改进。
最终写完整个实验报告的时候,一种成就感油然而生。
同时我要感谢我的c++老师杨教授,他治学严谨细致、一丝不苟的作风一直是我学习中的榜样;他的循循善诱的教导和不拘一格的思路给予我无尽的启迪。
再大作业的进程当中,杨教授都会定期检查我们的进度同时对我们存在的问题提出解答的方法,使得我们的大作业完成中顺利了很多。
当我们思路有歪曲的时候,杨教授及时给我们纠正,在类的设定上杨教授就给了我们很多的建议和意见,使得我们的大作业的类的设定更加的合理以及贴近事实生活。
在周末与杨教授学习讨论课题的过程中我深切的感受到杨教授的耐心以及学识的渊博,平易近人的杨老师在教会我们做课题的同时也教会了我们如何去处理一些生活中的细节的事情,跟着杨教授学习c++的这半年的时间以及跟着杨教授周末课题讨论的这段日子里使得我受益良多,在此,我真诚的向杨教授说上一句:“杨教授,谢谢你一路以来的指导和教诲”!
对于此次大作业,给我的整体感受是很棘手,这不仅是对我们的平时所学知识的考验,更是要求我们具有学以致用的能力。
平时的我对于这些东西就有些吃不消,更不要说自己去做一个系统了,那对于我来说简直是难于上青天。
不过,团队的力量是巨大的,在一个团队的合作之下,相信我们可以完成的很好。
同时的我既可以边学边实践,又可以自己亲身体验到系统的设计之中。
从一开始的找资料,确定总体的设计方案,到接下来一步一步具体的实现和系统的完善,都是经过我们集体讨论和确定的,虽然其中有过很多分歧,有过很多我们自己都搞不懂的地方,我们还是给耐心的坚持下来了。
书本上的知识可能远远不能满足我们的需求,我们必须自己去课外自学。
比如说我们想给我们的界面增加复杂度和美感,按照实现的功能的不同,我们可以切换颜色,这就是我们平时所没有应用过的。
为了解决这个问题,我们必须要自己去找资料,向老师或学长求教。
还有用一个clock类的设置,为了使功能更加齐全,得到的结果更加准确,我们就增加了一个clock来满足这一要求。
虽然其中的过程是艰难的,可是结果却很让我们欣喜不已。
当然在这次的大作业的过程中,我也学到了很多自己以前不懂的知识,对C++的热爱更是上了一个台阶,也让我更加意识到学习的重要性和团队合作精神的必要性。
同时,情景大报告的编写过程中老师的悉心指导。
杨教授多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。
杨教授一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时三载,却给以终生受益无穷之道。
对杨教授的感激之情是无法用言语表达的。
学习了一个学期的c++了,在学期快结束的时候按照惯例是要求做c++大作业,在老师告诉了我们有哪些情境之后,我们三个迅速组队,并选好了我们想做的情境。
后来因为老师统一安排,我们的作业情境是医院看病就诊情境,接到题目后我们就开始了准备,按照老师要求,要求要有多态、继承以及文件的使用,所以我们首先确定了大概的完成顺序。
首先我们要考虑要构造哪些类,每个类所要实现的大致功能,每个类设置哪些属性,如何设置这些类的接口,设计好要对相应的项进行的处理,这些是必须在编程之前要考虑好,并要画好方案设计图,将整体思想图纸化。
这样我们在后来的编程中才不至于混乱,不知道做完这步不知下步该怎么走。
在编程过程中,按照要求,最重要的有两点:第一点是类的继承,先构造一个person的基类,在此基础上派生出两个类。
第二点是使用类数组存储人员信息。
在整个编程中考虑最多的是文件的存文本问题,这也是整个程序的关键之一。
如何将内存中放在类数组中的人员信息通过各种文件处理函数导出到磁盘文件中保存,以及如何从磁盘文件中将信息调用相应处理函数导入到内存中进行各种处理成为本程序考虑的重点。
我们的程序的编写完成的比较早,但对于文件的使用我们学习了好久,也尝试了好久也没用,后来实在没办法就只好将信息存储在内存中,在最后一次展示中,老师也发现了没文件的使用,同时也要求加上,我们最后又是试了好多次,还去请教了好几个学长,
最终也未能实现这个文件的使用。
对此,我们三个也很是无奈。
在做这个作业的过程中我们也发现了不少不足之处,有对知识理解不深的地方,如变量在开始使用时出现了较大问题。
还有一点就是如何始终保持编程时整个思路的清析,不致出现混乱而影响工程进度。
在整个大作业的实施过程中,我们小组成员间互相协作,合力安排好各自的工作部分,才保证了此次作业的顺利完成。
通过这次c++大作业,我发现学习C++语言的初期重点要放在掌握语言的语法和规定上,一定要养成良好的编程习惯,平时写程序注意语法规范格式控制,格式规范了,出了错误也容易找到出错的地方。
后期的重点要转移到掌握编程的思路和基本算法上来,要能够分解题目的意图,知道要哪些要求。
情景大作业是在我的老师杨教授的亲切关怀和悉心指导下完成的。
他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。
从情景的选定以及情景大作业的编写完成,杨教授都始终给予我细心的指导和不懈的支持。
半年多来,杨教授不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向杨教授致以诚挚的谢意和崇高的敬意。
附录一
参考文献
【1】Bjarne Stroustrup. C++程序设计语言. 高度教育出版社. 1997
【2】钱能. C++程序设计教程. 清华大学出版设. 2005
【3】张国峰等. C++程序设计实用教程. 清华大学出版社. 1996
【4】郑莉等. C++语言程序设计. 清华大学出版社。