第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)?前几个比较简单。