首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1****
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1****
admin
2016-10-28
31
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1********后添加适当的语句。
(2)完成判断数据成员date2是否是闰年函数intDate::IsLeapYear()定义,返回数据成员date2是否是闰年的值,是则返回1,否则返回0。请在注释//********2********后添加适当的语句。
(3)设置SetData0的默认时间为:2004-12-1,请在注释//********3********后添加适当的语句。
(4)完成主函数main(),完成输出date2 is a leapyear,请在注释//********4********后添加适当的语句。
提示:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。
注意:增加或修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include<iostream>
using namespace std;
class Date
{
public:
//********3********
void SetDate(int y,int m,int n);
int IsLeapYear();
void print()
{cout<<year<<"-"<<month<<"-"<<day<<endl;}
private:
//********1********
};
void Date::SetDate(int y,int m,int d)
{
year=y;
month=m;
day=d;
}
int Date::IsLeapYear()
{
//********2********
return
}
int main()
{
Date date1,date2;
date1.SetDate();
date2.SetDate(2004,12,1);
cout<<"date1:";
date1.Print();
cout<<"date2:";
date2.Print();
//********4********
cout<<"date2 is"<<(" ":"not")<<"a leapyear."<<endl;
return0;
}
选项
答案
(1)int year,month,day; (2)将“return”补充完整为:return(year%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.“<<endl;”补充完整为:cout<<”date2 is"<<(date2.IsLeapYear()?" ":"not")<<" aleapyear."<<endl;
解析
(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!1=0);”。
(3)题目3要求“设置SetData()的默认时间为:2004—12—1”。程序中类Date的成员函数定义为“void SetDate(int y,int m,int n);”,设置默认时间为:2004—12—1,就是设置SetDate函数中的变量值分别为2004,12,1。即成员函数的定义语句修改为“void SetDate(int y=2004.int m=12,int n=1);”。
(4)题目4要求“完成主函数main(),完成输出date2 is a leapyear”。标识4下的语句“cout<<"date2 is"<<" ":"not")<<"a leapyear."<<endl;”缺少字符串“date2 is”以及判断date2是否为润年的date2.IsLeapYear()函数调用,所以这条语句补全为“cout<<"date2 is"<<(date2.IsLeapYear()?" ":"not"1<<"a leapyear."<<endl;”。
转载请注明原文地址:https://kaotiyun.com/show/27Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于对象概念的描述中,()是错误的。
对于模板定义关键字class和typename说法不正确的是
【】是当前软件开发环境中富有特色的研究工作和发展方向。
在C++中,打开一个文件,就是将这个文件与一个【】建立关联,关闭一个文件,就是取消这种关联。
设有二维数组A[0..9,0..19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6,6]的存储地址为,【】。
若类A和类B的定义如下;classA{inti,j;public:intgeti(){returni;}};clasSB:publ
下面对对象概念描述错误的是
类的析构函数的作用是
下面的语句中错误的是
软件危机出现于20世纪60年代末,为了解决软件危机,人们提出用______的原理来设计软件,这就是软件工程诞生的基础。
随机试题
女,32岁,主诉晨起时枕头上有血迹,牙龈自发性出血及疼痛3天。检查时闻及腐败性口臭。患者首诊的最佳处理措施是
下列关于胆囊点的叙述,正确的是()
杜某拖欠谢某100万元。谢某请求杜某以登记在其名下的房屋抵债时,杜某称其已把房屋作价90万元卖给赖某,房屋钥匙已交,但产权尚未过户。该房屋市值为120万元。关于谢某权利的保护,下列哪些表述是错误的?(2014年卷三54题,多选)
指导整个招标投标工作全过程的纲领性文件是()。
后张法预制梁板施工工序规定,梁(板)成活后要采用蒸汽养生,养生恒温不宜超过( )℃。
甲、乙因工程质量纠纷,乙申请某仲裁委员会仲裁,仲裁庭裁决驳回乙方请求,并作出了裁决。乙方认为仲裁庭的某种裁员处理此案时有受贿行为,依照我国《仲裁法》的规定,乙方可以()。
下列属于毛泽东提出的重要思想的有()。
末站服务是全陪整个服务工作中的最后环节。()
向一密闭容器中充入一定量CH3OH,在一定条件下发生2CH3OH(g)CH3OCH3(g)+H2O(g),达到平衡时CH3OH的体积分数随温度变化如下图所示。下列叙述正确的是()。
设二次型f(x1,x2,x3)=XTAX,A的主对角线上元素之和为3,又AB+B=O,其中求正交变换X=QY将二次型化为标准形;
最新回复
(
0
)