诊所信息管理系统
1、问题描述
完成小型诊所的简单信息管理程序,掌握类的设计以及继承和派生的应用。
2、功能要求
设计人类(Person类)和医生类(Doctor类),在此基础上,通过增加患者和账单,使它们公用于表示一家诊所的信息管理。
(1)在一条医生记录中,包括医生的专业说明(specialty),如内科医生(surgeon)、儿科医生(pediatrician) 、产科医生(obstetrician)及全科医生(general practitioner)。
(2)Doctor记录还含有诊费(office_vist_fee)。
(3)在一条患者记录中,包括该患者产生的药费(drug_fee) ,患者的诊费(即医生的诊费)。
(4)在一条账单记录中,包括一条患者对象、该患者对应得主治医生、该患者产生的诊费和药费。
(5)应用程序能够显示出诊所中每个患者的信息和对应主治医生的信息。
(6)能够统计出所有患者的总费用。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
// score.cpp : Defin es the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "process.h"
#include "string.h"
#include "doctor.h" /*自定义头文件,内含自定义结构体和自定义函数声明*/
/*主程序*/
int main(int argc, char* argv[])
{
char menuid=' ';
while(menuid!='0'){
system("cls");
printf("=======诊所信息管理系统=======\n"); /*显示主菜单*/
printf("======== 主 菜 单 ========\n");
printf(" 1.病人信息管理\n");
printf(" 2.医生信息管理\n");
printf(" 3.药品账单信息管理\n");
printf(" 0.退出\n");
printf("==============================\n");
printf("请选择(0-3)\n");
menuid=getch(); /*获取按键*/
switch(menuid){
case '1': patientmanage(); break;
case '2': doctormanage(); break;
case '3': medicinemanage(); break;
case '0':return 0; /*0-退出系统*/
default:break;
}
}
return 0;
}
/*以下为自定义结构体*/
struct doctorinfo{ /*医生信息结构体*/
int doctorno; /*医生编号*/
char doctorname[50]; /*医生名称*/
char doctorprofession[10];/*医生专业*/
char doctorsex[10];/* 医生性别*/
};
struct patientinfo{ /*病人信息结构体*/
int patientno; /*病人编号*/
char patientname[30]; /*病人名称*/
char patientsex[10] ; /*病人性别*/
int patientage; /*病人年龄*/
};
struct medicineinfo{
int patientno; /*病人编号*/
int doctorno; /* 医生编号*/
char illness[100]; /* 症状*/
char medicines[100]; /*药方*/
int medicinefee; /*药费*/
int doctorfee; /*医生诊疗费*/
char date[100];
};
/*以下为自定义函数*/
int doctormanage(void);/*医生信息管理*/
int doctor_add(void);
int doctor_modify(void);
int doctor_delete(void);
int doctor_query(void);
int doctor_exists(int doctorno,struct doctorinfo *dinfo);/*用医生编号判断课程记录是否已经存在*/
void doctor_append(FILE *file, struct doctorinfo *dinfo);/*将一条医生记录写入文件,统一写入的格式*/
int patientmanage(void);/*病人信息管理*/
int patient_add(void);
int patient_modify(void);
int patient_delete(void);
int patient_query(void);
int patient_exists(int patientno,struct patientinfo *pinfo);/*用病人编号判断班级记录是否已经存在,返回记录号和记录内容*/
void patient_append(FILE *file, struct patientinfo *pinfo);/*将一条病人记录写入文件,统一写入的格式*/
int medicinemanage(void);/*药品账单信息管理*/
int medicine_add(void);
int medicine_modify(void);
int medicine_delete(void);
int medicine_query(void);
int medicine_statistics(void); /*统计账单数据*/
int medicine_exists(int patientno,int doctorno,struct medicineinfo *minfo);
void medicine_append(FILE *file, struct medicineinfo *minfo);
用dev-c++写的
大概的框架就是这样的,只要把方法写全了就可以!