操作题
请使用VC6或使用【答题】菜单打开prog1下的工程prog1。此工程中包含程序文件main.cpp,其中有类Score(“成绩”)和主函数main的定义。程序中位于每个“// ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
学号:12345678 课程:英语 总评成绩:85
注意:只修改每个“// ERROR ****found****”下的一行,不要改动程序中的其他内容。
#include <iostream>
using namespace std;
class Score{
public:
Score (const char * the_course, const char * the_id, int the_normal, 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() const {return course;} //返回课程名称
// ERROR *******found*******
const char * getID() const {return &student_id;} //返回学号
int getNormal() const {return normal;} //返回平时成绩
int getMidterm() const {return midterm;}
//返回期中考试成绩
int getEndOfTerm() const {return end_of_term;} //返回期考试成绩
int getFinal() const; //返回总评成绩
private:
const char * course; //课程名称
char student_id[12]; //学号
int normal; //平时成绩
int midterm; //期中考试成绩
int end_of_term; //期考试成绩
};
//总评成绩中平时成绩占20%,期中考试占30%,期考试占50%,最后结果四舍五入为一个整数
// ERROR *******found*******
int getFinal() const {
return normal * 0.2 + midterm * 0.3 + end_of_terms 0.5 + 0.5;
}
int main() {
char English[] = '英语';
Score score (English, '12345678',68,83,92);
cout << '学号:' << score.getID() << ' ';
cout << '课程:' << score.getCourse() << ' ';
cout << '总评成绩:' << score.getFinal() << endl;
return 0;
}