1、国家二级 C+机试(操作题)模拟试卷 144及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 progl下的工程 prog1。此工程中包含程序文件 main cpp,其中有类 Score(“成绩 ”)和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 学号: 12345678课程:英语总评成绩: 85 注意:只修改每个 “ ERROR*found*”下的一行,不要改动程序中的其他内容 。 #include using namespace std; clasS Score publi
2、c: Score(const charthe course, const char*the id r int the normal l int the midterm, int the end of term) : course(the course), normal(the normal), midterm(the midterm), end of term(the end of term) ERROR*found* strcpy(the id, student id); const char*getCourse()constreturn course; ) 返回课程名称 ERROR*fou
3、nd* const char*getID()constreturn &student id; ) 返回学号 int getNormal()cons treturn normal; ) 返回平时成绩 int getMidterm()constreturn midterm; ) 返回期中考试成绩 int getEndOfTerm()constreturnendofterm; 返回期末考试成绩 int getFinal()const; 返回总评成绩 private: const char*course;课程名称 char student id12; 学号 int normal;平时成绩 int mi
4、dterm;期中考试成绩 int end of term; 期末考试成绩 ; 总评成绩中平时成绩占 20,期中考试占 30,期末考试占 50,最后结果四舍五入为一个整数 ERROR*found* int getFinal()const return normal*0 2+midterm*0 3+ endofterm*0 5+0 5; int main() char English=“英语 ”; Score score(English, “12345678”, 68, 83, 92); cout using namespace std; class Class “班级 ”类 public: Cl
5、ass(const char*id, const char*room) strcpy(class id, id); *found* const char*getClasSID()const f return class id; ) 返回班号 * found* const char*getClassroom()const _) 返回所在教室房号 void changeRoomTo(const char*new room) 改换到另一个指定房号的教室 strcpy(classroom, new room); private: char class id20; 班号 char classroom20
6、; 所在教室房号 ; class Student “学生 ”类 char my idi0; 学号 char my name20;姓名 Class&my_class; i s; st在教室 public: *found* Student(const char*the_id, const char*the_name, Class&theclass): _ strcpy(my_id, theid); strcpy(my_name, the_name); const char*getID()constreturn my_id; ) const char*getName()constre turn my
7、name; ) Class getClass 0constreturn my_class; ) ; void showStudent(Student*stu) coutgetID()getName()getClass() getClassID()getClass() getClassroom()0) 当 j大于零时,做相乘操作,即完成该项的乘方动作 xJalue* =x; j一一, value+=coefi*x value; 把 i项的乘方结果乘以该项系数后加进 value中 【试题解析】 本题考查 Polynomi类,其中涉及构造函数、动态数组、析构函数和 const函数。 【解题思路】 题目要求成员函数 getValue计算多项式的值,多项式 中 x的值由参数指定,多项式的值 value为各次项的累加和。由类的定义可知数组 coef中存储的是各次项的系数,这里使用 for循环来完成题目要求,当次项为 0时, value=coef0。当次项为 1时, value=coef1*x+coef0。依次类推直到 x的最高次数。