c语言 分别将出生日期以及员工信息定义为结构体数据类型,定义结构体变量,从键盘输入员工信息:姓名,性别和出生日期,计算员工 2023 年的年龄,并输出所有信息。
时间: 2023-08-13 10:04:22 浏览: 178
结构体变量(包括年、月、日),编程序,要求输入年月日,程序能计算并输出该日在本年中是第几天
以下是C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <time.h>
struct Employee {
char name[20];
char gender[6];
int birth_year;
int birth_month;
int birth_day;
};
int calculateAge(int birth_year, int birth_month, int birth_day) {
time_t now = time(NULL);
struct tm *t = localtime(&now);
int current_year = t->tm_year + 1900;
int current_month = t->tm_mon + 1;
int current_day = t->tm_mday;
int age = current_year - birth_year;
if (current_month < birth_month || (current_month == birth_month && current_day < birth_day)) {
age--;
}
return age;
}
int main() {
struct Employee emp;
printf("请输入员工姓名:\n");
scanf("%s", emp.name);
printf("请输入员工性别:\n");
scanf("%s", emp.gender);
printf("请输入员工出生年月日(格式为YYYY MM DD):\n");
scanf("%d %d %d", &emp.birth_year, &emp.birth_month, &emp.birth_day);
int age = calculateAge(emp.birth_year, emp.birth_month, emp.birth_day);
printf("员工姓名:%s\n", emp.name);
printf("员工性别:%s\n", emp.gender);
printf("员工出生日期:%d-%02d-%02d\n", emp.birth_year, emp.birth_month, emp.birth_day);
printf("员工2023年时的年龄:%d岁\n", age + 3);
return 0;
}
```
运行程序后,输入员工信息,即可输出员工姓名、性别、出生日期以及2023年时的年龄。
阅读全文