网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

计算机二级C++上机综合应用题

栏目: 计算机二级 / 发布于: / 人气:1.34W

为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C++上机综合应用题,供参考练习,预祝考生们考出自己理想的成绩!

计算机二级C++上机综合应用题

综合应用题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。

(1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int。请在注释1后添加适当的语句。

(2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的`语句。

(3)完成重载符号“+=”的定义,请在注释3后添加适当的语句。

(4)完成函数print打印函数,如2005年1月5日到屏幕和文件out3.txt格式相同,请在注释4后添加适当的语句。

注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

试题程序:

#include

#include

#include

#include

usingnamespacestd;

voidWriteFile(intc)

{

ofstreamout1;

out1.open("out3.txt",ios_base::app);out1<<c<<’’;

out1.close();

}

voidWriteFile(char*str)

{

ofstreamout1;

out1.open("out3.txt",ios_base::app);out1<<str;

out1.close();

}

voidClearFile()

{

ofstreamout1;

out1.open("out3.txt"):

outl.close();

}

classDate

{

public:

Date(inty,intm,intd)

{

//********1*********}

voidprint();

//********2********

{

month+=m:

inti=month/12;

intj=month%12;

if(j==0)

{

year+=(i-1):

month=12;

}

else

{

year+=i:

month=j;

}

return*this:

}

private:

//********3********

};

voidDate::print()

{

//********4********

WriteFile(year);

WriteFile("年");

WriteFile(month);

WriteFile("月");

WriteFile(day);

WriteFile("日");

}

intmain()

{

ClearFile();

DateNationa1_day(2004,10,5);

National_day+=3;

National_day.print();

return0;

}

答案:

(1)应添加“year=y;month=m;day=d;”。

(2)应添加“Date&operator+=(intm)”。

(3)应添加“intyear,month,day;”。

(4)应添加“cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;”。

【解析】本题要求私有成员变量year、month、day为整形表示方法,所以注释3应添加“intyear,month,day;”;注释1要求分别给year、month、day赋值,根据上下文提意,所以应添加“year=y;month=m;day=d;”;注释2是对“+=”运算符的重栽,Date&operator4+=(intm);第4处打印输出年、月、日,C++语言中,输出使用cout。