C++编程:定义一个结构体变量(包括年月日),编写程序,要求输入年、月、日,程序能计算并输出该日在本年中
C++编程:定义一个结构体变量(包括年月日),编写程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。主意闰年问题。一下是我编写的代码,编译时出现了问题:#i...
C++编程:定义一个结构体变量(包括年月日),编写程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。主意闰年问题。
一下是我编写的代码,编译时出现了问题:
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13];
bool leap;
cout<<"输入年月日:";
cin>>date.year>>date.month>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
month_day[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
}
else
{
leap=false;
month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
}
for(i=0;i<date.month;i++)
count_day=count_day+month_day[i];
cout<<"该日是本年第"<<count_day<<"天"<<endl;
return 0;
}
编译时出现的问题如下:
e:\devshop\7a01\7a01\7a01.cpp(22): error C2059: 语法错误:“{”
1>e:\devshop\7a01\7a01\7a01.cpp(22): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\devshop\7a01\7a01\7a01.cpp(22): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>e:\devshop\7a01\7a01\7a01.cpp(24): error C2181: 没有匹配 if 的非法 else
1>e:\devshop\7a01\7a01\7a01.cpp(27): error C2059: 语法错误:“{”
1>e:\devshop\7a01\7a01\7a01.cpp(27): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\devshop\7a01\7a01\7a01.cpp(27): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
望各位高手指点小弟给个解决办法。。。谢谢。。。 展开
一下是我编写的代码,编译时出现了问题:
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13];
bool leap;
cout<<"输入年月日:";
cin>>date.year>>date.month>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
month_day[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
}
else
{
leap=false;
month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
}
for(i=0;i<date.month;i++)
count_day=count_day+month_day[i];
cout<<"该日是本年第"<<count_day<<"天"<<endl;
return 0;
}
编译时出现的问题如下:
e:\devshop\7a01\7a01\7a01.cpp(22): error C2059: 语法错误:“{”
1>e:\devshop\7a01\7a01\7a01.cpp(22): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\devshop\7a01\7a01\7a01.cpp(22): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>e:\devshop\7a01\7a01\7a01.cpp(24): error C2181: 没有匹配 if 的非法 else
1>e:\devshop\7a01\7a01\7a01.cpp(27): error C2059: 语法错误:“{”
1>e:\devshop\7a01\7a01\7a01.cpp(27): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\devshop\7a01\7a01\7a01.cpp(27): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
望各位高手指点小弟给个解决办法。。。谢谢。。。 展开
3个回答
展开全部
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
bool leap;
cout<<"输入年:";
cin>>date.year;
cout<<"输入月";
cin>>date.month;
cout<<"输入日";
cin>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
}
else
{
leap=false;
month_day[2]=28;
}
for(i=0;i<date.month;i++)
count_day=count_day+month_day[i];
cout<<"该日是本年第"<<count_day<<"天"<<endl;
return 0;
}
调试成功请查收。采纳。兄弟 多给点分,写程序的不容易呀
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
bool leap;
cout<<"输入年:";
cin>>date.year;
cout<<"输入月";
cin>>date.month;
cout<<"输入日";
cin>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
}
else
{
leap=false;
month_day[2]=28;
}
for(i=0;i<date.month;i++)
count_day=count_day+month_day[i];
cout<<"该日是本年第"<<count_day<<"天"<<endl;
return 0;
}
调试成功请查收。采纳。兄弟 多给点分,写程序的不容易呀
展开全部
错在数组的赋值方式。
你可以在定义的时候直接赋值
int month_day[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
这种方式是对的。
但是,如果定义的时候没有赋值,后面赋值的时候
month_day[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
这种方式是错的。此时,需要挨个元素赋值。
一楼的修改挺好,闰年与否只有第二个月有差别,只修改2月份的天数即可。
另外,整型数组,没必要多定义一个吧,固定十二个月又不用扩展。
你可以在定义的时候直接赋值
int month_day[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
这种方式是对的。
但是,如果定义的时候没有赋值,后面赋值的时候
month_day[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};
这种方式是错的。此时,需要挨个元素赋值。
一楼的修改挺好,闰年与否只有第二个月有差别,只修改2月份的天数即可。
另外,整型数组,没必要多定义一个吧,固定十二个月又不用扩展。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool leap;
cout<<"输入年月日:";
cin>>date.year>>date.month>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
month_day[2]=29;
}
else
{
leap=false;
}
for(i=0;i<date.month;i++)
count_day=count_day+month_day[i];
cout<<"该日是本年第"<<count_day<<"天"<<endl;
return 0;
}
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int count_day,i;
int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool leap;
cout<<"输入年月日:";
cin>>date.year>>date.month>>date.day;
count_day=date.day;
if ((date.year%4==0 && date.year%100!=0) || (date.year%400==0))
{
leap=true;
month_day[2]=29;
}
else
{
leap=false;
}
for(i=0;i<date.month;i++)
count_day=count_day+month_day[i];
cout<<"该日是本年第"<<count_day<<"天"<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询