帮忙改一下这个c++程序

2025-05-13 13:21:31
推荐回答(4个)
回答(1):

你的明显是有问题哈,下面就你的错误我改一下(注:没有主函数,)
#include
class
Tdate
{
public:
void
setdate(int
y,int
m,int
d);
void
adddate();
int
leapyear();
void
print();
private:
int
yy,
mm,
dd,leap;
};
void
Tdate::setdate(int
y,int
m,int
d)
{
yy=y;mm=m;dd=d;
}
void
Tdate::adddate()
{
switch(mm)
{
case
1:
case
3:
case
5:
case
7:
case
8:
case
10:
case
12:
{dd==31?mm++:dd++;


break;

}
case
2:
{
if(leap==1)
dd==29?mm++:dd++;
else
dd==28?mm++:dd++;
break;
}
case
4:
case
6:
case
9:
case
11:
{
dd==30?mm++:dd++;
break;
}
default:
cout<<"wrong"<}
}
int
Tdate::leapyear()
{
int
leap;
return
leap=(yy%4==0&&yy%100!=0)||(yy%400==0);
}
void
Tdate::print()
{
cout<}
另外你的类没有构造函数,实现日期加一天,应考虑重载+;

回答(2):

int yy,int mm,int dd;int leap; ->
int yy,mm,dd,leep;

case '2',case '4',case '12',default,这4行上面都加上 break;
语法错误应该没了。
具体逻辑上我没检查,自己看看吧。
你的编程习惯不好,语法掌握的也不怎样,多看看书,多练习。
类的设计很糟糕,好好设计一下。
这个类设计好了你可以学到很多。具体的类网上应该有可以参考的吧,搜一下试试。

回答(3):

你的明显是有问题哈,下面就你的错误我改一下(注:没有主函数,)
#include

class Tdate
{
public:
void setdate(int y,int m,int d);
void adddate();
int leapyear();
void print();
private:
int yy, mm, dd,leap;
};

void Tdate::setdate(int y,int m,int d)
{
yy=y;mm=m;dd=d;
}
void Tdate::adddate()
{
switch(mm)
{ case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:

{dd==31?mm++:dd++;
break;
}
case 2:
{
if(leap==1)
dd==29?mm++:dd++;
else
dd==28?mm++:dd++;
break;
}
case 4:
case 6:
case 9:
case 11:
{

dd==30?mm++:dd++;
break;
}

default:
cout<<"wrong"<}

}

int Tdate::leapyear()
{
int leap;
return leap=(yy%4==0&&yy%100!=0)||(yy%400==0);
}

void Tdate::print()
{
cout<}
另外你的类没有构造函数,实现日期加一天,应考虑重载+;

回答(4):

写的不清楚啊