诊所信息管理系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
using namespace std;
class person //人类
{
public:
person() {}
~person() {} //析构函数,释放资源protected:
string name;
char sex;
int age;
double office_vist_fee; //诊费
};
class doctor:public person //医生类{
private:
char speicialty[15]; //专业说明
public:
doctor() {}
void input() //增加医生信息
{
char t;
cout<<"*****主治医生基本信息*****"< //fstream outfile() 打开文件aa.txt,并建立链接,aa.txt是一个输出文件,接收从内存输出数据 //ios::out 以输出的方式打开文件 //ios::app 以输出的方式打开文件,写入的数据添加在文件末尾 fstream outfile("D:\\aa.txt",ios::out|ios::app); if(!outfile) cout<<"打开文件失败!"< else { cout<<"姓名"; cin>>name; outfile< cout<<"性别:"; cin>>sex; if(sex=='m'||sex=='M') outfile<<"男"<<" "; else if(sex=='f'||sex=='F') outfile<<"女"<<" "; else { cout<<"请重新输入性别:"; cin>>sex; if(sex=='m'||sex=='M') outfile<<"男"<<" "; else if(sex=='f'||sex=='F') outfile<<"女"<<" "; } cout<<"年龄:"; cin>>age; outfile< cout<<"诊费:"; cin>>office_vist_fee; //向磁盘文件aa.txt输入数据outfile< cout<<"专业说明:"; cin>>speicialty; outfile< outfile.close(); //关闭文件 } cout<<"是否继续添加医生信息Y/N......:"< cin>>t; if(t=='y') input(); //返回继续添加 else return ; } void zhangdanKind() //按姓名查询医生信息 { char t; //定义输入输出文件流,以输入的方式打开磁盘文件aa.txt fstream infile2("D:\\aa.txt",ios::in); //以读方式打开文件 if(!infile2) { cout<<"打开文件失败!"< return; } int line=0; string arr[100][100]; //定义一个string类型的二维数组, 用来保存文本内读取的信息 //char型初始化函数 memset(arr,0,sizeof(arr)); //将数组清空 //eof()函数到文件结尾可以返回true,而之前返回的均为false,while(true)->while(false),循环结束 while(!infile2.eof()) //文件不为空的条件设置 { infile2>>arr[line][0]>>arr[line][1]>>arr[line][2]>>arr[line][3]>>arr[lin e][4]; line++; } string na; cout<<"请输入要查询的医生姓名:"; cin>>na; for(int i=0;i { if(arr[i][0]==na) { cout<<"医生姓名:"< return; } } cout<<"记录中没有此医生信息!"< if(t=='y') zhangdanKind(); else return; } ~doctor() {} }; class HuanZhe:public person //患者类 { private: double drug_fee; //药费public: HuanZhe() {}