天天看點

C++程式設計實驗報告(二十四)

第17周報告(三)

實驗目的:揭開生日秘密

實驗内容:從檔案中讀入資料,利用動态連結清單,作出成績單。

* 程式頭部注釋開始

* 程式的版權和版本聲明部分

* Copyright (c) 2011, 煙台大學計算機學院學生

* All rights reserved.

* 檔案名稱:      揭開生日秘密                    

* 作    者:           劉鎮                 

* 完成日期:       2011  年     12  月   16   日

* 版本号:         1.021

* 對任務及求解方法的描述部分

* 輸入描述:生日(年,月,日,時,分,秒)

* 問題描述:求出這是這一年中的第幾天,這一天中的第幾秒,一年中的第幾秒。

* 程式輸出:這是這一年中的第幾天,這一天中的第幾秒,一年中的第幾秒。

* 程式頭部的注釋結束

#include<iostream>

using namespace std;

struct date
{
 int year;
 int month;
 int day;
 int hour;
 int minute;
 int second;
};
date D;
int main()
{
 int Month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
 
 cout << "請輸入出生年/月/日:" << endl;
 cin >> D.year>> D.month>> D.day;
 cout << "請輸入出生時的時/分/秒:" << endl;
 cin >> D.hour>> D.minute>> D.second;
 if((D.year % 4 == 0 && D.year % 100 !=0) || (D.year % 400 == 0))
 {
  Month[1] = 29 ;
 }
 int num  = 0;
 for(int i = 0 ; i < D.month - 1 ; i++)
 {
  num += Month[i];
 }
 
 num += D.day;
 cout << "該日是這一年中的第" << num <<"天" << endl;
 
 int day_s, year_s;
 day_s = D.hour * 3600 + D.month * 60 + D.second;
 year_s = num * 24 * 3600 + D.hour * 3600 + D.month * 60 + D.second;
 cout << "這是這一天中的第" << day_s <<"秒"<< endl;
 cout << "這是這一年中的第" << year_s <<"秒"<< endl;
 return 0;
}
           

運作結果:

C++程式設計實驗報告(二十四)

經驗積累:

1.對于日期的計算還要用循環

上機感言:沒有了解怎樣求(5)(6)?前幾個比較簡單。