C++:定义一个结构体变量(包罗年、月、日),编写程序,要求输入年月日, ...

打印 上一主题 下一主题

主题 965|帖子 965|积分 2895

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输出样例如图所示:

代码如下:
  1. #include<iostream>
  2. using namespace std;
  3. struct date
  4. {
  5.     int year, month, day;
  6. };
  7. int main()
  8. {
  9.     int year, month, day;
  10.     int sum = 0;
  11.     cout << "请分别输入年月日:";
  12.     cin >> year >> month >> day;
  13.     cout << endl;
  14.     struct date d;
  15.     d.year = year;
  16.     d.month = month;
  17.     d.day = day;
  18.     if (d.month == 1)
  19.         cout << d.day;
  20.     else
  21.     {
  22.         for (int i = 1; i < d.month; i++)
  23.         {
  24.             switch (i)
  25.             {
  26.             case 1:case 3:case 5:case 7:case 8:case 10:case 12:
  27.                 sum += 31;
  28.                 break;
  29.             case 4:case 6:case 9:case 11:
  30.                 sum += 30;
  31.                 break;
  32.             case 2:sum += 28;
  33.             }
  34.         }
  35.         sum += d.day;
  36.         if ((d.year % 4 == 0 && d.year % 100 != 0) || (d.year % 400 == 0))
  37.         {
  38.             if (d.month > 2) {
  39.                 sum += 1;
  40.             }
  41.         }
  42.         cout << "这一天是本年的第  " << sum << "  天" << endl;
  43.     }
  44.     return 0;
  45. }
复制代码
 解释如下:
   

  • 定义了一个名为date的结构体,其中包含三个整型成员变量year(年)、month(月)和day(日),用于存储日期信息。
  • 在主函数中定义了三个整型变量year、month和day,用于接收用户输入的年、月、日信息。整型变量sum并初始化为 0,用于累加该日期是该年的第几天。
  • 如果输入的月份是 1 月,直接输出该月的天数(即d.day)。
  • 若输入的月份不是 1 月,利用for循环遍历从 1 到d.month - 1的所有月份。
  • 在switch语句中,根据不同的月份,将对应月份的天数累加到sum中:
                  1、3、5、7、8、10、12 月有 31 天。
                  4、6、9、11 月有 30 天。
                  2 月默认按 28 天计算。
  其中对于闰年:
          判断输入的年份是否为闰年,闰年的判断条件是:能被 4 整除但不能被 100 整除,或者能被         400 整除。
          若为闰年且输入的月份大于 2 月,说明 2 月有 29 天,将sum加 1。
  

  • 循环竣事后,将输入的日期d.day累加到sum中。
  觉得有资助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交换
友友们一起加油叭QAQ

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表