C++自界說函數斷定某年某月某日是這一年中第幾天。本站提示廣大學習愛好者:(C++自界說函數斷定某年某月某日是這一年中第幾天)文章只能為提供參考,不一定能成為您想要的結果。以下是C++自界說函數斷定某年某月某日是這一年中第幾天正文
本文實例講述了C++自界說函數斷定某年某月某日是這一年中第幾天的辦法。分享給年夜家供年夜家參考,詳細以下:
/* * 作 者: 劉同賓 * 完成日期:2012 年 11 月 30 日 * 版 本 號:v1.0 * * 輸出描寫: * 成績描寫:編寫函數斷定某年某月某日這一年中是第幾天,在主函數中挪用該函數。 * 法式輸入: * 成績剖析:略 * 算法設計:略 */ #include<iostream> using namespace std; int main() { void f(int year,int month,int day); int year,month,day; cout<<"請輸出年代日:"<<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}; //界說數組 各月的天數 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<<"輸出毛病,請從新輸出:"<<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; } } }
運轉後果以下圖所示:
PS:這裡再為年夜家推舉一款C說話在線格局化對象,信任在今後的開辟中可以用得上:
C說話作風/HTML/CSS/json代碼格局化丑化對象:
http://tools.jb51.net/code/ccode_html_css_json
願望本文所述對年夜家C++法式設計有所贊助。