c++万年历
时间: 2023-06-29 19:19:27 浏览: 240
万年历C++课程设计
以下是 C++ 实现的简单万年历程序:
```cpp
#include <iostream>
using namespace std;
int main()
{
int year, month, daysInMonth, day = 1;
int dayOfWeek = 0; // 0 代表星期日,1 代表星期一,以此类推
cout << "请输入年份(yyyy):";
cin >> year;
cout << "请输入月份(1-12):";
cin >> month;
// 计算这个月有多少天
if (month == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
daysInMonth = 29;
} else {
daysInMonth = 28;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
daysInMonth = 30;
} else {
daysInMonth = 31;
}
// 计算这个月的第一天是星期几
dayOfWeek = (dayOfWeek + 1 + (year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400) % 7;
// 输出日历表头
cout << "-----------------------------" << endl;
cout << " " << year << "年" << month << "月" << endl;
cout << "-----------------------------" << endl;
cout << "日 一 二 三 四 五 六" << endl;
// 输出日期
for (int i = 1; i <= daysInMonth; i++) {
if (i == 1) {
for (int j = 0; j < dayOfWeek; j++) {
cout << " "; // 输出空格
}
}
cout << i << " ";
if ((dayOfWeek + i) % 7 == 0) {
cout << endl; // 换行
}
}
cout << endl;
return 0;
}
```
运行程序后,输入年份和月份,即可输出对应的万年历。
阅读全文