//查询员工信息。首先定义结构体类型struct employee,然后定义一个结构体类型的数组emp[],且给这个数组赋值
//接着根据用户的提示输入想要查找的员工的姓名,在主函数中,根据员工的姓名利用strcmp函数与结构体类型中的
//name进行比较,如果相同,则将该数组输出
//如果没有找到,则显示没有找到的信息。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
/*定义员工结构体类型*/
struct employee
{
int num;
char name[20];
float salary;
};
/*定义search函数*/
/*
*文件名search
* 参数 *e struct employee类型数组
* *name 结构体类型中数组成员
*/
void search(struct employee* e, char* name)
{
/*定义整型数组变量,作为数组的索引*/
int i;
/*定义整型数组变量,作为结束标志*/
int count;
/*赋初值,数组索引的最小值*/
i = 0;
/*赋初值,数组元素的个数*/
count = 3;
/*循环*/
while (1)
{
/*比较用户的输入的信息与数组中的数据是否相同,如果相同则将信息输出*/
if (!strcmp(e[i].name, name))
{
/*输出员工的相关信息*/
printf("num:%d name:%s salary:%5.1f\n", e[i].num, e[i].name, e[i].salary);
/*跳出*/
break;
}
else
{
i++;/*否则,如果不相同,索引值加一*/
count--;/*数组个数减一,表示剩下没检索的数组元素的个数*/
if (count == 0)/*如果数组元素全部检索完*/
{
printf("没有找到!");
break;//跳出循环
}
}
}
}
int main()
{
/*声明结构体类型的数组变量emp,并赋值*/
struct employee emp[10] = {
{001,"张三",2000},
{002,"李四",2500},
{003,"王二",3000},
};
/*定义name变量*/
char name[20];
/*输出*/
printf("输出要查找的员工的姓名:\n");
/*输入员工的姓名*/
scanf("%s", name);
/*调用search函数*/
search(emp, name);
}