第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;
}
運作結果:

經驗積累:
1.對于日期的計算還要用循環
上機感言:沒有了解怎樣求(5)(6)?前幾個比較簡單。