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

时间:2022-08-25 08:06:43

问题及代码:

/*
 * 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句可以合并,所以才能想出这个程序。编程不是一个人的事,也需要知识一点一滴的积累。