C++程序在那出问题了啊?

来源:百度知道 编辑:UC知道 时间:2024/09/23 14:28:17
#include<iostream.h>
class student {
char s[40];
int id;
int score[4];
int avg;
int sum;
public:
void getNameandID();
void getScore();
void Print();
};
void student::getNameandID()
{
cout<<"输入学生的姓名和学号";
cin>>s;
cin>>id;
}
void student::getScore()
{
int sum=0,avg;
cout<<"输入数学英语物理和C++成绩";
for(int i=0;i<4;i++)
{
cin>>score[i];
sum+=score[i];
}
avg=sum/4;
}
void student::Print()
{
cout<<"姓名"<<'\t'<<"学号"<<'\t'<<"总成绩"<<'\t'<<"平均成绩"<<'\t';
cout<<s<<'\t'<<id<<'\t'<<sum<<'\t'<<avg<<'\t';
}
void main()
{
st

前面两句改成
#include<iostream>
using namespace std;
在main()中改成如下:
int main()
{
student stu1;
stu1.getNameandID(); //这三处是调用函数,要加括号的
stu1.getScore();
stu1.Print();
return 0;
}
你再编译一下看看
而且,还要增加两个构造函数,改后所有代码如下:
#include<iostream>
using namespace std;
class student
{
char s[40];
int id;
int score[4];
int avg;
int sum;
public:
student(); // 增加两个构造函数, 不带参数的构造函数声明
student(char ss[], int Id, int Score[], int Avg, int Sum);//带参数的构造函数声明
void getNameandID();
void getScore();
void Print();
};

student::student(char ss[], int Id, int Score[], int Avg, int Sum)//带参数的构造函数定义
{
for(int i = 0; i < 40; i++)
{
s[i] = ss[i];
}
id = Id;
for(int i = 0; i < 4; i++)
{
score[i] = Score[i];
}
avg = Avg;
sum = Sum;
}
student::stud