討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
萬年曆 :)
更改我的閱讀文章字型大小
作者 : zoo2000(zoo2000)
[ 貼文 4 | 人氣 306 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/10/22 下午 03:16:30
我想問,我該甚麼樣用c來寫一個萬年曆
作者 : lungyy(Abel)
[ 貼文 1 | 人氣 5 | 評價 10 | 評價/貼文 10 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/10/23 上午 02:25:44
#include <iostream>
#include<iomanip>
using namespace std;
int main(void)
{
//設計方式:
//一、一年有365天(剛好是52個禮拜又一天)。西元1年1月1日為星期一,那西元2年1月1日
// 就應該是星期二囉,所以必須知道從西元1年到該年到底有多少次潤年。
//二、依此方式就可以推算出每月的1號是星期幾了。
//三、逢四年一閏,百年不閏,逢四百年又一閏

    int i;
    int remainder; //定義欲求月曆之年份第一個月份之餘數(即該年份1月1日為星期幾)
    int year; //欲求月曆之年份
int month; //欲求月曆之月份
int day[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //定義12月份之各月份天數
    int dayrem; //求出欲求該年份1月1日之餘數
    cout << "請輸入年份:";
    cin >> year;
    cout << "請輸入月份:";
    cin >> month;
    cout << endl << endl;
    remainder=(year-1+(year-1)/4-(year-1)/100+(year-1)/400)%7;//己知西元1年1月1日為星期一
     //求出欲求該年份第一個月之餘數必須計算閏年,若該年可
     //被100除盡,則該年不是閏年,但若該年可被400除盡,它也是閏年
     //求出欲求該年份前一年12月31日星期幾
    if ((year%4 == 0 && year%100 != 0) || year%400 == 0)
    {
     if (month>=2) //若該年是閏年則餘數+1,2月份也改為29天
     {
day[1]=29;
}
    }
    for (i=0;i<(month-1);i++) //求出欲求該年份1月1日之總天數
    {
     remainder+=day[i];
    }
    dayrem=(remainder+1)%7; //求出欲求該月份1日星期幾(因為從星期日計算故+1)
    cout <<" 西元" << year << "年" << month << "月" << endl;
    cout <<" 日 一 二 三 四 五 六" << endl;
    for (i=0;i<dayrem;i++) //該月份1日前之星期幾填入空格
{
     cout << setw(3) << setfill(' ') << "";
}
    int count = dayrem%7; //該月份1日從星期幾開始依序填入日期
for (i=0;i<day[month-1];i++)
    {
     cout << setw(3) << setfill(' ') << i+1; //3個字為一組,不足填入空格
if (count>=6) //每週六後換行
     {
     cout << endl;
     count=0;
     }
     else
     {count++; }
    }
    cout << endl;
    
system("pause");
    return 0;
}
作者 : zoo2000(zoo2000)
[ 貼文 4 | 人氣 306 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2003/10/23 下午 12:37:38
謝謝
 板主 : simula
 > C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C++
1 Raymond 13050 
2 青衫 4760 
3 simula 4690 
4 coco 4030 
5 白老鼠(Gary) 3670 
6 ozzy 2540 
7 Ben 2250 
8 Anderson 1960 
9 windblown 1650 
10 Kenny 1560 
C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.15625