C语言员工信息管理系统:添加、显示、查询功能实现
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);
}
}
// 查询
void search()
{
int num, flag, i;
char a[10], name[10], degree[10], position[10], sex[10], birthday[10], date[10], add[10], tel[20];
char c;
read();
while (1)
{
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("| 7.按入职年月查询 |\n");
printf("| 8.按地址查询 |\n");
printf("| 9.按电话查询 |\n");
printf("| 输入其他任意键退出本模块 |\n");
printf("+---------------------------------+\n");
printf("请选择操作:");
scanf("%d", &num);
if (num < 1 || num > 9)
{
printf("!!!输入错误!!!\n\n");
system("cls"); // 清屏
}
if (num == 1)
{
printf("\n请输入您要查询的职工的编号:");
scanf("%s", &a);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].number, a) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 2)
{
printf("\n请输入您要查询的职工的姓名:");
scanf("%s", &name);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].name, name) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 3)
{
printf("\n请输入您要查询的职工的学历:");
scanf("%s", °ree);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].degree, degree) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 4)
{
printf("\n请输入您要查询的职工的职务:");
scanf("%s", &position);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].position, position) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 5)
{
printf("\n请输入您要查询的职工的性别:");
scanf("%s", &sex);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].sex, sex) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 6)
{
printf("\n请输入您要查询的职工的出生年月:");
scanf("%s", &birthday);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].birthday, birthday) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 7)
{
printf("\n请输入您要查询的职工的入职年月:");
scanf("%s", &date);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].date, date) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 8)
{
printf("\n请输入您要查询的职工的地址:");
scanf("%s", &add);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].add, add) == 0)
{
output(i);
flag = 1;
}
}
}
else if (num == 9)
{
printf("\n请输入您要查询的职工的电话:");
scanf("%s", &tel);
for (i = 0; i < n; i++)
{
if (strcmp(em[i].tel, tel) == 0)
{
output(i);
flag = 1;
}
}
}
if(!flag)
{
printf("\n\n!!!无该职工信息!!!\n\n");
}
printf("\n\n是否继续查询?(Y/N):");
scanf("%*c%c", &c);
if(c == 'N' || c == 'n')
break;
}
}
数据结构定义的结构体
```c
typedef struct
{
char number[10]; // 职工编号
char name[10]; // 姓名
char sex[10]; // 性别
char birthday[10]; // 出生年月
char date[10]; // 入职年月
char degree[10]; // 学历
char position[10]; // 职务
char add[10]; // 住址
char tel[20]; // 电话
} Employee;
Employee em[100]; // 职工信息数组
int n = 0; // 职工数量
原文地址: https://www.cveoy.top/t/topic/fwXr 著作权归作者所有。请勿转载和采集!