第二周 项目五 玩转日期

上机目的:学会在主函数中完成求解

上机内容:玩转日期

/*  
* 程序的版权和版本声明部分  
* Copyright (c)2013, 烟台大学计算机学院学生  
* All rightsreserved.  
* 文件名称: date.cpp  
* 作 者:刘玉金  
* 完成日期:2013 年3月 24日  
* 版本号: v1.0  
* 输入描述:年月日 
* 问题描述:输出对应的那一天是这一年的第几天  
* 输出描述:第几天  
*/    
#include <iostream>   
using namespace std;  
struct Date  
{  
	int year;  
	int month;  
	int day; 
	int hour;
	int minute;
	int second;
};  
int main()  
{  
	Date date;  
	cout<<"input year,month,day,hour,minute,second:";  
	cin>>date.year>>date.month>>date.day>>date.hour>>date.minute>>date.second;  
	int days; 
	int seconds;
	int seconds2;
	int i;  	
	//月份处理   
	int x=0,y=0;             //为方便分类,需对x,y赋初值   
	switch(date.month)  
	{  
	case 1:
		x=0,i=0;
		break;  
	case 2:
		x=1,i=0;
		break;  
	case 3: 
		x=1;
		break;  
	case 4:
		x=2;
		break;  
	case 5:
		x=2,y=1;
		break;  
	case 6:  
		x=3,y=1;
		break;  
	case 7:
		x=3,y=2;
		break;  
	case 8:
		x=4,y=2;
		break;  
	case 9: 
		x=5,y=2;
		break;  
	case 10:
		x=5,y=3;
		break;  
	case 11:
		x=6,y=3;
		break;  
	case 12: 
		x=6,y=4;
		break;  
	}
	//是否为闰年
	if((date.year%4==0&&date.year%100!=0)||(date.year%400==0))  
		i=29;  
	else i=28;  
	
	days=31*x+30*y+i+date.day;  
	cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl;  
	seconds=date.hour*60*60+date.minute*60+date.second;
	cout<<date.hour<<"时"<<date.minute<<"分"<<date.second<<"秒是这天的"<<seconds<<"秒"<<endl;
	seconds2=days*24*60*60+seconds;
	cout<<date.month<<"月"<<date.day<<"日"<<date.hour<<"时"<<date.minute<<"分"<<date.second<<"秒时"<<date.year<<"年的第"<<seconds2<<"秒."<<endl;
	return 0;  
}  


运行结果:

心得体会:开始不会,回头一想就会了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值