输入日期 算是一年的第几天

//============================================================================
#include <iostream>
using namespace std;
struct yymmdd{
		int year;
		int month;
		int day;
	    };
void input1(yymmdd *p1){
	cin>>p1->year>>p1->month>>p1->day;
}

int day_in_year(yymmdd date2){
	int x[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	int sum1=0;
	if(((date2.year%4==0)&&(date2.year%100!=0))||(date2.year%400==0))
		x[1]={29};
	for(int i=0;i<date2.month-1;i++) sum1=sum1+x[i];
	return sum1+date2.day;
}
void print1(yymmdd date3,int n1){
	cout<<date3.year<<"-"<<date3.month<<"-"<<date3.day<<" is the "<<n1<<"'s day of the year!\n";
}

int main() {
	int n=0,m=0;
	yymmdd date,datea;
	yymmdd *p=&date,*q=&datea;
	input1(p);
	input1(q);
    n=day_in_year(date);
    m=day_in_year(datea);
    cout<<"n="<<n<<endl;
    cout<<"m="<<m<<endl;
    print1(date,n);
    print1(datea,m);
	return 0;
}





// 分解步骤,1,写个函数 采集输入年月日,2,写个函数写个统计天数,能处理闰年和非闰年,3输出第几天
/*
#include <iostream>
using namespace std;

void cin(int e,int f,int g){
	cin<<e<<f<<g;
}

int day_in_year(int year,int month,int day){
	int sum1,x[12];
	if(((year%4==0)&&(year%100!=0))||(year%400==0)){
		x[12]={31,29,31,30,31,30,31,31,30,31,30,31};
	}
	else x[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	for(int i=0,sum1=0;i<month;i++){
		sum1=sum1+x[i];
	}

	return sum1+day;
}
void print(int a,int b,int c,int d){
	cout<<a<<b<<c<<"is the "<<d<<"'s day of the year!";
}

int main() {
	struct yymmdd{
		int year;
		int month;
		int day;
	    }date;
	cin<<date.year<<date.month<<date.day;
    int d=day_in_year(date.year,date.month,date.day);
    void print(date.year,date.month,date.day,d);
	return 0;
}
*/
/*
#include <iostream>
using namespace std;
struct yymmdd{
		int year;
		int month;
		int day;
	    };
void input1(yymmdd *p1){
	cin>>p1->year>>p1->month>>p1->day;
}

int day_in_year(yymmdd date2){
	int x[12];int sum1;
	if(((date2.year%4==0)&&(date2.year%100!=0))||(date2.year%400==0)){
		 int x[12]={31,29,31,30,31,30,31,31,30,31,30,31};
	//	 for(int i=0,sum1=0;i<date2.month;i++) sum1=sum1+x[i];

	}
	else {
		int x[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	//    for(int i=0,sum1=0;i<date2.month;i++) sum1=sum1+x[i];

	}
	for(int i=0,sum1=0;i<date2.month;i++) sum1=sum1+x[i];
	return x[2];
}
void print1(yymmdd date3,int n1){
	cout<<date3.year<<"-"<<date3.month<<"-"<<date3.day<<" is the "<<n1<<"'s day of the year!";
}

int main() {
	int n=0;
	yymmdd date;
	yymmdd *p=&date;
	input1(p);
    n=day_in_year(date);
    cout<<"n="<<n<<endl;
    print1(date,n);
	return 0;
}
*/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值