大家看看是什么问题?

bluefox000 2003-10-19 09:29:50
为什么在VISUAL C++下面可以编译通过的程序,在DEV C++上编译却通不过.~
#include <stdio.h>
#include <iostream.h>
class date
{
public:
getdata(int years,int months,int days);
private:
int Years,Months,Days;
};
date::getdata(int years,int months,int days)
{
int _tmpyears,_tmpmonths,_tmpdays,leap;
Years=years;
Months=months;
Days=days;
if ( Years<=0 || Years>9999 || Months <=0 || Months >12 || Days <=0 || Days > 31 )
{
cout<<"enter date error!!!"<<endl;
return 0;
}
switch (Months)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (Days>31)
{
cout<<"error Days 1-12"<<endl;
return 0;
}
else
{
if (Days==31 && Months==12)
{
_tmpdays=1;
_tmpmonths=1;
_tmpyears=Years+1;

}//12月31号,年增加
else
{
if (Days==31)
{
_tmpdays=1;
_tmpmonths=Months+1;
_tmpyears=Years;
}
else
{
_tmpdays=Days+1;
_tmpmonths=Months;
_tmpyears=Years;
}
}
}
break;
case 4:
case 6:
case 9:
case 11:
if (Days>30)
{
cout<<"error Days 4-11"<<endl;
return 0;
}
else
{
if(Days==30)
{
_tmpdays=1;
_tmpmonths=Months+1;
_tmpyears=Years;
}
else
{
_tmpdays=Days+1;
_tmpmonths=Months;
_tmpyears=Years;
}
}
break;
case 2:
if ((Years % 4 == 0 && Years % 100 !=0) || (Years % 400 == 0))
leap=1;
else
leap=0;
if (leap)
{
if (Days>29)
{
cout << "error days 2_9"<<endl;
return 0;
}
else
{
if (Days==29)
{
_tmpdays=1;
_tmpmonths=Months+1;
_tmpyears=Years;
}
else
{
_tmpdays=Days+1;
_tmpmonths=Months;
_tmpyears=Years;
}
}
}
else
{
if (Days>28)
{
cout << "error days 2_8"<<endl;
return 0;
}
else
{
if (Days==28)
{
_tmpdays=1;
_tmpmonths=Months+1;
_tmpyears=Years;
}
else
{
_tmpdays=Days+1;
_tmpmonths=Months;
_tmpyears=Years;
}
}
}
break;
/* default:
cout<<"error months"<<endl;

*/
}
cout<<"当前日期:"<<Days<<"日/"<<Months<<"月/"<<Years<<"年"<<endl;
cout<<"当前日期下一天为:"<<_tmpdays<<"日/"<<_tmpmonths<<"月/"
<<_tmpyears<<"年"<<endl;
}
void main()
{
date ymd;
int y,m,d;
cout<<"please enter date:"<<endl;
cin>>y>>m>>d;
ymd.getdata(y,m,d);
}
...全文
33 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
playboyxp 2003-10-19
  • 打赏
  • 举报
回复
void date::getdata(int years,int months,int days)
可能是函数没有说明返回值引起的
wangwhat 2003-10-19
  • 打赏
  • 举报
回复
怎么跟我的作业一样??我做出来的呵,跟你没什么两样,其实你只要直接ALT+R就行了,别管编译的什么SUCCES
bluefox000 2003-10-19
  • 打赏
  • 举报
回复
随风你是哪的?

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧