玩日期

来源:互联网 发布:合肥java培训班 编辑:程序博客网 时间:2024/04/30 02:41

/* 
* 程序的版权和版本声明部分: 
* Copyright (c) 2013, 烟台大学计算机学院 
* All rights reserved. 
* 文件名称:test.cpp 
* 作    者:李果 
* 完成日期:2013 年 4月 8日 
* 版 本 号:v1.0 
* 对任务及求解方法的描述部分:
* 输入描述:输入时间
* 问题描述:
* 程序输出:略

* 问题分析:略
* 算法设计:略 
*/ //第二周实验项目5,剩下一部分有空再做

#include <iostream>  
using namespace std; 
struct Time 

  int year; 
  int month; 
  int day;
  int hour;
  int min;
  int sec;
}; 
int countday(int year,int mouth,int day);//计算某日是年的哪一天
int countsec(int hour,int min,int sec);//计算当前时刻是今天第几秒
int yearsec(int today,int tosec);//计算当前时刻是今年第几秒

int main() 

  Time time; 
  cout<<"input year,month,day,hour,min,sec:"<<endl; 
  cin>>time.year>>time.month>>time.day>>time.hour>>time.min>>time.sec; 
  
  int today=countday(time.year,time.month,time.day);
  cout<<time.month<<"月"<<time.day<<"日是"<<time.year<<"年的第"<<today<<"天."<<endl;
  int tosec=countsec(time.hour,time.min,time.sec);
  cout<<time.hour<<"点"<<time.min<<"分"<<time.sec<<"秒是今天的第"<<tosec<<"秒."<<endl;
  int theyearsec=yearsec(today,tosec);
  cout<<time.month<<"月"<<time.day<<"日"<<time.hour<<"点"<<time.min<<"分"<<time.sec<<"秒是今年的第"<<theyearsec<<"秒."<<endl;
  return 0; 

int countday(int year,int month,int day)
  {
   int days;
  
if((year %4==0&&year%100!=0)||year%400==0)
{

switch(month)
  {
case 1:days=day;
 break;
case 2:days=31+day;
 break;
case 3:days=60+day;
 break;
case 4:days=91+day;
 break;
case 5:days=121+day;
 break;
case 6:days=152+day;
 break;
case 7:days=182+day;
 break;
case 8:days=213+day;
 break;
case 9:days=244+day;
 break;
case 10:days=274+day;
 break;
case 11:days=305+day;
    break;
case 12:days=335+day;
    break;

}
}
else
{
 switch(month)
  {
case 1:days=day;
 break;
case 2:days=31+day;//设为28
 break;
case 3:days=60+day-1;
 break;
case 4:days=91+day-1;
 break;
case 5:days=121+day-1;
 break;
case 6:days=152+day-1;
 break;
case 7:days=182+day-1;
 break;
case 8:days=213+day-1;
 break;
case 9:days=244+day-1;
 break;
case 10:days=274+day-1;
 break;
case 11:days=305+day-1;
    break;
case 12:days=335+day-1;
    break;

}
}

return days; 
}

int countsec(int hour,int min,int sec)
{
 sec=hour*3600+min*60+sec;
 return sec;
}

int yearsec(int today,int tosec)
{
 int sec=0;
 sec=(today-1)*24*3600+tosec;
 return sec;
}

原创粉丝点击