#include <iostream>
#include <ctime>
int main() {
// Get the current date
time_t now = time(0);
tm *currentTime = localtime(&now);
int currentYear = currentTime->tm_year + 1900;
int currentMonth = currentTime->tm_mon + 1; // Months are 0-11
int currentDay = currentTime->tm_mday;
// Input birthdate
int birthYear, birthMonth, birthDay;
std::cout << "Enter your birth year (YYYY): ";
std::cin >> birthYear;
std::cout << "Enter your birth month (1-12): ";
std::cin >> birthMonth;
std::cout << "Enter your birth day (1-31): ";
std::cin >> birthDay;
// Calculate age
int age = currentYear - birthYear;
// Adjust age if the birthday hasn't occurred yet this year
if (currentMonth < birthMonth || (currentMonth == birthMonth && currentDay < birthDay)) {
age--;
}
// Output the result
std::cout << "You are " << age << " years old." << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+CgppbnQgbWFpbigpIHsKICAgIC8vIEdldCB0aGUgY3VycmVudCBkYXRlCiAgICB0aW1lX3Qgbm93ID0gdGltZSgwKTsKICAgIHRtICpjdXJyZW50VGltZSA9IGxvY2FsdGltZSgmbm93KTsKCiAgICBpbnQgY3VycmVudFllYXIgPSBjdXJyZW50VGltZS0+dG1feWVhciArIDE5MDA7CiAgICBpbnQgY3VycmVudE1vbnRoID0gY3VycmVudFRpbWUtPnRtX21vbiArIDE7IC8vIE1vbnRocyBhcmUgMC0xMQogICAgaW50IGN1cnJlbnREYXkgPSBjdXJyZW50VGltZS0+dG1fbWRheTsKCiAgICAvLyBJbnB1dCBiaXJ0aGRhdGUKICAgIGludCBiaXJ0aFllYXIsIGJpcnRoTW9udGgsIGJpcnRoRGF5OwogICAgc3RkOjpjb3V0IDw8ICJFbnRlciB5b3VyIGJpcnRoIHllYXIgKFlZWVkpOiAiOwogICAgc3RkOjpjaW4gPj4gYmlydGhZZWFyOwogICAgc3RkOjpjb3V0IDw8ICJFbnRlciB5b3VyIGJpcnRoIG1vbnRoICgxLTEyKTogIjsKICAgIHN0ZDo6Y2luID4+IGJpcnRoTW9udGg7CiAgICBzdGQ6OmNvdXQgPDwgIkVudGVyIHlvdXIgYmlydGggZGF5ICgxLTMxKTogIjsKICAgIHN0ZDo6Y2luID4+IGJpcnRoRGF5OwoKICAgIC8vIENhbGN1bGF0ZSBhZ2UKICAgIGludCBhZ2UgPSBjdXJyZW50WWVhciAtIGJpcnRoWWVhcjsKCiAgICAvLyBBZGp1c3QgYWdlIGlmIHRoZSBiaXJ0aGRheSBoYXNuJ3Qgb2NjdXJyZWQgeWV0IHRoaXMgeWVhcgogICAgaWYgKGN1cnJlbnRNb250aCA8IGJpcnRoTW9udGggfHwgKGN1cnJlbnRNb250aCA9PSBiaXJ0aE1vbnRoICYmIGN1cnJlbnREYXkgPCBiaXJ0aERheSkpIHsKICAgICAgICBhZ2UtLTsKICAgIH0KCiAgICAvLyBPdXRwdXQgdGhlIHJlc3VsdAogICAgc3RkOjpjb3V0IDw8ICJZb3UgYXJlICIgPDwgYWdlIDw8ICIgeWVhcnMgb2xkLiIgPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiAwOwp9Cg==