c++中给定某个日期,计算出这一日期是该年的第几天,我不知道哪里出错了?

#include<iostream>#include<iomanip>usingnamespacestd;structdate{inty;intm;intd;};void... #include<iostream>
#include<iomanip>
using namespace std;
struct date
{
int y;
int m;
int d;
};
void main()
{
int a[12]={31,28,31,30,31,30,31,30,31,30,31,30};
int b[12]={31,29,31,30,31,30,31,30,31,30,31,30};
int sum=0,i=0;
date t;
cin>>t.y;
cin>>t.m;
cin>>t.d;
if((t.y%400==0)&&((t.y%100!=0)&&(t.y%4==0)))
{
if(t.m=1)
cout<<t.d;
else

{
for(;t.m-1>0;t.m--)
{
sum+=b[i];
i++;
}
cout<<sum+t.d;
}
}

else
{
if(t.m =1)
cout<<t.d;
else

{
for(;t.m-1>0;t.m--)
{
sum+=b[i];
i++;
}
cout<<sum+t.d;
}
}
}
展开
 我来答
_________刹那
2011-03-14 · 超过10用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:29万
展开全部
if(t.m=1)问题在这里
C++ 中 比较运算符应该是 “==” 而不是“=”
建议下次 写成 if(1==t.m) 这样如果出错编译器就会报错了。
希望对你有帮助!!
赤寒轩37
2011-03-14 · 超过23用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:66.4万
展开全部
if((t.y%400==0)&&((t.y%100!=0)&&(t.y%4==0))) 这里错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式