题目是:定义一个日期类date,数据成员有year,month,day.成员函数有:
(1)私有成员函数 int isleap()判断year是否为闰年,若是返回1,否则返回0.
(2)私有成员函数 int check()判断日期是否合法,若合法返回1,若不合法返回0.
(3)设置年,月,日,一并检测是否为合法日期。
(4)按yyyy/mm/dd格式输出日期。若是闰年,还要输出是闰年的信息。
在主函数中定义一个日期类对象,任意输出年,月,日值。然后对任意成员进行测试。
我编的程序它执行不对结果,大家帮我看一下错误在哪好不好
#include<iostream>
using namespace std;
class date
{
private:
int year,month,day;
int isleap(int);
int check(int,int,int);
public:
void newisleap(int)
{isleap;}
void newcheck(int,int,int)
{check;}
void showdate(int yy,int mm,int dd);
};
int date::isleap(int yy)
{(yy%4==0)?1:0;
return 0;}
int date::check(int yy,int mm,int dd)
{(yy>=1000&&yy<=9999)?1:0;(mm>=1&&mm<=12)?1:0;(dd>=1&&dd<=31)?1:0;
return 0;}
void date::showdate(int yy,int mm,int dd)
{cout<<yy<<"/"<<mm<<"/"<<dd;}
int main()
{
int year,month,day;
date date1;
cout<<"Please input the year:"<<endl;
cin>>year;
date1.newisleap(year);
cout<<"Please input the year,month and day:"<<endl;
cin>>year>>month>>day;
cout<<"If the year is not leap:"<<endl;
date1.newcheck(year,month,day);
date1.showdate(year,month,day);
return 0;
}
帮你改了一个,是根据你的题目需求而作。
你原来的思想大概是误解了题目意思(当然,也有可能是我理解错误),可以参考我的代码好好理解一下。
写代码,如果要从事这方面,要有一个整洁的作风。
另外,不建议使用复杂语句,比如你的那个条件判断 ? :
好的代码,是效率不差,但阅读起来最简单的。