使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1

admin2017-03-22  39

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
    (1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1********后添加适当的语句。
    (2)完成判断数据成员date2是否是闰年函数intDate::IsLeapYear0的定义,返回数据成员date2是否是闰年的值,是则返回1,否则返回0。请在注释//********2********后添加适当的语句。
    (3)设置SetData0的默认时间为:2004-12-1,请在注释//********3********后添加适当的语句。
    (4)完成主函数main(),完成输出date2 is aleapyear,请在注释//********4********后添加适当的语句。
    提示:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。
    注意:增加或修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
using namespace std;
Class Date
{
public:
    //********3********
    void  SetDate(int  y,int
m,int n);
    int IsLeapYear();
    Void Print()
    {cout<<<  "-"  <Prlvate:
    //********1********
};
void Date::SetDate(int  y,int
m,int d)
{
    year=y;
    month=m;
    day=d;
}
int Date::IsLeapYear()
{
    //********2********
    retUrn
}  
int main()
{
    Date datel , date2;
    datel.SetDate();
    date2.SetDate(2004,12,1);
    cout<<"datel:";
    datel.Print();
    cout<<"date2:";
    date2.Print();
    //********4********
    Cout  <<  "date2  is"<<" ":
"not")<<"a leapyear."<    return 0;
}

选项

答案(1)int year,month,day; (2)将“return”补充完整为:returnfyear%400==0)||(year%4==0&&year%100!=0); (3)将“void SetDate(int y,int m,int n);”补充完整为:void SetDate(int y=2004,int m=12,int n=1); (4)将“cout<<"date2 is"<<("":"not")<<"a leapyear."<
解析 (1)题目1要求“定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据”。在程序中的Date类中的priate区域添加数据成员year、month、day的定义即可,其中它们的类型根据题目要求定义为int型。即在第1个标识下添加“int year,month,day;”。
    (2)题目2要求“完成判断数据成员date2是否是闰年函数int Date::IsLeapYear()的定义”。公元纪年的年数可以被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。用程序语言表达为“(year%400==0)‖(year%4==0&&year%100!=0)”,即在第2个标识补充的返回值语句为“return(year%400=0)‖(year%4==0&&year%100!=0);”。
    (3)题目3要求“设置SetData0的默认时间为:2004-12-1”。程序中类Date的成员函数定义为“voidSetDate(int y,int m,int n);”,设置默认时间为:2004.12.1,就是设置SetDate函数中的变量值分别为2004,12,1。即成员函数的定义语句修改为“voidSetDate(int y=2004,int m=12,int n=1);”。
    (4)题目4要求“完成主函数main(),完成输出date2 is a leapyear”。标识4下的语句“cout<<"date2is"<<("":"not”)<<"a leapyear.”<
转载请注明原文地址:https://kaotiyun.com/show/89Ap777K
0

最新回复(0)