天天看点

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