问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作 者:陈文青
*完成日期:2014年11月11日
*版 本 号:v1.0
*
*问题描述:定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。
要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果。
*程序输入:三个整数year,month,day;分别表示年月日
*程序输出:一个整数days表示当前天数
*/
#include<iostream>
using namespace std;
int days(int y, int m, int d); //声明自定义函数,用于求当前天数
int main()
{
int year, month, day;
cout<<"输入年 月 日"<<endl;
cin>>year>>month>>day;
cout<<"这事该年的第"<<days(year, month, day)<<"天。"<<endl;
return 0;
}
int days(int y, int m, int d) //定义自定义函数
{
int n,x=0;
for(n=1; n<=m; ++n)
{
switch(n)
{
case 1:
break;
case 2:
x+=31;
break;
case 3: //二月份的特殊性
{
if((y%4==0&&y%100!=0)||y%400==0)
x+=29;
else
x+=28;
break;
}
case 4:
x+=31;
break;
case 5:
x+=30;
break;
case 6:
x+=31;
break;
case 7:
x+=30;
break;
case 8:
x+=31;
break;
case 9:
x+=31;
break;
case 10:
x+=30;
break;
case 11:
x+=31;
break;
case 12:
x+=30;
}
}
d=x+d;
return d;
}
运行结果:
知识点总结:
运用for语句 ,switch语句,自定义函数 解决生活问题。
学习心得:
充分熟悉,掌握,利用好自定义函数以及各种基本结构。体会编程的乐趣。