首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷382

国家二级C++机试(操作题)模拟试卷382

本单篇文档共7950字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 7727人下载
价格: 1.00 原价:¥7.00
收藏

国家二级C++机试(操作题)模拟试卷382

基本操作题

1.使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:

i=5

i=10

i=15

i=20

注意:错误的语句在∥********error********的下面,修改该语句即可。

#include

class CMyClass

{

public:

template

void func(T x,T Y)

{

∥********error********

T i=0;

if(x>=i)

{

i=i+x;

}

else

{

i=i+y;

}

cout<<“i=”<<i<<endl;

}

};

void main()

{

CMyClass t;

t.func(5,0);

∥********error********

t.func(68,(char)1);

float i=10.0;

∥********error********

t.func(i,1);

t.func(5,5);

}

(1)static T i=0;

(2)t.func((char)6 8,(char)1);

(3)t.func((int)i,1);

解析:程序当中定义了类CMyClass,含有一个成员函数模板func(T x,T y),在函数内定义一个变量i,如果参数x大于i,则i和X的和赋值给i,否则i和y的和赋值给i。

简单应用题

2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如:

输入:This is great!

输出:This grea!

注意:不能修改程序的其他部分,只能补充fun()函数。

#include

#define MAXLEN 1024

void Convert(char*des,char*str)

{

}

void main()

{

char sour[MAXLEN];

char dest[MAXLEN];

cout<<“Please input a string:”<<endl;

cin.getline(sour,MAXLEN);

convert(dest,sour);

cout<<dest<<endl;

return;

}

int i,j;

bool ToAdd;

des[0]=0;

for(i=0;str[i]!=NULL;i++)

{

ToAdd=true;

for(j=0;des[j]!=NULL;j++)

{

if(str[i]==des[j])

{

ToAdd=false;//des数纽中已存在该元素,将标志位设置为假,说明不用再添加

brea k;//des数组中已存在该元素,跳出循环

}

}

if(ToAdd)//des数组中不存在,添加进来

{

deS[j]=Str[i];

des[j+1]=0;

}

}

解析:convert(char*des,char*str)函数的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。原来的字符串存放在str指向的数组中,新字符串存放在des指向的数组中,因此可逐个读取str指向的数组里面的字符,把不同的字符放入des指向的数组中,即每次读str指向的数组一个字符,就在des指向的数组里面查找是不是已经有该字符了,如果已经有了则不添加进来,反之则把该字符加入到des指向的数组中。

(1)由审题分析可知,需要两重循环,外层循环不断读取str中的元素,内循环在des数组中查找读到的str中的字符,如果找到了des数组中已存在该元素不需要添加,如果没找到则添加到des数组中。

(2)在外循环体内,先设置bool型的标志变量ToAdd为真,假设str[i]不存在在des数组中,然后再内循环中,用str[i]和des[j]比较,如果相同说明已经存在了,将ToAdd设置为假.des[j]后面的元素不需要再比较了,跳出内循环。

(3)通过判断ToAdd可知,str[i]是否存在des数组中,如果ToAdd为真,则说明des数组中不存在str[i],将str[i]添加到des数组中。

综合应用题

3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。学校教务处要为任课老师开发一个学生管理系统,需求如下:

(1)学生的信息是要受到严密保护和限制的,包括姓名、五个英文字符的学号,以及精确到小数点后一位的一科成绩,只有任课老师可以修改,如果学生升学了,比如由本科升到研究生,原来的信息,还有效,而只需添加研究生的必要信息,不过现在不必马上实现,但应当有所考虑。

(2)学生的所仃信息可以查看,但也只有学生自己才有这个权利。

(3)学生的信息可以从文件中读取来构造信息库,需要把信息输出到屏幕以便核实,但这需耍任课老师来完成。

(4)老师能提供所教学生的完整信息列表,同时可按成绩高低排序。

(5)为了便于学校评定奖学金,需要单独查找成绩最高的同学(一般不采用把成绩单令部排列后来选取,可能这比较耗费时间,岁然要求不太合理.但要按用户的需求操作,同时需要指出的是,如果成绩最高者有数名,需要—一列出)。

(6)由于学校的机器比较老,内存严重不足,每个老师带的学生数不一样,但也不会超过50人。

以上功能的程序框架已经形成,考生需要按照需求来逐个实现。

(1)请在注释∥********1********之后添加适当的语句,以便实现功能需求(1)。

(2)请在注释∥********2********处添加适当的语句,成绩单排序功能。

(3)请在注释∥********3********处实现查找成绩最高学生名单。

无需修改main()主函数,当得到下面的结粜,该系统可能被采用。

输入的学生信息:

姓名 学号 成绩

周华0001 78.5

李强0002 98

刘星0003 89

贺兰0

本文档预览:3600字符,共7950字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷382

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号