纠错?解决方案
纠错???
1.编写一个程序,输入N个学生的资料,包括姓名,学号,成绩,要求输出这些学生的资料并求出平均成绩。(使用静态成员函数avg();静态变量,学生数 num,总成绩 sum)
#include<iostream>
#include<cmath>
using namespace std;
class stud
{
public:
stud(char no[],char name[],float deg)
{
strcpy(x1,name);
strcpy(x2,no);
x3=deg;
num++;
}
stud(stud &s)
{
strcpy(x1,s.x1);
strcpy(x2,s.x2);
x3=s.x3;
}
void disp()
{
cout<<s.x1<<" "<<s.x2<<" "<<s.x3<<endl;
cout<<s.avg()<<endl;
}
static void avg()
{
float s;
s.sum=s.sum+s.x3;
s=s.sum/s.num;
}
private:
char x1[20],x2[20];
float x3;
static float sum,num;
};
void main()
{
char a[],b[];
float c;
cin>>a>>b>>c;
stud s(a,b,c);
s.disp();
}
好像写的不对,求改正。。。
------解决方案--------------------
1.编写一个程序,输入N个学生的资料,包括姓名,学号,成绩,要求输出这些学生的资料并求出平均成绩。(使用静态成员函数avg();静态变量,学生数 num,总成绩 sum)
#include<iostream>
#include<cmath>
using namespace std;
class stud
{
public:
stud(char no[],char name[],float deg)
{
strcpy(x1,name);
strcpy(x2,no);
x3=deg;
num++;
}
stud(stud &s)
{
strcpy(x1,s.x1);
strcpy(x2,s.x2);
x3=s.x3;
}
void disp()
{
cout<<s.x1<<" "<<s.x2<<" "<<s.x3<<endl;
cout<<s.avg()<<endl;
}
static void avg()
{
float s;
s.sum=s.sum+s.x3;
s=s.sum/s.num;
}
private:
char x1[20],x2[20];
float x3;
static float sum,num;
};
void main()
{
char a[],b[];
float c;
cin>>a>>b>>c;
stud s(a,b,c);
s.disp();
}
好像写的不对,求改正。。。
------解决方案--------------------
- C/C++ code
#include<iostream> #include<cmath> using namespace std; class stud { public: stud(char no[],char name[],float deg) { strcpy(x1,name); strcpy(x2,no); x3=deg; sum=0; num=0; num++; } stud(stud &s) { strcpy(x1,s.x1); strcpy(x2,s.x2); x3=s.x3; } void disp() { cout<<x1<<" "<<x2<<" "<<x3<<endl; cout<<avg()<<endl; } float avg() { float s; sum=sum+x3; s=sum/num; return s; } private: char x1[20],x2[20]; float x3; float sum,num; }; void main() { char a[20]={0},b[20]={0}; float c; cin>>a>>b>>c; stud s(a,b,c); s.disp(); }
------解决方案--------------------
#include <iostream>
#include <string>
using namespace std;
static int num=0;
static float sum=0;
class Student
{
public:
/*
Student()
{
name=NULL;
number=NULL;
grade=0;
num=0;
}
*/
Student(string name,string number,float grade)
{
this->name=name;
this->number=number;
this->grade=grade;
num++;
sum+=grade;
}
string GetName()
{
return name;
}
string GetNumber()
{
return number;
}
float GetGrade()
{
return grade;
}
private:
string name;
string number;
float grade;
};
float GetAverage()
{
float average=0;
average=sum/num;
return average;
}
int main()
{
string name,number;
float grade;
int num;
cout<<"The number of students:";
cin>>num;
cout<<"Please input the information of student:"<<endl;
for(int i=0;i<num;i++)
{
cout<<"student:"<<i+1<<endl;
cout<<"Name:";
cin>>name;
cout<<"Number:";
cin>>number;
cout<<"Grade:";
cin>>grade;
cout<<endl;
Student student(name,number,grade);
}
cout<<endl<<"The average score is:";
cout<<GetAverage()<<endl;
return 0;
}
运行结果
The number of students:3
Please input the information of student:
student:1
Name:Henry
Number:01
Grade:90
student:2
Name:perter
Number:02
Grade:89
student:3
Name:Justin
Number:03
Grade:91
The average score is:90