谁能帮我改一下这个个C++的错误(天哪,错误太多了)

2025-05-15 14:17:22
推荐回答(1个)
回答(1):

//我把你写错的地方都加了注释自己看看你哪里错了吧.估计你是刚开始写,一开始能抄这么大的程序来,值得佩服.
#include
#include
using namespace std;
class cStudent
{
public:
cStudent(){}
~cStudent(){}
double sum();
double average();
void print();
double get_reg_num(); //这里,声明时使用的是 int ,定义时用的是double,返回类型不一致
void set_stu_inf(string,int,double,double,double);
private:
string m_strName;
int m_nReg_Num;
double m_fMath_Grade;
double m_fEnglish_Grade;
double m_fComputer_Grade;
}; //以上代码写在std_head.h 文件里面。
#include
#include
#include"std_head.h"
using namespace std;
double cStudent::sum()//这里,多了个分号.
{
return(m_fMath_Grade+m_fEnglish_Grade+m_fComputer_Grade);
}
double cStudent::average()
{
return(sum()/3);
}
void cStudent::print()
{
cout<<"***********************************"<cout<<"注册号:"<cout<<"姓名: "<cout<<"数学成绩:"<cout<<"英语成绩:"<cout<<"计算机成绩:"<cout<<"该生的总成绩:"<cout<<"该生的平均成绩:"<cout<<"***********************************"<}
double cStudent::get_reg_num()
{
return(m_nReg_Num);
}
void cStudent::set_stu_inf(string strname1,int n_Reg_Num1,double m_fMath_Grade1,double m_fEnglish_Grade1,double m_fComputer_Grade1)//第一个参数,你用时传的是String类型却是char
{
m_strName=strname1; //这里,少写了个m_还把大小写搞错了.
m_nReg_Num=n_Reg_Num1; //这里,少写了个m_还把大小写搞错了.
m_fMath_Grade=m_fMath_Grade;
m_fEnglish_Grade=m_fEnglish_Grade1;
m_fComputer_Grade=m_fComputer_Grade1;

}//以上代码写在make.cpp 文件里面
#include
#include
#include"std_head.h"
#define N 2;//更改成Const int N = 2;不要用这个不安全
//using namespace std;
void main()
{
cStudent stu[2];
cout<<"请输入数据:"<string m_strName1;
int m_nReg_Num1;
double m_fMath_Grade1;
double m_fEnglish_Grade1;
double m_fComputer_Grade1;
for(int i=0; i< 2; i++) //i没有声明
{
cout<<"请输入姓名:"<cin>>m_strName1; //Cin用的是>>不是<<
cout<<"清输入注册号:"<cin>>m_nReg_Num1; //Cin用的是>>不是<<
cout<<"请输入数学成绩:"<cin>>m_fMath_Grade1; //Cin用的是>>不是<<
cout<<"请输入英语成绩:"<cin>>m_fEnglish_Grade1;//Cin用的是>>不是<<
cout<<"请输入计算机成绩:"<cin>>m_fComputer_Grade1; //Cin用的是>>不是<<
//这里,前两个变量名不对,少了M_和大小写不对
stu[i].set_stu_inf(m_strName1,m_nReg_Num1,m_fMath_Grade1,m_fEnglish_Grade1,m_fComputer_Grade1);
}
for(int i=0;i<2;i++ ) //如果你是VC6的话,把i前的int去了.
{
stu[i].print();
}
}//这里少了个},
//你太神了,能把程序写成这样,