[問題] 一個萬年曆問題...找出天數的(不知道哪裡錯誤)

看板C_and_CPP (C/C++)作者 (阿能仔)時間15年前 (2010/10/20 20:14), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 輸入年月日 顯示該日為該年的第幾天 希望得到的正確結果: EX 輸入 2008 1 1 顯示 第1天 輸入 2000 2 29 顯示 第60天 輸入 2008 2 29 顯示 ERROR 程式跑出來的錯誤結果: 當我輸入4月的時候居然可以輸入31天 發現只要是小月都會有問題 但是檢查不出來哪裡有問題 輸入閏年的都很OK 但就是小月31天一直會出現問題 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) DEV-C++ 有問題的code: (請善用置底文標色功能) http://ppt.cc/s-,5 <<<原始碼在這裡面 補充說明: 我的想法是用if去判斷他的天數總合 大月就用sum = sum+31 小月就sum = sum+30 其他像是2月 閏年二月 就類似這樣的做法 再用while去跑迴圈 讓天數總合出來 可是再輸入4月31號就會出現天數 小月不可能有31天阿 這我也不知道哪邊錯誤了 請板上的各位神手級人物 幫我這位新生一個忙 可以告訴我哪邊邏輯錯誤也好 我不用別人寫完整的 只想知道我哪邊錯誤 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.129.24

10/20 20:24, , 1F
你程式碼中本來就沒規定不能在小月輸入 31 天啊...
10/20 20:24, 1F

10/20 20:26, , 2F
還有 2008 是閏年沒錯吧, 會 error 的是例如 1900 年
10/20 20:26, 2F

10/20 20:35, , 3F
我打錯了.應該要打輸入2月31才會顯示錯誤
10/20 20:35, 3F
文章代碼(AID): #1Cljqfqu (C_and_CPP)
文章代碼(AID): #1Cljqfqu (C_and_CPP)