<pre name="code" class="cpp">/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:77.cpp
*作 者:董凯琦
*完成日期:2016年4月22日
*版 本 号:v1.0
*
*问题描述:定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出。
*输入描述:年月日
*程序输出:当年第几天
*/
#include <iostream>
using namespace std;
struct y_m_d //定义关于年月日的结构体
{
int year;
int month;
int day;
};
int is_runnian(int iyear)//判断该年是否为闰年
{
if((iyear%4==0&&iyear%100!=0)||(iyear%400==0))
return 1;
else
return 0;
}
int sday(int num,int iyear)//switch语句来确定各个月份的天数
{
switch(num)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
if(is_runnian(iyear))
return 29;
else
return 28;
}
return 0;
}
int days(y_m_d date)//计算该日份在今年是第几天
{
int i,s=0;
for(i=1;i<=date.month;i++)
s=s+sday(i,date.year);
return s;
}
int main()
{
y_m_d date;
int days(y_m_d);
int day_sum;
cin>>date.year>>date.month>>date.day;//输入年月日
day_sum=days(date);
cout<<day_sum<<endl;
return 0;
}
C/C++复习:计算该日是该年的第几天(结构体)
最新推荐文章于 2024-08-05 15:14:24 发布