上機目的:學會在主函數中完成求解
上機內容:玩轉日期
/* * 程式的著作權和版本聲明部分 * Copyright (c)2013, 煙台大學電腦學院學生 * All rightsreserved. * 檔案名稱: date.cpp * 作 者:劉玉金 * 完成日期:2013 年3月 24日 * 版本號碼: v1.0 * 輸入描述:年月日 * 問題描述:輸出對應的那一天是這一年的第幾天 * 輸出描述:第幾天 */ #include <iostream> using namespace std; struct Date { int year; int month; int day; int hour;int minute;int second;}; int main() { Date date; cout<<"input year,month,day,hour,minute,second:"; cin>>date.year>>date.month>>date.day>>date.hour>>date.minute>>date.second; int days; int seconds;int seconds2;int i; //月份處理 int x=0,y=0; //為方便分類,需對x,y賦初值 switch(date.month) { case 1:x=0,i=0;break; case 2:x=1,i=0;break; case 3: x=1;break; case 4:x=2;break; case 5:x=2,y=1;break; case 6: x=3,y=1;break; case 7:x=3,y=2;break; case 8:x=4,y=2;break; case 9: x=5,y=2;break; case 10:x=5,y=3;break; case 11:x=6,y=3;break; case 12: x=6,y=4;break; }//是否為閏年if((date.year%4==0&&date.year%100!=0)||(date.year%400==0)) i=29; else i=28; days=31*x+30*y+i+date.day; cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl; seconds=date.hour*60*60+date.minute*60+date.second;cout<<date.hour<<"時"<<date.minute<<"分"<<date.second<<"秒是這天的"<<seconds<<"秒"<<endl;seconds2=days*24*60*60+seconds;cout<<date.month<<"月"<<date.day<<"日"<<date.hour<<"時"<<date.minute<<"分"<<date.second<<"秒時"<<date.year<<"年的第"<<seconds2<<"秒."<<endl;return 0; }
運行結果:
心得體會:開始不會,回頭一想就會了