上机练习1-2 【题】编程实现下述功能:输入你的出生年份,推算你的年龄。 输出信息及格式如下: 水水水水水水水水水水水水水米水水米米水水水水水水水水水 #选英贾母数( 生致证中,获术输也司 姓名:*** 年龄:**
时间: 2024-12-03 10:10:12 浏览: 23
要编写一个简单的程序来计算用户的年龄,你可以使用C++的当前时间并减去他们的出生年份。以下是一个基础的示例代码:
```cpp
#include <iostream>
#include <ctime>
int main() {
// 获取当前时间
std::time_t now = std::time(0);
// 用户输入出生年份
int birth_year;
std::cout << "请输入你的出生年份: ";
std::cin >> birth_year;
// 计算年龄
int current_year = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
time_t t = mktime(&std::tm{0, 0, 0, 0, static_cast<int>(current_year % 100), current_year / 100, 0, 0, 0});
int age = now - t + birth_year; // 加上出生年份是因为我们刚刚获取的是今年的时间
// 格式化年龄并输出
if (age < 0) { // 如果是负数(可能因为闰年),年龄加一
age++;
}
std::cout << "姓名: ***\n";
std::cout << "年龄: " << age << std::endl;
return 0;
}
```
这个程序首先获取当前的年份,然后从用户那里得到出生年份。接着,它用当前年份减去出生年份,考虑到闰年的可能性(如果当前年份不是完整的100年,那么它不一定是闰年,除非它可以被400整除)。最后,输出姓名(这里使用了星号代替真实姓名)和计算得出的年龄。
如果你想要添加更多的装饰(如“水水”字符),你需要自己定义一个字符串数组或循环结构来生成这些字符的序列。不过,这已经超出了基本年龄计算的功能范围,你可以选择是否添加。
阅读全文