安卓版的c++日历程序代码
std::cout << std::setw(25) << year << " 年 " << month << " 月" << std::endl;std::cout << “日 一 二 三 四 五 六” << std::endl;if (month == 2) {// 二月。std::cout << "请输入年份: ";std::cout << "请输入月份: ";return 29;retur
#include
#include
// 计算指定年份指定月份的天数
int daysInMonth(int year, int month) {
if (month == 2) { // 二月
if ((year % 4 == 0 && year % 100!= 0) || year % 400 == 0) {
return 29; // 闰年
} else {
return 28; // 平年
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
return 30; // 小月
} else {
return 31; // 大月
}
}
// 打印日历
void printCalendar(int year, int month) {
std::cout << std::setw(25) << year << " 年 " << month << " 月" << std::endl;
std::cout << “日 一 二 三 四 五 六” << std::endl;
int dayOfWeek = 1; // 1 表示星期一
// 计算指定年月第一天是星期几
int firstDayOfMonth = 0;
int totalDaysFrom1900 = 0;
for (int y = 1900; y < year; y++) {
for (int m = 1; m <= 12; m++) {
totalDaysFrom1900 += daysInMonth(y, m);
}
}
for (int m = 1; m < month; m++) {
totalDaysFrom1900 += daysInMonth(year, m);
}
firstDayOfMonth = (totalDaysFrom1900 + 1) % 7;
// 打印空格,直到第一天的位置
for (int i = 0; i < firstDayOfMonth; i++) {
std::cout << " ";
}
int days = daysInMonth(year, month);
for (int day = 1; day <= days; day++) {
std::cout << std::setw(3) << day;
if ((day + firstDayOfMonth) % 7 == 0) {
std::cout << std::endl;
}
}
std::cout << std::endl;
}
int main() {
int year, month;
std::cout << "请输入年份: ";
std::cin >> year;
std::cout << "请输入月份: ";
std::cin >> month;
printCalendar(year, month);
return 0;
}
更多推荐
所有评论(0)