- #include <iostream>
- #include <cstdlib>
- using namespace std;
- int main(void){
- start:
- while (true){
-
- int year, month, day, a, b, c = 0; // a = 平年, b = 閏年, c = 總天數
-
- cout << "請輸入年月日 : ( 格式 : 年年年年 月月 日日 EX : 2010 08 28)" << endl;
- cin >> year >> month >> day;
-
- if (year > 0 && month >= 1 && month <= 12 && day >= 1 && day <= 31){
-
- /* 判斷某年是為閏年或平年 */
- if (year%4==0){
- if (year%100==0){
- if (year%400==0){
- b++;
- }else{
- a++;
- }
- }else{
- b++;
- }
- }else{
- a++;
- }
-
- cout << endl;
-
- if (a == 1 && month == 2 && day <= 29){
- cout << "輸入無效數字!請重新輸入" << endl;
- cout << endl;
- goto start;
- }else if (b == 1 && month == 2 && day <= 28){
- cout << "輸入無效數字!請重新輸入" << endl;
- cout << endl;
- goto start;
- }
- /* 計算某月為幾日 */
-
- if (month == 1){
- cout << day << endl;
- }
- switch(month){
- case 2:
- c += 29 + 31;
- break;
- case 3:
- c += 60 + 31;
- break;
- case 4:
- c += 90 + 31;
- break;
- case 5:
- c += 121 + 31;
- break;
- case 6:
- c += 151 + 31;
- break;
- case 7:
- c += 182 + 31;
- break;
- case 8:
- c += 212 + 31;
- break;
- case 9:
- c += 242 + 31;
- break;
- case 10:
- c += 273 + 31;
- break;
- case 11:
- c += 303 + 31;
- break;
- case 12:
- c += 334 + 31;
- break;
-
- }
- if (b == 1 && a < 1){
- cout << c + 1;
- }else{
- cout << c;
- }cout << endl;
-
-
- }else{
- cout << "輸入無效數字!請重新輸入" << endl;
- cout << endl;
- }
- }
-
- system("pause");
- return 0;
- }
複製代碼 ...喔!!!寫粉久咧!! |