肥宅自学平台_人人成为技术开发者

肥宅人只等待您,联系我们吧,曾经的巅峰是否能回来?我们正在用心服务!

C++如何创建cpp写的一个双列展示的日历

 更新时间:2023-12-24 11:11:34   作者:肥宅-季波   我要评论(0)  

         以下是使用C++编写的双列展示日历的示例代码:
  1. #include <iostream>
  2. #include <iomanip>
  3. // 获取某个月的总天数
  4. int getMonthDays(int year, int month) {
  5.     int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  6.     // 对于闰年的二月,天数为29
  7.     if (month == 2 && (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))) {
  8.         return 29;
  9.     }
  10.     return days[month - 1];
  11. }
  12. // 获取某个月的第一天是星期几
  13. int getFirstDayOfWeek(int year, int month) {
  14.     // Zeller's Congruence算法
  15.     if (month < 3) {
  16.         month += 12;
  17.         year--;
  18.     }
  19.     int c = year / 100;
  20.     int y = year - c * 100;
  21.     int m = month;
  22.     int d = 1;
  23.     int w = (y + y/4 + c/4 - 2*c + 26*(m+1)/10 + d - 1) % 7;
  24.     if (w < 0) {
  25.         w += 7;
  26.     }
  27.     return w;
  28. }
  29. // 打印日历
  30. void printCalendar(int year, int month) {
  31.     // 获取该月的总天数
  32.     int days = getMonthDays(year, month);
  33.     // 获取该月的第一天是星期几
  34.     int firstDayOfWeek = getFirstDayOfWeek(year, month);
  35.     std::cout << std::setw(12) << " " << year << "年" << month << "月" << std::endl;
  36.     std::cout << "日 一 二 三 四 五 六" << std::endl;
  37.     // 打印第一行的空格
  38.     for (int i = 0; i < firstDayOfWeek; i++) {
  39.         std::cout << "   ";
  40.     }
  41.     // 打印日历内容
  42.     for (int i = 1; i <= days; i++) {
  43.         std::cout << std::setw(2) << i << " ";
  44.         if ((firstDayOfWeek + i) % 7 == 0) {
  45.             std::cout << std::endl;
  46.         }
  47.     }
  48.     std::cout << std::endl;
  49. }
  50. int main() {
  51.     int year, month;
  52.     std::cout << "请输入年份和月份(用空格分隔):";
  53.     std::cin >> year >> month;
  54.     printCalendar(year, month);
  55.     return 0;
  56. }
你可以根据需要调用 printCalendar() 函数来打印指定年份和月份的日历。该函数会以两列表示月份的日历,并按照星期几进行对齐显示。
"小礼物走一走,来肥宅自学平台支持我"
评论区

评论

共条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
客服中心在线客服
全心全意为平台用户服务
Copyright © 2017-2023 自学平台网站地图:去查看>
  • 肥宅人自己的自学平台
  • 人人都能成为平台讲师
  • 贡献你的力量壮大肥宅自学平台
  • 将自己的能力变现
  • 实现人生的第二职业
网址收藏平台安卓APP
微信公众号微信公众号

本站部分图片或者资源来自程序自动采集或卖家(商家)发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

肥宅自学教程网是一个主打IT视频教程、自媒体运行、摄影剪辑等内容的资源学习交流平台。