国家二级C++机试(操作题)模拟试卷311
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi1.epp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为:
Hello Visual C++!
Hello Visual C++!!
注意:错误的语句在//********error********的下面,修改该语句即可。
#include
class CMyObject
{
public:
CMyObject()
{
//********error********
cout<<\\
(1)cout<<\\
解析:(1)由程序的运行结果可知,语句CMyObject obj1;定义obil对象调用默认的构造函数,此时屏幕上输出“Hello Visual C++!”,cout流中的数据是用流插入运算符“<<”顺序加入的,第1个标识下“Hello,”字符串插在输出流中,因此必须加双引号引用起来,即第1个标识下应该为“cout<<\\
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使输入某年某月某日,可判断这一天是这一年的第几天。
程序分析:以3月5日为例,应该先把前两个月的天数加起来,然后再加上5天即本年的第几天(特殊情况:闰年输入月份大于3时需考虑多加一天)。
注意:只能补充函数func(int year,int month,int day),请勿改动其他部分的内容。
#inC1ude
int func(int year,int month,int
day)
{
}
Void main()
{
cout<<func(2007,2,1)<<endl;
cout<<func(2007,10,10)<<endl;
cout<<func(2008,8,12)<<endl;
return;
}
int sum;
int leapyear;
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:
sum=0;
break;
case 2:
sum=31;
break;
case 3:
sum=59;
break;
case 4:
sum=90;
break;
case 5:
sum=120;
break;
case 6:
sum=151;
break;
case 7:
sum=181;
break;
case 8:
sum=212;
break;
case 9:
sum=243;
break;
Case 10:
sum=273;
break;
case 11:
sum=304;
break;
case 12:
sum=334;
break;
default:
cout<<\\
解析:(1)为方便起见,先统计正常年份下,每个月的前面有多少天,可以用switch方式查询,然后再加上本月的日子,很快便得到了这一天是属于这一年的第几天。
(2)闰年的判断方法为:if(year%400=0‖(year%4==0&&year%100!=0)),if语句为真则为闰年,二月之后的日期后需要加一天。
综合应用题
3.使用VC6打开源程序文件modi3.cpp。此程序的功能是将out1.txt文件中的内容输出到屏幕与文件中。输出如下:
李一 1.78m 21
王一 1.65m 23
out2.txt文件的内容如下:
李一 1.78m 21
王一 1.65m 23
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)以输入方式打开文件out1.txt,请在注释//********1********后添加适当的语句。
(2)以输出方式打开文件out2.txt,请在注释/********2********后添加适当的语句。
(3)从文件中获得一个字符,判断是否结束,如果结束则退出输出。 请在注释//********3********后添加适当的语句。
(4)把获得的字符输出到文件中,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
#include
#include
#include
void main()
{
char ch;
fstream infile,outfile;
//********1********
infile.open(\\
(1)将“infile.open(\\
解析:(1)题目1要求“以输入方式打开文件out1.txt”。在C++中调用文件流的成员函数open的格式为,文件流类.opent(\\
本文档预览:3600字符,共3021字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载