C++自定義函數(shù)判斷某年某月某日是這一年中第幾天
本文實(shí)例講述了C++自定義函數(shù)判斷某年某月某日是這一年中第幾天的方法。分享給大家供大家參考,具體如下:
/*
* 作 者: 劉同賓
* 完成日期:2012 年 11 月 30 日
* 版 本 號(hào):v1.0
*
* 輸入描述:
* 問題描述:編寫函數(shù)判斷某年某月某日這一年中是第幾天,在主函數(shù)中調(diào)用該函數(shù)。
* 程序輸出:
* 問題分析:略
* 算法設(shè)計(jì):略
*/
#include<iostream>
using namespace std;
int main()
{
void f(int year,int month,int day);
int year,month,day;
cout<<"請(qǐng)輸入年月日:"<<endl;
f(year,month,day);
cout<<endl;
return 0;
}
//判斷輸入的年月日是這一年中的第幾天!
void f(int year,int month,int day)
{
int f1(int year,int month,int day);
int leap(int year);
int t=0,s=0,i;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //定義數(shù)組 各月的天數(shù)
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
while(1)
{
cin>>year>>month>>day;
if(f1(year,month,day))
{
if(leap(year))
{
for(i=0;i<=month-2;i++)
{
t=t+b[i];
}
s=t+day;
}
else
{
for(i=0;i<=month-2;i++)
{
t=t+a[i];
}
s=t+day;
}
cout<<"這是這一年的第"<<s<<"天!"<<endl;
break;
}
else
cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入:"<<endl;
}
}
//判斷是否為閏年!
int leap(int year)
{
if((year%4==0&&year%400==0)||(year&4==0&&year%100!=0))
{
return true;
}
else
return false;
}
//判斷輸入是否合法!
int f1(int year,int month,int day)
{
int days(int year,int month,int day);
if(year>0)
{
if(month>=1&&month<=12)
{
if(days(year,month,day))
{
return true;
}
else
return false;
}
else
return false;
}
else
return false;
}
//判斷輸入的天 是否合法!
int days(int year,int month,int day)
{
int leap(int year);
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
if(day>0&&day<=31)
{
return true;
}
else
return false;
}
else if(month==2||month==4||month==6||month==9||month==11)
{
if(day>0&&day<=30)
{
return true;
}
else
return false;
}
else
{
if(leap(year))
{
if(day>0&&day<=29)
{
return true;
}
else
return false;
}
else
{
if(day>0&&day<=28)
{
return true;
}
else
return false;
}
}
}
運(yùn)行效果如下圖所示:

PS:這里再為大家推薦一款C語言在線格式化工具,相信在以后的開發(fā)中可以用得上:
C語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
希望本文所述對(duì)大家C++程序設(shè)計(jì)有所幫助。
相關(guān)文章
C語言一個(gè)函數(shù)如何實(shí)現(xiàn)好幾個(gè)return返回值
本文主要介紹了C語言一個(gè)函數(shù)如何實(shí)現(xiàn)好幾個(gè)return返回值,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
C/C++ 凸多邊形求對(duì)角線交點(diǎn)的示例代碼
這篇文章主要介紹了C/C++ 凸多邊形求對(duì)角線交點(diǎn)的示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
C語言強(qiáng)制類型轉(zhuǎn)換規(guī)則實(shí)例詳解
強(qiáng)制類型轉(zhuǎn)換是把變量從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于C語言強(qiáng)制類型轉(zhuǎn)換的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
詳談C++ socket網(wǎng)絡(luò)編程實(shí)例
這篇文章主要為大家介紹了C++ socket網(wǎng)絡(luò)編程實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11
C語言如何計(jì)算一個(gè)整數(shù)的位數(shù)
這篇文章主要介紹了C語言如何計(jì)算一個(gè)整數(shù)的位數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
C語言實(shí)現(xiàn)父進(jìn)程主動(dòng)終止子進(jìn)程的方法總結(jié)
一般的情況,子進(jìn)程自己運(yùn)行完后,執(zhí)行exit 或者return 后,父進(jìn)程wait. waitpid收回子進(jìn)程,但子進(jìn)程是一個(gè)循環(huán)等待狀態(tài)不主動(dòng)退出,父進(jìn)程可以采用文中介紹的幾種方法,需要的朋友可以參考下2023-10-10

