第8周上机实践项目6——本月有几天?

时间:2022-08-25 08:07:01

问题及代码:

/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 10 月 17 日
* 版 本 号:v1.0
*
* 问题描述:编程序,输入年份和月份,输出本月有多少天。
* 输入描述:两个数,代表年份和月份。
* 程序输出:两个数,代表本月的天数。
*/
#include <iostream>

using namespace std;

int main()
{
int year,month,day;
cout <<"请输入年份:";
cin >>year;
cout <<"请输入月份:";
cin >>month;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
case 2:
if((year%4==0 && year%100!=0)||year%400==0)
day=29;
else
day=28;
break;
}
cout <<"本月有"<<day<<"天"<<endl;
return 0;
}


运行结果:第8周上机实践项目6——本月有几天?

                    第8周上机实践项目6——本月有几天?

学习感悟:一开始的构思出了问题,因为不仅要分闰年和不是闰年,二月日数,上下半年月数的区分等等,需要进行复杂的分类,而我一直极力避免代码重复的程序。直到看了一位前辈的编程,才发现switch语句中的case句可以合并,所以才能想出这个程序。编程不是一个人的事,也需要知识一点一滴的积累。