C语言职工信息管理系统:添加职工信息函数
在这段代码中,采用了一个结构体数组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);
}
}
原文地址: https://www.cveoy.top/t/topic/fwWA 著作权归作者所有。请勿转载和采集!