C语言 1道关于结构体的题

C语言 1道关于结构体的题

问题描述:

十八、生日祝贺 某企业有为员工祝贺生日的传统,但随着企业规模的扩大,员工人数的增多,要求输入生日(月、日),系统查找出指定日期过生日的员工。 要求用文件保存员工数据,对输入的员工数据做合理性检查。例如,员工的工号不能重复、生日数据的年、月、日必须在合理范围内。

员工需要有哪些属性呢?工号,生日,名字,还有啥

typedef struct _WORKER
{
    int nid;
    int year;
    int month;
    int day;
    char name[20];
}WORKER;

WORKER workers[100];
int n = 0;

void findworker(int month,int day,WORKER worker[],int &num)
{
  num = 0;
  for(int i=0;i<n;i++)
  {
    if(workers[i].month == month && workers[i].day == day)
      worker[num++] = workers[i];
  }
}

bool findid(int id)
{
  for(int i=0;i<n;i++)
    if(workers[i].nid == id)
      return true;
  return false;
}

void addworker()
{
  printf("请输入员工信息:");
  scanf("%d %d %d %d %s",&workers[n].nid,&workers[n].year,&workers[n].month,&workers[n].day,workers[n].name);
  if(findid(workers[n].nid)
  {
    printf("id已经存在。\n");
    return;
  }
  //这里增加其它有效性检查
  n++;
}

void showmenu();

void readdata();

void savedata();

int main()
{
  //暂停,现在没时间写了......
}