国家二级C++机试(操作题)模拟试卷556
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为:从键盘输入一个字符串,并将结果保存到文件modi1.txt中。
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
1 #include<iostream>
2 #include<fstream>
3 //********error********
4 using std;
5 void WriteFile(char* s)
6 {
7 ofstream out1;
8 //********error********
9 out1.open(’’modi1.txt’’,binary|app);
10 for(int i=0;s[i]!=0;i++)
11 {
12 //********error********
13 out1.puts(s[i]);
14 }
15 out1.close();
16 }
17 void ClearFile()
18 {
19 ofstream out1;
20 out1.open(’’modi1.txt’’);
21 out1.close();
22 }
23 int main()
24 {
25 char s[1024];
26 ClearFile();
27 cout<<’’please input a string:’’<<end1;
28 cin.getline(s,1024);
29 WriteFile(s);
30 return 0;
31 }
(1)using namespace std;
(2)out1.open(’’modi1.txt’’,ios::binary| ios::app);
(3)out1.put(s[i]);
解析:程序要求从键盘输入一个字符串,并将结果保存到文件modi1.txt中。从已给定源程序的main主函数开始入手,main主函数首先调用ClearFile函数打开文件,然后调用WriteFile函数将字符串写入文件。
(1)第1个标识下的“using std;”是在程序中引入标准命名空间std,对于C++中引入标准命名空间的格式,缺少namespace,所以第1个标识下的语句修改为“using namespace std;”。
(2)第2个标识下,调用成员函数open中,输入输出方式是在ios类中定义的,所以“out1.open(’’modi1.txt’’,binarylapp);”语句缺少类ios,即第2个标识下的语句修改为“out1.open(’’modi1.txt”,ios::binarylios::app);”。
(3)第3个标识应该用流成员函数put输出字符,所以第3个标识下的语句修改为“out1.put(s[i]);”。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(int x),该函数功能是判定x的所有的约数,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。
例如:x=10的约数为1,2,5,10。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
1 #include<iostream>
2 #include<fstream>
3 #include<cmath>
4 using namespace std;
5 void WriteFile(int c)
6 {
7 ofstream out1;
8 out1.open(’’modi2.txt’’,ios_base::binary|ios_base::app);
9 out1<<c<<’ ’;
10 out1.close();
11 }
12 void fun(int x)
13 {
14
15 }
15 void ClearFile()
17 {
18 ofstream out1;
19 out1.open(’’modi2.txt’’);
20 out1.close();
21 }
22 int main()
23 {
24 ClearFile();
25 fun(10);
26 return 0;
27 }
1 for(int i=1;i<=x;i++)
2 {
3 if(x%i==0) //如果x被i整除,那么i为x的约数
4 {
5 WriteFile(i);
6 //将约数i存入文件
7 }
8 }
解析:(1)本题中函数的功能是求出约数。x的约数就是能整除其的所有整数。可以从1开始到x,计算取余。如果整除该数为x的约数。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(int x)中的x参数为要计算约数的整数。
(3)由1到X,循环判断其中是否有x的约数。
(4)如果x被i整除,那么i为x的约数。
(5)最后调用WriteFile函数,将约数i存入文件。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示坐标的类TestClass1,但类TestClass1的定义并不完整,按要求完成下列操作,将类的定义补充完整。
(1)声明TestClass2类为TestClass1类的友元类,请在注释//********1********后添加适当的语句。
(2)完成类的构造函数,分别对成员变量赋值,请在注释//********2********后添加适当的语句。
(3)完成类的构造函数,分别对成员变量赋值,请在注释//********3********后添加适当的语句。
(4)完成计算平面上两点之间的距离函数Distance,计算的方法如下:X坐标之差的平方与Y坐标之差的平方之和的开方。请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
1 #include<iostream>
2 #include<cmath>
3 using namespace std;
4 class TeStClass1
5 {
6 //********1********
7<
本文档预览:3600字符,共5358字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载