养老院管理系统——增删查改(C语言版)

养老院概况

​
void print_welecome()     //养老院概况 
{
	printf("******************************************************************************************************\n");
	printf("******************************************欢迎进入养老院管理系统**************************************\n");
	printf("温馨老年公寓简介:\n");
	printf("一、养老院概况\n");
	printf("温馨老年公寓是专供老年人集中居住,符合老年人体能心态特征的公寓式老年住宅。\n");
	printf("二、养老院特色\n");
	printf("温馨老年公寓的特色是让老年人感受到更多的快乐和幸福。不仅是满足健康生活需要,还注重满足老人的精神需求。\n");
	printf("******************************************************************************************************\n");
}

​

养老院面向对象

1.老人用户 

2.家属用户

3.护理员工

struct Eleder   //老人用户 
{
	char name[20];
	char sex[5];
	int year;
	int room_num;
	char telephone[20];
	char move_in_date[10];
	char emergency_name_call[20];
};
struct Family     //家属用户 
{
	char name[20];
	char sex[5];
	char telephone[20];
	char address[30];
};
struct Work     //护理员工 
{
	int number;
	char name[20];
	char sex[5];
	int year;
	char telephone[20];
	char address[30];
}; 

菜单

   

	    printf("菜单\n");
		printf("1.输入老人用户的信息\n");
		printf("2.输入家属用户的信息\n");
		printf("3.输入护理员工的信息\n");
		printf("4.显示老人用户的信息\n");
		printf("5.显示家属用户的信息\n");
		printf("6.显示护理员工的信息\n");
		printf("7.删除老人用户的信息\n");
		printf("8.删除家属用户的信息\n");
		printf("9.删除护理员工的信息\n");
		printf("10.查找老人用户的信息\n");
		printf("11.查找家属用户的信息\n");
		printf("12.查找护理员工的信息\n");
		printf("13.将老人用户的信息保存进文件中\n"); 
		printf("14.将家属用户的信息保存进文件中\n");
		printf("15.将护理员工的信息保存进文件中\n");

输入信息(只展示老人的信息输入,其他两个对象与老人的信息输入类似)

void input1(struct Eleder stu1[100],int i1)  //输入老人用户的信息 
{
	printf("请输入第%d个老人用户的姓名:\n",i1+1);
	scanf("%s",&stu1[i1].name);
	printf("请输入第%d个老人用户的性别:\n",i1+1);
	scanf("%s",&stu1[i1].sex);
	printf("请输入第%d个老人用户的年龄:\n",i1+1);
	scanf("%d",&stu1[i1].year);
	printf("请输入第%d个老人用户的房间号:\n",i1+1);
	scanf("%d",&stu1[i1].room_num);
	printf("请输入第%d个老人用户的电话:\n",i1+1);
	scanf("%s",&stu1[i1].telephone);
	printf("请输入第%d个老人用户的入住日期:\n",i1+1);
	scanf("%s",&stu1[i1].move_in_date);
	printf("请输入第%d个老人用户的紧急联系人的姓名和电话:\n",i1+1);
	scanf("%s",&stu1[i1].emergency_name_call);
}

显示信息

void output1(struct Eleder stu1[],int n1)   //显示老人用户的信息 
{
	int i1;
	for(i1=0;i1<n1;i1++)
	{
		printf("老人用户的信息为:\n");
		printf("%s %s %d %d %s %s %s\n",stu1[i1].name,stu1[i1].sex,stu1[i1].year,stu1[i1].room_num,stu1[i1].telephone,stu1[i1].move_in_date,stu1[i1].emergency_name_call);
	}
}

删除信息

void dele1(struct Eleder stu1[],char name1[],int n1)      //删除老人用户的信息 
{
	int end;
	end=search1(stu1,name1,n1);
	if(end==-1)
	{
		printf("查找失败\n");
	}	
	else
	{
		printf("要删除的老人用户%s为第%d个\n",stu1[end].name,end+1);
		for(int i=end;i<n1-1;i++)
		{
			stu1[i]=stu1[i+1];
		}
		printf("删除成功\n");
		output1(stu1,n1-1);
	}
}

输出某一个人的信息

void output_one1(struct Eleder stu1[],int j)   //输出某一个老人用户的信息 
{
	printf("老人用户的信息为:\n");
	printf("%s %s %d %d %s %s %s\n",stu1[j].name,stu1[j].sex,stu1[j].year,stu1[j].room_num,stu1[j].telephone,stu1[j].move_in_date,stu1[j].emergency_name_call);
}

查找信息

int search1(struct Eleder stu1[],char name1[],int n1)   //查找老人用户的信息 
{
	int p=0;
	for(int i=0;i<n1;i++)
	{
		if(strcmp(stu1[i].name,name1)==0)
		{
			p=i;
			return p;
		}
	}
	return -1;
}

保存在文件中

void keep1(struct Eleder stu1[],int n1)      //将老人用户的信息保存在文件中 
{
	FILE*fp;
	if((fp=fopen("D:\\CC\\老人用户的信息","w"))==NULL)
	{
		printf("此文件无法打开\n");
		exit(0);
	}
	for(int i=0;i<n1;i++)
	{
		fprintf(fp,"%s %s %d %d %s %s %s\n",stu1[i].name,stu1[i].sex,stu1[i].year,stu1[i].room_num,stu1[i].telephone,stu1[i].move_in_date,stu1[i].emergency_name_call);
	}
	fclose(fp);
}

总代码

#include<stdio.h>        //养老院管理系统 
#include<stdlib.h>
#include<string.h>
struct Eleder   //老人用户 
{
	char name[20];
	char sex[5];
	int year;
	int room_num;
	char telephone[20];
	char move_in_date[10];
	char emergency_name_call[20];
};
struct Family     //家属用户 
{
	char name[20];
	char sex[5];
	char telephone[20];
	char address[30];
};
struct Work     //护理员工 
{
	int number;
	char name[20];
	char sex[5];
	int year;
	char telephone[20];
	char address[30];
}; 
void print_welecome()     //养老院概况 
{
	printf("******************************************************************************************************\n");
	printf("******************************************欢迎进入养老院管理系统**************************************\n");
	printf("温馨老年公寓简介:\n");
	printf("一、养老院概况\n");
	printf("温馨老年公寓是专供老年人集中居住,符合老年人体能心态特征的公寓式老年住宅。\n");
	printf("二、养老院特色\n");
	printf("温馨老年公寓的特色是让老年人感受到更多的快乐和幸福。不仅是满足健康生活需要,还注重满足老人的精神需求。\n");
	printf("******************************************************************************************************\n");
}
void input1(struct Eleder stu1[100],int i1)  //输入老人用户的信息 
{
	printf("请输入第%d个老人用户的姓名:\n",i1+1);
	scanf("%s",&stu1[i1].name);
	printf("请输入第%d个老人用户的性别:\n",i1+1);
	scanf("%s",&stu1[i1].sex);
	printf("请输入第%d个老人用户的年龄:\n",i1+1);
	scanf("%d",&stu1[i1].year);
	printf("请输入第%d个老人用户的房间号:\n",i1+1);
	scanf("%d",&stu1[i1].room_num);
	printf("请输入第%d个老人用户的电话:\n",i1+1);
	scanf("%s",&stu1[i1].telephone);
	printf("请输入第%d个老人用户的入住日期:\n",i1+1);
	scanf("%s",&stu1[i1].move_in_date);
	printf("请输入第%d个老人用户的紧急联系人的姓名和电话:\n",i1+1);
	scanf("%s",&stu1[i1].emergency_name_call);
}
void input2(struct Family stu2[100],int i2)  //输入家属用户的信息 
{
	printf("请输入第%d个家属用户的姓名:\n",i2+1);
	scanf("%s",stu2[i2].name);
	printf("请输入第%d个家属用户的性别:\n",i2+1);
	scanf("%s",stu2[i2].sex);
	printf("请输入第%d个家属用户的电话:\n",i2+1);
	scanf("%s",stu2[i2].telephone);
	printf("请输入第%d个家属用户的家庭住址:\n",i2+1);
	scanf("%s",stu2[i2].address);
}
void input3(struct Work stu3[100],int i3)    //输入护理员工的信息 
{
	printf("请输入第%d个护理员工的工号:\n",i3+1);
	scanf("%d",&stu3[i3].number);
	printf("请输入第%d个护理员工的姓名:\n",i3+1);
	scanf("%s",&stu3[i3].name);
	printf("请输入第%d个护理员工的性别:\n",i3+1);
	scanf("%s",&stu3[i3].sex);
	printf("请输入第%d个护理员工的年龄:\n",i3+1);
	scanf("%d",&stu3[i3].year);
	printf("请输入第%d个护理员工的电话:\n",i3+1);
	scanf("%s",&stu3[i3].telephone);
	printf("请输入第%d个护理员工的家庭住址:\n",i3+1);
	scanf("%s",&stu3[i3].address);
}
void output1(struct Eleder stu1[],int n1)   //显示老人用户的信息 
{
	int i1;
	for(i1=0;i1<n1;i1++)
	{
		printf("老人用户的信息为:\n");
		printf("%s %s %d %d %s %s %s\n",stu1[i1].name,stu1[i1].sex,stu1[i1].year,stu1[i1].room_num,stu1[i1].telephone,stu1[i1].move_in_date,stu1[i1].emergency_name_call);
	}
}
void output2(struct Family stu2[],int n2)    //显示家属用户的信息 
{
	int i2;
	for(i2=0;i2<n2;i2++)
	{
		printf("家属用户的信息为:\n");
		printf("%s %s %s %s\n",stu2[i2].name,stu2[i2].sex,stu2[i2].telephone,stu2[i2].address);
	}
}
void output3(struct Work stu3[],int n3)     //显示护理员工的信息 
{
	int i3;
	for(i3=0;i3<n3;i3++)
	{
		printf("护理员工的信息为:\n");
		printf("%d %s %s %d %s %s\n",stu3[i3].number,stu3[i3].name,stu3[i3].sex,stu3[i3].year,stu3[i3].telephone,stu3[i3].address);
	}
}
void output_one1(struct Eleder stu1[],int j)   //输出某一个老人用户的信息 
{
	printf("老人用户的信息为:\n");
	printf("%s %s %d %d %s %s %s\n",stu1[j].name,stu1[j].sex,stu1[j].year,stu1[j].room_num,stu1[j].telephone,stu1[j].move_in_date,stu1[j].emergency_name_call);
}
void output_one2(struct Family stu2[],int i2)   //输出某一个家属用户的信息 
{
	printf("家属用户的信息为:\n");
	printf("%s %s %s %s\n",stu2[i2].name,stu2[i2].sex,stu2[i2].telephone,stu2[i2].address);
}
void output_one3(struct Work stu3[],int i3)    //输出某一个护理员工的信息 
{
	printf("护理员工的信息为:\n");
	printf("%d %s %s %d %s %s\n",stu3[i3].number,stu3[i3].name,stu3[i3].sex,stu3[i3].year,stu3[i3].telephone,stu3[i3].address);
}
int search1(struct Eleder stu1[],char name1[],int n1)   //查找老人用户的信息 
{
	int p=0;
	for(int i=0;i<n1;i++)
	{
		if(strcmp(stu1[i].name,name1)==0)
		{
			p=i;
			return p;
		}
	}
	return -1;
}
int search2(struct Family stu2[],char name2[],int n2)    //查找家属用户的信息 
{
	int p=0;
	for(int i=0;i<n2;i++)
	{
		if(strcmp(name2,stu2[i].name)==0)
		{
			p=i;
			return p;
		}
	}
	return -1;
}
int search3(struct Work stu3[],char name3[],int n3)     //查找护理员工的信息 
{
	int p=0;
	for(int i=0;i<n3;i++)
	{
		if(strcmp(name3,stu3[i].name)==0)
		{
			p=i;
			return p;
		}
	}
	return -1;
}
void dele1(struct Eleder stu1[],char name1[],int n1)      //删除老人用户的信息 
{
	int end;
	end=search1(stu1,name1,n1);
	if(end==-1)
	{
		printf("查找失败\n");
	}	
	else
	{
		printf("要删除的老人用户%s为第%d个\n",stu1[end].name,end+1);
		for(int i=end;i<n1-1;i++)
		{
			stu1[i]=stu1[i+1];
		}
		printf("删除成功\n");
		output1(stu1,n1-1);
	}
}
void dele2(struct Family stu2[],char name2[],int n2)    //删除家属用户的信息 
{
	int end;
	end=search2(stu2,name2,n2);
	if(end==-1)
	{
		printf("查找失败\n");
	}	
	else
	{
		printf("要删除的家属用户%s为第%d个\n",stu2[end].name,end+1);
		for(int i=end;i<n2-1;i++)
		{
			stu2[i]=stu2[i+1];
		}
		printf("删除成功\n");
		output2(stu2,n2-1);
	}
}
void dele3(struct Work stu3[],char name3[],int n3)      //删除护理员工的信息 
{
	int end;
	end=search3(stu3,name3,n3);
	if(end==-1)
	{
		printf("查找失败\n");
	}	
	else
	{
		printf("要删除的护理员工%s为第%d个\n",stu3[end].name,end+1);
		for(int i=end;i<n3-1;i++)
		{
			stu3[i]=stu3[i+1];
		}
		printf("删除成功\n");
		output3(stu3,n3-1);
	}
}
void keep1(struct Eleder stu1[],int n1)      //将老人用户的信息保存在文件中 
{
	FILE*fp;
	if((fp=fopen("D:\\CC\\老人用户的信息","w"))==NULL)
	{
		printf("此文件无法打开\n");
		exit(0);
	}
	for(int i=0;i<n1;i++)
	{
		fprintf(fp,"%s %s %d %d %s %s %s\n",stu1[i].name,stu1[i].sex,stu1[i].year,stu1[i].room_num,stu1[i].telephone,stu1[i].move_in_date,stu1[i].emergency_name_call);
	}
	fclose(fp);
}
void keep2(struct Family stu2[],int n2)      //将家属用户的信息保存在文件中 
{
	FILE*fp;
	if((fp=fopen("D:\\CC\\家属用户的信息","w"))==NULL)
	{
		printf("此文件无法打开\n");
		exit(0);
	}
	for(int i2=0;i2<n2;i2++)
	{
		fprintf(fp,"%s %s %s %s\n",stu2[i2].name,stu2[i2].sex,stu2[i2].telephone,stu2[i2].address);
	}
	fclose(fp);
}
void keep3(struct Work stu3[],int n3)     //将护理员工的信息保存在文件中 
{
	FILE*fp;
	if((fp=fopen("D:\\CC\\护理员工的信息","w"))==NULL)
	{
		printf("此文件无法打开\n");
		exit(0);
	}
	for(int i3=0;i3<n3;i3++)
	{
		fprintf(fp,"%d %s %s %d %s %s\n",stu3[i3].number,stu3[i3].name,stu3[i3].sex,stu3[i3].year,stu3[i3].telephone,stu3[i3].address);
	}
	fclose(fp);
}
void menu(struct Eleder stu1[100],struct Family stu2[100],struct Work stu3[100])   //菜单 
{
	int record1,record2,record3,number1=1,n1=0,n2=0,n3=0,number=0,num=1; 
	while(number1>=1)
	{
		printf("菜单\n");
		printf("1.输入老人用户的信息\n");
		printf("2.输入家属用户的信息\n");
		printf("3.输入护理员工的信息\n");
		printf("4.显示老人用户的信息\n");
		printf("5.显示家属用户的信息\n");
		printf("6.显示护理员工的信息\n");
		printf("7.删除老人用户的信息\n");
		printf("8.删除家属用户的信息\n");
		printf("9.删除护理员工的信息\n");
		printf("10.查找老人用户的信息\n");
		printf("11.查找家属用户的信息\n");
		printf("12.查找护理员工的信息\n");
		printf("13.将老人用户的信息保存进文件中\n"); 
		printf("14.将家属用户的信息保存进文件中\n");
		printf("15.将护理员工的信息保存进文件中\n");
		printf("请根据菜单输入信息:\n");
		scanf("%d",&number);
		switch(number)
		{
			case 1:                         //输入老人用户的信息 
				{
					system("cls");           //清屏 
					printf("请输入老人用户的个数(不多于%d个):\n",100-n1);
					scanf("%d",&record1);
					while(record1--)
					{
						input1(stu1,n1);
						n1++;
					}
					output1(stu1,n1);
					break;
				}
			case 2:                      //输入家属用户的信息 
				{
					system("cls");
					printf("请输入家属用户的个数(不多于%d个):\n",100-n2);
					scanf("%d",&record2);
					while(record2--)
					{
						input2(stu2,n2++);
					}
					output2(stu2,n2);
					break;
				}
			case 3:                        //输入护理员工的信息 
				{
					system("cls");
					printf("请输入护理员工的个数(不多于%d个):\n",100-n3);
					scanf("%d",&record3);
					while(record3--)
					{
						input3(stu3,n3++);
					}
					output3(stu3,n3);
					break;
				}
			case 4:                        //显示老人用户信息 
				{
					system("cls");
					output1(stu1,n1);
					break;	
				}	
			case 5:                      //显示家属用户的信息 
				{
					system("cls");
					output2(stu2,n2);
					break;	
				}
			case 6:                        //显示护理员工的信息 
				{
					system("cls");
					output3(stu3,n3);
					break;	
				}
			case 7:                          //删除老人用户的信息 
				{
					system("cls");
					char name1[20];
					printf("请输入您要删除的老人用户的姓名:\n");
					scanf("%s",name1);
					dele1(stu1,name1,n1);
					--n1; 
					system("cls");
					output1(stu1,n1);
					break;
				}
			case 8:                            //删除家属用户的信息 
				{
					system("cls");
					char name2[20];
					printf("请输入您要删除的家属用户的姓名:\n");
					scanf("%s",name2);
					dele2(stu2,name2,n2);
					--n2; 
					system("cls");
					output2(stu2,n2);
					break;
				}
			case 9:                            //删除护理员工的信息 
				{
					system("cls");
					char name3[20];
					printf("请输入您要删除的护理员工的姓名:\n");
					scanf("%s",name3);
					dele3(stu3,name3,n3);
					--n3; 
					system("cls");
					output3(stu3,n3);
					break; 
				} 
			case 10:                              //查找老人用户的信息 
				{
					system("cls");
					char name1[20];
					printf("请输入要查找的老人用户的姓名:\n");
					scanf("%s",name1);
					int end=search1(stu1,name1,n1);
					if(end==-1)
					{
						printf("查找失败\n");
					}
					else
					{
						printf("查找成功\n");
						output_one1(stu1,end);
					}
					break;
				}
			case 11:                             // 查找家属用户的信息 
				{
					system("cls");
					char name2[20];
					int end;
					printf("请输入要查找的家属用户的姓名:\n");
					scanf("%s",name2);
					end=search2(stu2,name2,n2);
					if(end==-1)
					{
						printf("查找失败\n");
					}
					else
					{
						printf("查找成功\n");
						output_one2(stu2,end);
					}
					break;
				}
			case 12:                           //查找护理员工的信息 
				{
					system("cls");
					char name3[20];
					int end;
					printf("请输入要查找的护理员工的姓名:\n");
					scanf("%s",name3);
					end=search3(stu3,name3,n3);
					if(end==-1)
					{
						printf("查找失败\n");
					}
					else
		            {
						printf("查找成功\n");
						output_one3(stu3,end);
					}
					break;
				}
			case 13:                                 //保存老人用户的文件 
				{
					system("cls");
					keep1(stu1,n1);
					break; 
				}
			case 14:                                //保存家属用户的信息 
				{
					system("cls");
					keep2(stu2,n2);
			        break;		
				}
			case 15:                              //保存护理员工的信息 
				{
					system("cls");
					keep3(stu3,n3);
					break;
				}		
		}
		printf("*****************************************\n");    //判断是否退出系统 
		printf("是否退出系统?\n");
		printf("如果退出系统,请按 0 ;否则请按 1 \n");
		scanf("%d",&num);
		if(num==0)
			break; 
		printf("*****************************************\n");
	}
}
int main()
{
	system("color F5");      //背景和字体颜色(F为白色背景,5为紫色字体) 
	struct Eleder stu1[100];     
	struct Family stu2[100]; 
	struct Work stu3[100];
	print_welecome();       //养老院概况 
	menu(stu1,stu2,stu3);    //菜单调用 
	return 0;
} 

易错点总结

1.scanf的后面不要习惯性写‘\n’

2.字符串比较要用strcmp函数,同时不要忘记#include<stdlib.h>

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【标题】"语音识别的一个matlab程序"是一个与语音处理和模式识别技术相关的项目,它使用MATLAB编程语言实现。MATLAB是MathWorks公司开发的一种数值计算和数据可视化环境,广泛应用于工程、科学和数学领域,尤其在信号处理和机器学习方面有很强的功能。 【描述】提到的"在一个网站看到,大家分享一下"表明这是一个社区共享的资源,可能来源于一个在线论坛或编程交流平台。这样的共享行为旨在促进技术交流和学习,让其他对语音识别感兴趣的用户能够参考、学习和改进代码。 【标签】"语音识别"是这个项目的关键词,意味着该程序涉及将人类语音转化为文本或命令的过程。语音识别技术的核心是将音频信号转换为可理解的数据,这通常包括预处理、特征提取、模型训练和匹配等步骤。 在提供的【压缩包子文件的文件名称列表】中,我们可以推断出这个MATLAB程序的组成部分: 1. `demo.m`:通常是演示脚本,用于展示程序的主要功能和用法,用户可以通过运行这个文件快速了解程序的工作原理。 2. `.p` 文件(melfb.p, mfcc.p, vqlbg.p, disteu.p, test.p, blockFrames.p, train.p):这些是MATLAB的编译函数文件,可能包含特定的算法实现,如梅尔频率倒谱系数(MFCC)提取、声学建模、距离计算、训练和测试等功能。例如: - `melfb.p` 可能实现了梅尔滤波器组,用于对语音信号进行频谱分析。 - `mfcc.p` 可能负责MFCC的计算,这是语音识别中常用的特征提取方法。 - `train.p` 和 `test.p` 可能分别对应模型的训练和测试过程。 3. `Read Me.txt`:通常包含关于如何使用、配置和运行程序的说明和指导。 4. `www.pudn.com.txt`:可能指向源文件的下载地址或发布者的信息,PUDN(太平洋下载网)是一个提供各类资源下载的网站。 这个MATLAB程序可能涵盖了语音识别的完整流程,包括预处理、特征提取、模型训练和评估。通过运行`demo.m`,用户可以体验整个识别过程,并可根据源代码深入了解语音识别的实现细节。对于学习和研究语音识别技术的人来说,这是一个宝贵的实践资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RuIYInG287

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值