第十一周项目5.1 今天是本年的第几天

来源:互联网 发布:山东网络电视台直播 编辑:程序博客网 时间:2024/05/22 06:07
/*Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:days.cpp*作    者:anGelovEr*完成日期:2014年11月10日*版 本 号:v1.0**问题描述:定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果。*程序输出:这一天为该年的第几天。*/#include <iostream>using namespace std;int days(int y, int m, int d);int main(){    int year, month, day,sum;    cout<<"输入年、月、日:"<<endl;    cin>>year>>month>>day;    sum=days(year, month, day);    cout<<"这是该年的第"<<sum<<"天。"<<endl;    return 0;}int days(int y, int m, int d){    int sum=0,n;    for(n=1; n<m; ++n)    {    if ((y%4==0&&y%100!=0)||y%400==0)        {            if(n==1||n==3||n==5||n==7||n==8||n==10||n==12)                sum+=31;            else if (n==2)                sum+=29;            else                sum+=30;        }        else        {            if(n==1||n==3||n==5||n==7||n==8||n==10||n==12)                sum+=31;            else if (n==2)                sum+=28;            else                sum+=30;        }    }    sum+=d;    return (sum);}

知识点总结:这个代码有个漏洞就是如果出现了2月30号等类似的问题程序识别不出来……

学习心得:switch代码固然好,但是太长了……还是循环一下比较省事……

0 0
原创粉丝点击