首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1
admin
2020-06-29
121
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1********后添加适当的语句。
(2)完成判断数据成员date2是否是闰年函数intDate::IsLeapYear()的定义,返回数据成员date2是否是闰年的值,是则返回1,否则返回0。请在注释//********2********后添加适当的语句。
(3)设置SetData()的默认时间为:2004-12-1,请在注释//********3********后添加适当的语句。
(4)完成主函数main(),完成输出date2 is a leapyear,请在注释//********4********后添加适当的语句。
提示:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年:被100整除也可被400整除的为闰年。
注意:增加或修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include
2 using namespace std;
3 class Date
4 {
5 public:
6 //********3********
7 void SetDate(int Y,int m,int n);
8 int IsLeapYear();
9 void Print()
10 {cout<
11 private:
12 //********1********
13
14 };
15 void Date::SetDate(int Y,int m,int d)
16 {
17 year=y;
18 month=m;
19 day=d;
20 }
21 int Date::IsLeapYear()
22 {
23 //********2********
24 return
25 }
26 int main()
27 {
28 Date datel,date2 ;
29 date1.SetDate();
30 date2.SetDate(2004,12,1);
31 cout<<"datel:";
32 datel.Print();
33 cout<<”date2:”;
34 date2.Print();
35 //********4********
36 cout << "date2 is"<<("": "not")<<"a leapyear."<
37 return 0 ;
38 }
选项
答案
(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,intm=12,int n=1); (4)将“cout<<"date2 is"<<("":"not")<<"a leapyear."<
解析
本题中程序的功能是判断2004年是否为闰年。其中成员函数SetDate设置日期,IsLeapYear函数判断是否为闰年。在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,可以看出程序通过调用类Date和和其成员函数实现各种功能。
[解题思路]
(1)题目1要求“定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据”。在程序中的Date类中的priate区域添加数据成员year、month、day的定义即可,其中它们的类型根据题目要求定义为int型。即在第1个标识下添加“int year,month,day;”。
(2)题目2要求“完成判断数据成员date2是否是闰年函数int Date::IsLeapYear0的定义”。公元纪年的年数可以被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要求“设置SetData()的默认时间为:2004-12-1”。程序中类Date的成员函数定义为“voidSetDate(int y,int m,int n);”,设置默认时间为:2004-12-1,就是设置SetDate函数中的变量值分别为2004,12,1。即成员函数的定义语句修改为“void SetDate(int y=2004,intm=12,int n=1);”。
(4)题目4要求“完成主函数main(),完成输出date2 isa leapyear”。标识4下的语句“cout<<"date2 is"<<("":"not")<<"a leapyear."<
转载请注明原文地址:https://kaotiyun.com/show/8Byp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数定义:voidfunc(inta,int&b){a++;b++;}若执行代码段:intx=0,y=1;func(x,y);则变量x和y的值分别是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。
求n阶勒让德多项式的递归函数定义如下:doubleP(doublex,intn){if(n==0)return1;if(n==1)returnx;
有如下类声明和函数声明classBase{intm;public:intn;protected:intp;};classDer
有如下类定义:classBase{intm;intn;public:Base(intm1,intn1):n(n1),m(m1){}};
设c1和c2是类MyClass的对象,若将前缀运算符"--"和运算符"/"作为类MyClass的友元函数重载,则表达式--c1/c2等价于
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
随机试题
A、环形红斑B、关节破坏C、腹痛、便血D、心肌梗死E、结膜炎属于儿童类风湿病临床表现的为
某一级公路施工改造工程,其结构为二灰土底基层、水泥稳定碎石基层和沥青混凝土面层,工期为当年5月份至11月底。由于施工干扰因素多,有较大的技术难度,项目部提前进行了施工技术准备工作。施工技术准备的主要内容:(1)工程项目资料交接。
沥青混合料结构组成中,骨架-空隙结构的特点是()。
下列合同和凭证应当缴纳印花税的是()。
下列名言警句与哲学家对应正确的一项是()。
一、注意事项1.申论考试,与传统作文考试不同,是对分析驾驭材料的能力与对表达能力并重的考试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定的资料,按照后面提出的“申论要求”依次作答。二、给定资料材料一
下列四个选项中,哪个可以折出左边指定的图形?
对精神疾病患者进行强行治疗或者对杀手从重从快的斩立决,是__________,而非__________。填入划横线部分最恰当的一项是:
PassageFourWhatadvertisementsdoChinesepeopleprefertohavenow?
A、Theycoulddrivetheinsectsaway.B、Theycouldkeeptheplantswellwatered.C、Theycouldbuilddevicestotrapinsects.D、Th
最新回复
(
0
)