诊所信息管理系统C语言课程设计

诊所信息管理系统

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++写的
大概的框架就是这样的,只要把方法写全了就可以!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值