第十七周 【项目5-玩日期时间】
问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*ALL right reserved
*文件名:日期结构体
*作者;童宇
*完成日期:2014年月日
*版本号v1.0
*问题描述:定义一个结构体变量(包括年、月、日)
*输入描述:输入当前日期和时间
*程序输出:该日是该年的第几天。现在是今天的多少秒。
*/
#include <iostream>
using namespace std;
int dAys(int,int,int);
int sEconds(int,int,int);
struct Date
{
int year;
int month;
int day;
int hour;
int minute;
int second;
};
int main()
{
int days,seconds,i;
Date date;
for(i=0; i<50; i++)
{
cout<<"请输入当前时间(生日输入格式为年,月,日,时(24时计时法),分,秒):\n ";
cin>>date.year>>date.month>>date.day>>date.hour>>date.minute>>date.second;
if(date.hour>23&&date.minute>59&&date.second>59&&date.hour<0&&&date.minute<0&&&date.second<0)
{
cout<<"\t请按正确格式输入!";
}
else
{
days=dAys(date.year,date.month,date.day);
seconds=sEconds(date.hour,date.minute,date.second);
cout<<"\t今天是该年的第"<<days<<"天\n";
cout<<"\t现在是今天的"<<seconds<<"秒";
break;
}
}
return 0;
}
int dAys(int y,int m,int d)
{
int s=0;
while(m>0)
{
m--;
switch(m)
{
case 2:
s=s+28;
break;
case 4:
case 6:
case 9:
case 11:
s=s+30;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
s=s+31;
break;
}
}
s=s+d;
if((y%4==0&&y%100!=0)||y%400==0)
{
s=s+1;
}
return s;
}
int sEconds(int h,int m,int s)
{
int a=0;
while(h>0)
{
a=a+3600;
h--;
}
while(m>0)
{
a=a+60;
m--;
}
a=a+s;
return a;
}
运行结果:
还没有评论,来说两句吧...