设计一个学生类CStudent,包括姓名和三门课程成绩,利用重载运算符“+”将所有学生C++

设计一个学生类CStudent,包括姓名和三门课程成绩,利用重载运算符“+”将所有学生的成绩相加放在一个对象中,再对该对象求各门课程的平均分。这是我写的,求大神解救!!!... 设计一个学生类CStudent,包括姓名和三门课程成绩,利用重载运算符“+”将所有学生的成绩相加放在一个对象中,再对该对象求各门课程的平均分。
这是我写的,求大神解救!!!1
#include "iostream.h"

class student
{
private:
char a[20]='\0';
int x ,y ,z;
public :
student (char b[20],int m,int k,int t)
{
a=b;
x=m;
y=k;
z=t;
}
student operator +(student s);
int print()
{
return b/3;
}

};
student student:: operator +( student s)
{
student b;
b.x=x+s.x;
b.y=y+s.y;
b.z=z+s.z;
return b;
}
int main()
{
student s1(hank,80,80,80),s2(wei,80,80,80),s3;
s3=s1+s2;
s3.print();

}
展开
 我来答
五百学长
高能答主

2021-09-30 · 最想被夸「你懂的真多」
知道小有建树答主
回答量:3972
采纳率:100%
帮助的人:68万
展开全部

如下:

#include <iostream>

#include <cstring>

#include<IOMANIP>

using namespace std;

class student

{

private:

char a[20];     //不能在类定义中对非static const型变量赋值

int x ,y ,z;

int cnt;        //计数器,存放成绩对应的人数。默认为1个学生的成绩。

public :

student():cnt(1){

a[0]='\0';

x=y=z=0;

}

student (char *b,int m,int k,int t):cnt(1)

{

strcpy(a,b); //字符串赋值

x=m;

y=k;

z=t;

}

student operator +(const student& s);//const 引用,提高效率

void print()

{

cout<<"course 1#,ave score:="<<fixed<<setprecision(2)<<(float) x/cnt<<endl;

cout<<"course 2#,ave score:="<<fixed<<setprecision(2)<<(float) y/cnt<<endl;

cout<<"course 3#,ave score:="<<fixed<<setprecision(2)<<(float) z/cnt<<endl;

}

};

student student:: operator +(const student& s)

{

student b;

b.x=x+s.x;

b.y=y+s.y;

b.z=z+s.z。

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

二十世纪八十年代,美国国家标准局为了避免各开发厂商用的C语言语法产生差异,给C语言制定了一套完整的美国国家标准语法,称为ANSI C。

作为C语言最初的标准。2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

我已经匿名了
推荐于2017-10-06 · TA获得超过816个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:247万
展开全部
#include <iostream>
#include <cstring>
#include<IOMANIP>
using namespace std;
class student
{
private:
char a[20]; //不能在类定义中对非static const型变量赋值
int x ,y ,z;
int cnt; //计数器,存放成绩对应的人数。默认为1个学生的成绩。
public :
student():cnt(1){
a[0]='\0';
x=y=z=0;
}
student (char *b,int m,int k,int t):cnt(1)
{
strcpy(a,b); //字符串赋值
x=m;
y=k;
z=t;
}
student operator +(const student& s);//const 引用,提高效率
void print()
{
cout<<"course 1#,ave score:="<<fixed<<setprecision(2)<<(float) x/cnt<<endl;
cout<<"course 2#,ave score:="<<fixed<<setprecision(2)<<(float) y/cnt<<endl;
cout<<"course 3#,ave score:="<<fixed<<setprecision(2)<<(float) z/cnt<<endl;
}
};
student student:: operator +(const student& s)
{
student b;
b.x=x+s.x;
b.y=y+s.y;
b.z=z+s.z;
b.cnt=cnt+1;//这里,b中存放的总成绩对应人数的计算
return b;
}
int main()
{
student s1("hank",80,80,80),s2("wei",80,90,81),s3, s4("Li",90,90,90);
s3 = s1+ s2 + s4;
s3.print();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3d66808
2013-04-29
知道答主
回答量:7
采纳率:0%
帮助的人:5.7万
展开全部
#include <iostream>
using namespace std;
class student
{
public :
char a[20];
int x ,y ,z;

student(){}
student (char b[20],int m,int k,int t)
{
for(int i=0;i<20;i++)
{
a[i]=b[i];
}
x=m;
y=k;
z=t;
}
student operator +(student s);

};
student student:: operator +( student s)
{
student b;
b.x=x+s.x;
b.y=y+s.y;
b.z=z+s.z;
return b;
}

void print(student b,int n);
int main()
{
student s1("hank",81,82,84),s2("wei",79,78,76),s3;
s3=s1+s2;
print(s3,2);
return 0;

}

void print(student b,int n)
{
cout<<b.x/n<<endl<<b.y/n<<endl<<b.z/n<<endl;

}

其实用学生对象来放乘积和很不地道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式