程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++自界說函數斷定某年某月某日是這一年中第幾天

C++自界說函數斷定某年某月某日是這一年中第幾天

編輯:關於C++

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++法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved