国家二级C++机试(操作题)模拟试卷402
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi.cpp,该程序运行时有错误,请改正错误,使得程序正常运行,并且要求最后一个catch()必须抛出执行的任何异常。
程序通过抛出异常输出:
error
0
ERROR
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
∥********error********的下面。
{l}include
int msin()
{
try
{
throw(“error”);
}
∥********error********
catch(char s)
{
cout<<s<<endl;
}
try
{
throw((int)0);
}
∥********error********
catch()
{
cout<<i<<endl;
}
try
{
throw(0);
throw(“error”);
}
∥********error********
catch()
{
cout<<“ERROR”<<endl;
}
return 0;
}
(1)catch(char*s)
(2)catch(int i)
(3)catch(…)
解析:本程序是对各种异常信息的处理。try-catch的结构中,catch子句用来捕捉异常的信息。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*s),该函数完成以下功能:
(1)把s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。
例如:s=“helloTEST”,则结果为:s=“HELLOtest”
(2)完成函数WriteFile(char*s),把字符串输入文件中。
提示: 打开文件使用的第二参数为ios_base::binary Jios—base::app。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
#include
#include
#include
using namespace std;
Void WriteFile(char*s)
{
}
void fun(char*s)
{
}
void ClearFile()
{
ofstream outl ;
outl.open(“modi2.txt”);
out1.Close();
}
int main()
{
C1earFile();
char s[1 02 4];
cout<<“please input a string:”<<end1;
Cin.getline(s,1 02 4);
fun(s);
return 0;
}
(1)void WriteFile(char*S)中的命令语句:
Ofstream outl ;
outl.open(“modi 2.txt”,ios base
::binary f i0S base::app);//打开文件modi2
outl<<s:
//写入字符串s outl.close();
(2)void fun(char*s)中的命令语句:
for(int i=0;s[i]!=0 ; i++)
//循环判断每一个字符
{
if(s[i]>=‘A’&&S[i]<=‘Z’)
//如果是大写字符,转换为小写字符
{
s[i]=S[i]一‘A’+‘a’;
//- S[i]一’A’+‘a’等于字符s[i]+32
}
Else
if(s[i]>=‘a’&&S[i]<=‘z’)
//如果是小写字符,转换为大写字符
{
S[i]=s[i]一‘a’+‘A’;
// s[i]’a’+’A’等于字符
s[i]一32
}
}
WriteFile(s);
解析:(1)本题要求实现两个函数的功能,其中WriteFile(char*s)实现把字符串输入到文件中;fun(char*s)函数实现大写字母转换成小写字母,把其中的小写字母转换成大写字母。其中大小写字母之问的ASCⅡ码差为32。
(2)从已给部分源程序的main主两数开始入手,首先实现WriteFile函数,然后再实现fun函数,并在其中调用WriteFile函数。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整;按要求完成下列操作,将类的定义补充完整。
(1)完成构造函数的定义,请在注释∥********1********后添加适当的语句。
(2)定义类的友元函数fun(),请在注释∥********2********后添加适当的语句。
(3)定义类的友元函数main(),请在注释∥********3********后添加适当的语句。
(4)补充语句,释放内存。请在注释∥********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
Class TestClass
{
public:
∥********1********
{
data=d;
next=NULL;
}
void SetNext(TestClass*p)
{
next=p;
}
private:
int data;
TestClass*next;
∥********2********
∥********3********
};
本文档预览:3600字符,共5023字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载