C++ Logo
C++二级在线二级在线
首页选择题程序题成为会员帮助其他科目

总评计算

请修改编辑器中的代码,完成以下功能:程序需要创建一个名为 Score 的类,用于计算学生的总评成绩。该类包含课程名称、学号、平时成绩、期中成绩和期末成绩,并通过构造函数进行初始化。程序应修正错误以确保学号正确存储和返回,并实现 getFinal 函数以计算总评成绩。总评成绩计算公式为:平时成绩的20% + 期中成绩的30% + 期末成绩的50%。程序不需要读取输入,直接输出结果。 输出示例: 学号:12345678 课程:英语 总评成绩:85

#include <iostream>
#include <cstring> 
#pragma warning (disable:4996)
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 (int)(normal*0.2+midterm*0.3+end_of_term*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;
}

控制台

调试终端

准备就绪