c++ 编程实现:输入一个包含年和月的日期(例如2022年1月),输出其上一个月的日期(例如2021年12月)。 (1)主函数功能:输入日期,调用子函数得到上一个月的日期,并输出。 (2)子函数功能:求输入日期的上一个月的日期, 子函数头要求定义为:void prevMonth(int *year, int *month) 。
时间: 2023-11-28 16:47:55 浏览: 95
以下是实现代码:
```c++
#include <iostream>
using namespace std;
void prevMonth(int *year, int *month) {
if (*month == 1) {
*year -= 1;
*month = 12;
} else {
*month -= 1;
}
}
int main() {
int year, month;
cout << "请输入年份和月份(例如:2022 1):" << endl;
cin >> year >> month;
prevMonth(&year, &month);
cout << "上一个月的日期为:" << year << "年" << month << "月" << endl;
return 0;
}
```
运行示例:
```
请输入年份和月份(例如:2022 1):
2022 1
上一个月的日期为:2021年12月
```
相关问题
c++编程实现:输入一个包含年和月的日期(例如2022年1月),输出其上一个月的日期(例如2021年12月)。 (1)主函数功能:输入日期,调用子函数得到上一个月的日期,并输出。 (2)子函数功能:求输入日期的上一个月的日期, 子函数头要求定义为:void prevMonth(int *year, int *month) 。
下面是使用 C++ 编写的代码实现:
```c++
#include <iostream>
using namespace std;
void prevMonth(int *year, int *month)
{
if (*month == 1) { // 如果是1月,年份需要减1,月份变为12月
*year -= 1;
*month = 12;
} else { // 否则月份减1
*month -= 1;
}
}
int main()
{
int year, month;
cout << "请输入日期(例如2022年1月):" << endl;
cin >> year >> month;
prevMonth(&year, &month); // 调用子函数
cout << "上一个月的日期为:" << year << "年" << month << "月" << endl;
return 0;
}
```
这个程序中,我们定义了一个名为 `prevMonth` 的子函数,用于求输入日期的上一个月的日期。这个函数的参数是两个指针,分别指向年份和月份变量的地址,因为我们需要在函数内部修改这两个变量的值。
在 `prevMonth` 函数内部,我们首先判断月份是否为1月,如果是的话,需要将年份减1,同时月份变为12月;否则,只需要将月份减1。
在主函数中,我们首先输入日期,并将年份和月份分别存储在变量 `year` 和 `month` 中。然后调用子函数 `prevMonth`,将 `year` 和 `month` 的地址作为参数传递给子函数。最后输出上一个月的日期。
编写一个程序,提示用户输入月份和年份,输出该月的天数。要求:编程语言使用C++.
以下是C++代码:
```c++
#include <iostream>
using namespace std;
int main()
{
int month, year;
cout << "请输入月份和年份(如:3 2022):" << endl;
cin >> month >> year;
int days;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
days = 29;
else
days = 28;
break;
default:
cout << "输入的月份有误!" << endl;
return 0;
}
cout << year << "年" << month << "月有" << days << "天。" << endl;
return 0;
}
```
程序的流程如下:
1. 提示用户输入月份和年份;
2. 读入用户输入的月份和年份;
3. 通过 switch 语句计算该月的天数,并将结果存储在变量 days 中;
4. 输出结果。
其中,通过 switch 语句计算该月的天数的逻辑如下:
1. 对于 1、3、5、7、8、10、12 月,天数为 31 天;
2. 对于 4、6、9、11 月,天数为 30 天;
3. 对于 2 月,如果该年是闰年,天数为 29 天;否则天数为 28 天。
注意,程序还添加了一些错误处理的逻辑,例如对于无效输入的月份,程序会输出错误提示信息并退出。