第十七周專案五 玩日期時間

2021-06-27 18:58:38 字數 1830 閱讀 1210

問題及**:

/*

*檔名稱:玩日期時間.cpp

*作 者:白雲飛

*完成日期:2023年12月23日

*版 本 號:v1.0

**問題描述:定義乙個表示時間(包括年、月、日、時、分、秒)的結構體,然後完成下面的功能

(1)輸入乙個時間,將輸入的時間儲存在乙個結構體變數中;

(2)輸出該日在本年中是第幾天(注意閏年問題);

(3)輸出這是這一天中的第幾秒;

(4)輸出這是這一年中的第幾秒;(不要認為這個數荒唐,在計算中需要取隨機數時需要乙個不會重複的「種子數」,這個秒數是常用的。)

(5)求你輸入的時間d天後是哪年哪月哪日,將結果儲存在乙個結構體變數中輸出;(你的萬天日期靠這個功能了)——插講乙個故事。當年老賀由小孩兒過百日,想到自己的萬日在哪天。程式設計計算,結果剛過了十幾天,那個懊惱啊。第二個萬日得再等26年多(現在離第二個萬日靠近了),第三個萬日,誰敢說一定能過上?20歲左右的你,要算清楚了。在第(1)問中輸入你的生日及時辰,d值取為10000,可以算出你的萬日,大概在26歲多。

(6)求你輸入的時間s秒後是何日何時,將結果儲存在乙個結構體變數中輸出;

(7)用結構體變數給定兩個時間,求相差多少天?相差多少秒?

*/#include #include using namespace std;

struct time

;int daysofmonth(int n,int y)//返回y年m月的天數

else

return days;

}int dayofyear(time &t)//這天是這一年的第幾天

//天數不夠一整年後,再考慮月,因為從1月1日開始,不用擔心nt.year再加1年

while(d1>daysofmonth(t1.month,t1.year)) //天數還夠乙個整月

//剩全天數加到日上

t1.day+=d1;

return t1;

}int aftersecond(time &t)

; date date ; //目標時間

cout<

int s; //經過的秒數

cin>>s;

date.hour=s/3600; //計算目標時間

date.minute=(s-date.hour*3600)/60;

date.second=s-date.hour*3600-date.minute*60+t.second;

date.hour+=t.hour;

date.minute+=t.minute;

cout

else s=days2-days1;

cout<

days1+=s;

days1-=days2;

cout>t.month>>t.day>>t.hour>>t.minute>>t.second;

cout

nt=afterdays(t,d);

cout<

cout>t1.month>>t1.day>>t1.hour>>t1.minute>>t1.second;

cout>t2.month>>t2.day>>t2.hour>>t2.minute>>t2.second;

d_date(t1,t2);

return 0;

}

執行結果:

學習心得:

寫到第五個問題就沒思路了,而且覺的好麻煩,參考了老師的**,覺得自己的**太繁瑣了,看來還是要多練習,精煉語言,提高效率。

第十七周 專案五 玩日期時間

問題及 檔名稱 project4.cpp 作 者 李楠 完成日期 2014年12月19日 版 本 號 v1.0 問題描述 定義乙個表示時間 包括年 月 日 時 分 秒 的結構體,然後完成下面的功能。要實現的功能是 1 輸入乙個時間 注意各部分資料的取值範圍 將輸入的時間儲存在乙個結構體變數中 2 輸...

第十七周專案1

檔名稱 test.cpp 完成日期 2014年12月21日 版本號 v1.0 問題描述 閱讀下面的程式,寫出期望中的執行結果。上機執行對照,並用單步執行的方法再次體會,完全掌握用指標和引用作為形式引數的用法。輸入描述 略 程式輸出 略 include using namespace std void...

第十七周總結

周工作總結及計畫表 部 門 理工大學 姓 名 冉濤 入 職 時 間 2015.7.5 本週已完成工作內容及總結 1 基本完成課程設計要求的三道題目,但還有一些小地方沒有做好,主要是在一些異常處理方面,主要是從控制台輸入時的型別轉換異常,以及gui介面的輸入為空的異常和型別轉換異常。2 課程設計的第四...