在这段代码中,采用了一个结构体数组em来存储职工信息。结构体em的每个元素表示一个职工的信息,包括编号、姓名、性别、出生年月、入职年月、学历、职务、住址和电话等。在添加职工信息时,会根据输入的编号判断是否已存在该职工,若存在则提示错误并询问是否继续输入。在显示职工信息时,会遍历结构体数组em并调用输出函数output来逐个输出职工信息。

void add()
{
	int i, flag;
	char c;
	read();
	do
	{
		flag = 0;
		printf("\n\n");
		printf("请输入职工的编号:");
		scanf("%s", &em[n].number);
		for (i = 0; i < n; i++)
		{
			if(strcmp(em[i].number, em[n].number) == 0)
			{
				flag = 1;
				break;
			}
		}
		if(flag)
		{
				printf("!!!该职工已存在!!!\n\n");
				printf("\t\t是否继续输入?(Y/N): ");
				scanf("%c", &c);
				if(c == 'N' || c == 'n')
					break;
				continue;
		}
		printf("请输入职工姓名:");
		 scanf("%s", &em[n].name);
		printf("请输入职工性别:");
		 scanf("%s", &em[n].sex);
		printf("请输入职工出生年月:");
		 scanf("%s", &em[n].birthday);
		printf("请输入职工入职年月:");
		 scanf("%s", &em[n].date);
		printf("请输入职工学历:");
		 scanf("%s", &em[n].degree);
		printf("请输入职工职务:");
		 scanf("%s", &em[n].position); 
		printf("请输入职工住址:");
		 scanf("%s", &em[n].add);
		printf("请输入职工电话:");
		 scanf("%s", &em[n].tel);
		printf("是否继续输入?(Y/N): ");
		 scanf("%*c%c", &c);
		n++;
	}while (c != 'N' && c != 'n'); 
	write();
	printf("\n\n数据已保存!\n\n");
}
       
//输出函数
  
void output(int t)
{
	printf("+--------+----+----+--------+--------+----+--------+----+------------+\n");
	printf("|职工编号|姓名|性别|出生年月|入职年月|学历|  职务  |地址|    电话    |\n");
	printf("+--------+----+----+--------+--------+----+--------+----+------------+\n");
	{
	printf("|%4s    |%3s|%3s |%7s |%7s |%4s|%6s  |%4s|%11s |\n", em[t].number, em[t].name,
			em[t].sex, em[t].birthday, em[t].date, em[t].degree, em[t].position, em[t].add, em[t].tel);
	}
}

//显示

void show()
{
	int i;
	read();
	if (n == 0)
		printf("无记录!\n\n");
	else
		for (i = 0; i < n; i++)
		{
			output(i);
		}
}
C语言职工信息管理系统:添加职工信息函数

原文地址: https://www.cveoy.top/t/topic/fwWA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录