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()
{
//暂停,现在没时间写了......
}