//定义一个结构体变量(包括年、月、日),编写程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。注意闰年问题。
//基本思想:把当月的天数与当月之前的所有天数加起来,注意闰年与非闰年的区别
#include<iostream>
using namespace std;
struct Date
{
int year;
int month;
int date;
};
//全都写主函数里了,读者可以自行另写函数来模块化管理。
int main()
{
struct Date A;
int day;
cout << "请输入年份" << endl; //提示输入
cin >> A.year;
cout << "请输入月份" << endl;
cin >> A.month;
cout << "请输入号数" << endl;
cin >> A.date;
cout << endl;
//闰年判断思想:该年可以整除4并且不能被100整除,或者该年可以整除4又可以被400整除
if(A.year % 4 == 0 && A.year % 100 != 0 || A.year % 4 == 0 && A.year % 400 == 0) //是闰年 2月有29天
{
cout << "此时为该年中的第"; //与下面的内容信息相接
switch(A.month)
{
case 1:
day = A.date; //一月之前没有月份,故直接是号数,下同
cout << day; break;
case 2:
day = 31 + 0 + A.date; //一月大有31天
cout << day; break;
case 3:
day = 31 + 29 + A.date;
cout << day; break;
case 4:
day = 62 + 29 + A.date;
cout << day; break;
case 5:
day = 63 + 58 + A.date;
cout << day; break;
case 6:
day = 94 + 58 + A.date;
cout << day; break;
case 7:
day = 152 + 30 + A.date;
cout << day; break;
case 8:
day = 182 + 31 + A.date;
cout << day; break;
case 9:
day = 213 + 31 + A.date;
cout << day; break;
case 10:
day = 213 + 61 + A.date;
cout << day; break;
case 11:
day = 274 + 31 + A.date;
cout << day; break;
case 12:
day = 305 + 30 + A.date;
cout << day; break;
}
cout << "天" << endl;
}
else //2月只有28天
{
cout << "该天为一年中的第";
switch(A.month)
{
case 1:
day = A.date;
cout << day; break;
case 2:
day = 31 + 0 + A.date;
cout << day; break;
case 3:
day = 31 + 28 + A.date;
cout << day; break;
case 4:
day = 62 + 28 + A.date;
cout << day; break;
case 5:
day = 62 + 58 + A.date;
cout << day; break;
case 6:
day = 93 + 58 + A.date;
cout << day; break;
case 7:
day = 151 + 30 + A.date;
cout << day; break;
case 8:
day = 181 + 31 + A.date;
cout << day; break;
case 9:
day = 212 + 31 + A.date;
cout << day; break;
case 10:
day = 212 + 61 + A.date;
cout << day; break;
case 11:
day = 273 + 31 + A.date;
cout << day; break;
case 12:
day = 304 + 30 + A.date;
cout << day; break;
}
cout << "天" << endl;
system("pause");
return 0;
}
}
定义一个结构体变量(包括年、月、日),编写程序,要求输入年、月、日,程序能判断该年是否为闰年。
于 2022-04-17 00:48:28 首次发布