上机目的:复习
上机内容:19930812是1993的第几天
/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: date.cpp
* 作 者:刘玉金
* 完成日期:2013 年3月 11日
* 版本号: v1.0
* 输入描述:年月日
* 问题描述:输出对应的那一天是这一年的第几天
* 输出描述:第几天
*/
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
cout<<"input year,month,day:";
cin>>date.year>>date.month>>date.day;
int days;
int i;
//月份处理
int x=0,y=0; //为方便分类,需对x,y赋初值
switch(date.month)
{
case 1:
x=0,i=0;
break;
case 2:
x=1,i=0;
break;
case 3:
x=1;
break;
case 4:
x=2;
break;
case 5:
x=2,y=1;
break;
case 6:
x=3,y=1;
break;
case 7:
x=3,y=2;
break;
case 8:
x=4,y=2;
break;
case 9:
x=5,y=2;
break;
case 10:
x=5,y=3;
break;
case 11:
x=6,y=3;
break;
case 12:
x=6,y=4;
break;
}
//是否为闰年
if((date.year%4==0&&date.year%100!=0)||(date.year%400==0))
i=29;
else i=28;
days=31*x+30*y+i+date.day;
cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl;
return 0;
}
运行结果:
心得体会:一份耕耘一分收获
本文介绍了一个简单的C++程序,用于计算输入的年月日对应当年的第几天。通过结构体存储日期,并使用switch-case判断月份对应的天数,特别处理了闰年情况。
2万+

被折叠的 条评论
为什么被折叠?



