⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 医疗信息管理系统.c

📁 一种C语言小型医疗系统
💻 C
📖 第 1 页 / 共 2 页
字号:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#define N 100
#define KEY 111111                                          /*密码*/

typedef struct
{
	int num;
	char name[20];
    char sex[5];
	int age;
	char ID[20];
    char cellphone[14];
	long int time;
}student;

void mainmenu();
void managermenu(student *a,int *n);
void vistormenu(student *a,int n);
void openfile(student *a,int *n);
void savefile(student *a,int n);
void add(student *a,int *n);
void delate(student *a,int *n);
void modify(student *a,int n);
void findall(student *a,int n);
void findone(student *a,int n);
void sort(student *a,int n);
void exitmenu();
void mainmenu2();
void managermenu2(student *a,int *n);
void vistormenu2(student *a,int n);
void openfile2(student *a,int *n);
void savefile2(student *a,int n);
void add2(student *a,int *n);
void delate2(student *a,int *n);
void modify2(student *a,int n);
void findall2(student *a,int n);
void findone2(student *a,int n);
void sort2(student *a,int n);
void exitmenu2();
void findall3(student *a,int n);
void findone3(student *a,int n);
void sort3(student *a,int n);
void findall4(student *a,int n);
void findone4(student *a,int n);
void sort4(student *a,int n);

static order;

void main()                                      
{
	char choice='\0';
	student a[N]={0};
	int n=0,m=0,language=0;
	openfile(a,&n);
	printf("what kind of language would you like to chose?\n");
	printf("for Chinese:1\n");
	printf("for English:2\n");
	scanf("%d",&language);
	if(language==2)
	{
	    do
		{
		    mainmenu();
		    scanf(" %c",&choice);
		    switch(choice)
			{
		    case '1': managermenu(a,&n);break;
		    case '2': vistormenu(a,n);break;
		    case '0': exitmenu();break;
		    default: printf("please input the right number again.");
			}
		}while(a);
	}
	if(language==1)
	{
        do
		{
		    mainmenu2();
		    scanf(" %c",&choice);
		    switch(choice)
			{
		    case '1': managermenu2(a,&n);break;
		    case '2': vistormenu2(a,n);break;
		    case '0': exitmenu2();break;
		    default: printf("请输入正确选项:");
			}
		}while(a);
	}

}

void mainmenu()                               /* 显示主菜单*/         
{
	system("cls");                            /*清屏*/
	printf("\n\n\n\n\n\n\n\n\n");
	printf("               ******************************************\n");
	printf("                  Medical Information Management System  \n");
	printf("               ******************************************\n");
	printf("                              1-manager entrance         \n");
	printf("                              2-vistor entrance          \n");
	printf("                              0-exit                     \n");
	printf("               ******************************************\n");
	printf("please input your choice(0-2): ");
}

void mainmenu2()                               /* 显示主菜单*/         
{
	system("cls");                            /*清屏*/
	printf("\n\n\n\n\n\n\n\n\n");
	printf("               ******************************************\n");
	printf("                           医疗信息管理系统              \n");
	printf("               ******************************************\n");
	printf("                              1-管理员入口               \n");
	printf("                              2-访问者入口               \n");
	printf("                              0-退出                     \n");
	printf("               ******************************************\n");
	printf("请输入选择(0-2): ");
}

void managermenu(student *a,int *n)
{
	char choice='\0',chose;                               /*管理员菜单*/
	int password;
    do                                                     
	{
	    printf("please input password(6 numbers): ");      /*验证密码*/
	    scanf("%d",&password);
	    if(password==KEY)
		{
			do
			{
				system("cls");
		        printf("\n\n\n\n\n\n\n\n");
		        printf("                *******************************\n");
		        printf("                     welcome to our system     \n");
		        printf("                *******************************\n");
		        printf("                       1-add record            \n");
		        printf("                       2-delate record         \n");
		        printf("                       3-modify record         \n");
	            printf("                       4-all the patients      \n");
		        printf("                       5-search for one        \n");
		        printf("                       6-sort of the score     \n");
		        printf("                       0-renturn mainmenu      \n");
	 	        printf("                *******************************\n");
			    printf("please input your choice: ");
			    scanf(" %c",&choice);
			    switch(choice)
				{
			    case '1': add(a,n);break;
			    case '2': delate(a,n);break;
			    case '3': modify(a,*n);break;
                case '4': findall(a,*n);break;
		        case '5': findone(a,*n);break;
		        case '6': sort(a,*n);break;
			    case '0': return;
			    default: printf("please input the the right number again.");
				}
			}while(a);
		}
	    if(password!=KEY)
		{
		    printf("you enter the wrong password.\n");
            printf("would you want to try again(y/n)?");
		    scanf(" %c",&chose);
		}
	}while(chose=='Y'||chose=='y');
}

void managermenu2(student *a,int *n)
{
	char choice='\0',chose;                               /*管理员菜单*/
	int password;
    do                                                     
	{
	    printf("请输入6位密码: ");      /*验证密码*/
	    scanf("%d",&password);
	    if(password==KEY)
		{
			do
			{
				system("cls");
		        printf("\n\n\n\n\n\n\n\n");
		        printf("                *******************************\n");
		        printf("                         欢迎光临本系统        \n");
		        printf("                *******************************\n");
		        printf("                       1-添加记录              \n");
		        printf("                       2-删除记录              \n");
		        printf("                       3-修改记录              \n");
	            printf("                       4-查找全部记录          \n");
		        printf("                       5-查找个人              \n");
		        printf("                       6-按预约时间排序        \n");
		        printf("                       0-返回主菜单            \n");
	 	        printf("                *******************************\n");
			    printf("请输入选择: ");
			    scanf(" %c",&choice);
			    switch(choice)
				{
			    case '1': add2(a,n);break;
			    case '2': delate2(a,n);break;
			    case '3': modify2(a,*n);break;
                case '4': findall2(a,*n);break;
		        case '5': findone2(a,*n);break;
		        case '6': sort2(a,*n);break;
			    case '0': return;
			    default: printf("请选择正确的选项.");
				}
			}while(a);
		}
	    if(password!=KEY)
		{
		    printf("密码输入错误.\n");
            printf("您想重新输入密码吗(y/n)?");
		    scanf(" %c",&chose);
		}
	}while(chose=='Y'||chose=='y');
}


void vistormenu(student *a,int n)                                     /*访问者菜单*/
{
	char choice='\0';
	do
	{
		system("cls");
		printf("\n\n\n\n\n\n\n\n");
		printf("                *******************************\n");
		printf("                     welcome to our system     \n");
		printf("                *******************************\n");
		printf("                      1-all the patients       \n");
		printf("                      2-search for one         \n");
		printf("                      3-sort of the time       \n");
		printf("                      0-return mainmenu        \n");
		printf("                *******************************\n");
        printf("please input your choice: ");
		scanf(" %c",&choice);
		switch(choice)
		{
		case '1': findall3(a,n);break;
		case '2': findone3(a,n);break;
		case '3': sort3(a,n);break;
		case '0':return;
		default: printf("please input the right number again.");
		}
	}while(a);
}

void vistormenu2(student *a,int n)                                     /*访问者菜单*/
{
	char choice='\0';
	do
	{
		system("cls");
		printf("\n\n\n\n\n\n\n\n");
		printf("                *******************************\n");
		printf("                       欢迎光临本系统          \n");
		printf("                *******************************\n");
		printf("                      1-全部记录               \n");
		printf("                      2-查找个人               \n");
		printf("                      3-预约时间排序           \n");
		printf("                      0-返回主菜单             \n");
		printf("                *******************************\n");
        printf("请输入选项:");
		scanf(" %c",&choice);
		switch(choice)
		{
		case '1': findall4(a,n);break;
		case '2': findone4(a,n);break;
		case '3': sort4(a,n);break;
		case '0':return;
		default: printf("请输入正确选项.");
		}
	}while(a);
}

void openfile(student *a,int *n)                            /*打开文件*/
{
	FILE *fp=NULL;
	int i=0,j=0;
	float temp=0;
	fp=fopen("date.txt","r");
	if(fp==NULL)                                            /*判断文件能否打开*/
	{
		printf("can't open the file");
		getch();
		exit(0);
	}
	fscanf(fp,"%d %s %d %s %s %s %ld",&a[i].num,a[i].name,&a[i].age,a[i].sex,a[i].ID,a[i].cellphone,&a[i].time);
	while(!feof(fp))
	{
		i++;
		fscanf(fp,"%d %s %d %s %s %s %ld",&a[i].num,a[i].name,&a[i].age,a[i].sex,a[i].ID,a[i].cellphone,&a[i].time);            /*将文件数据写入数组*/
	}
	*n=i;
	order=*n;
	fclose(fp);
}

void savefile(student *a,int n)                            /*保存修改数据*/
{
	FILE *fp=NULL;
	int i=0,j=0;
	fp=fopen("date.txt","w");
	if(fp==NULL)
	{
		printf("can't save file");
		getch();
		exit(0);
	}
	for(i=0;i<n;i++)
	{
		fprintf(fp,"%5d %10s",a[i].num,a[i].name);
		fprintf(fp,"%3d %5s %18s %11s %8d",a[i].age,a[i].sex,a[i].ID,a[i].cellphone,a[i].time);
		fprintf(fp,"\n");
	}
	fclose(fp);
	printf("you have saved successfully!");
}

void add(student *a,int *n)                                 /*添家学生数据*/
{
	char decide='\0',chose;
	float t0=0,t1=0;
	do
	{
		a[*n].num=++order;
		printf("please enter the name:");
		scanf("%s",a[*n].name);
		printf("please enter the sex:");
		scanf("%s",&a[*n].sex);
        printf("please enter the age:");
		scanf("%d",&a[*n].age);
		printf("please enter the ID number:");
		scanf("%s",a[*n].ID);
		printf("please enter the contact way:");
		scanf("%s",a[*n].cellphone);
		printf("please enter the time(according to 20080210):");
		scanf("%ld",&a[*n].time);
		*n=*n+1;
		printf("will you continue to add(y/n)? ");
		scanf(" %c",&decide);
	}while(decide=='Y'||decide=='y');
	findall(a,*n);
	printf("\n");
	printf("would you save your changing(y/n)?");
	scanf(" %c",&chose);
	if(chose=='y'||chose=='Y')
		savefile(a,*n);
	else printf("you will not save your changing.");
	printf("\n");
    printf("press any key to continue.");
	getch();                                                    /*按任意键退出*/
}

void add2(student *a,int *n)                                 /*添家学生数据*/
{
	char decide='\0',chose;
	float t0=0,t1=0;
	do
	{
		a[*n].num=++order;
		printf("请输入姓名:");
		scanf("%s",a[*n].name);
		printf("请输入性别:");
		scanf("%s",&a[*n].sex);
        printf("请输入年龄:");
		scanf("%d",&a[*n].age);
		printf("请输入身份证号:");
		scanf("%s",a[*n].ID);
		printf("请输入联系方式:");
		scanf("%s",a[*n].cellphone);
		printf("请输入预约时间(以以下格式20080210):");
		scanf("%ld",&a[*n].time);
		*n=*n+1;
		printf("您是否需要继续添加(y/n)? ");
		scanf(" %c",&decide);
	}while(decide=='Y'||decide=='y');
	findall2(a,*n);
	printf("\n");
	printf("您要保存修改的信息吗(y/n)?");
	scanf(" %c",&chose);
	if(chose=='y'||chose=='Y')
		savefile(a,*n);
	else printf("抱歉,无法保存.");
	printf("\n");
    printf("请按任意键继续.");
	getch();                                                    /*按任意键退出*/
}

void delate(student *a,int *n)                                  /*删除数据*/
{
	char decide='\0',chose;
	char str[10];
	int i=0,j=0;
	do
	{
		printf("please input the name to delate: ");
		scanf("%s",str);
		for(i=0;i<*n;i++)
			if(strcmp(a[i].name,str)==0)
			{
				for(j=i;j<*n-1;j++)
				{
					a[j]=a[j+1];
                    a[j].num--;
				}
				*n=*n-1;
				break;
			}
			if(i==*n)
				printf("there is no this person!\n");
		printf("will you continue to delete(y/n)?");
		scanf(" %c",&decide);
	}while(decide=='Y'||decide=='y');
	findall(a,*n);
	printf("\n");
    printf("would you save your changing(y/n)?");
	scanf(" %c",&chose);
	if(chose=='y'||chose=='Y')
		savefile(a,*n);
	else printf("you will not save your changing.");
	printf("\n");
    printf("press any key to continue.");
	getch();
}

void delate2(student *a,int *n)                                  /*删除数据*/
{
	char decide='\0',chose;
	char str[10];
	int i=0,j=0;
	do
	{
		printf("请输入删除的姓名: ");
		scanf("%s",str);
		for(i=0;i<*n;i++)
			if(strcmp(a[i].name,str)==0)
			{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -