C++一个简单问题求助

2025-12-05 15:31:11
推荐回答(4个)
回答1:

#include
using namespace std;

class CScore
{

public:

CScore(int a)
{
num=a;
}

void INPUT()
{
cout<<"\n请依次输入名称、三科得分\n";
cin>>name>>score[0]>>score[1]>>score[2];
}

void Everage()
{
avg=(float)(score[0]+score[1]+score[2])/3;
}

float PRINT()
{
cout<<"\n学号为 "<return avg;
}

void MXA(float *p,int n)
{
for(int i=1;iif(*(p+i)>*p)
*p=*(p+i);

cout<<"\n最高平均分为 "<<*p<<"\n";
}

~CScore()
{
cout<<"\n程序运行完毕!\n";
}

private:
int num,score[3];
char name[30];
float avg;
};

int main(void)
{
int n,i,temp;
float *m;
CScore *p;
cout<<"键入学生数量\n";
cin>>n;

m=new float(n);

for(i=0;i{
p=new CScore(i+1);
(*p).INPUT();
(*p).Everage();
m[i]=(*p).PRINT();
delete p;
}
(*p).MXA(m,n);

return 0;
}

已经在Dev-C++编译通过

p.s.终于过百度的审查了。。。
审查速度不是一般的慢啊。。。

回答2:

/*
学生有(num 、name、score[3])等信息,用类(CScore)来编写程序,要求:
成员函数1、进行学生信息的初始化;(构造函数,CScore)
成员函数1、输出文字“程序运行完毕!”; (析构函数,~CScore)
成员函数2、实现1个学生数据的输入;(INPUT)
成员函数3、计算学生的平均成绩;(Everage)
成员函数4、可打印学生的成绩上述信息;(PRINT)
成员函数5、找到成绩最好的学生并输出其信息;(MXA)
主函数6、设计类CScore ,定义对象调用构造函数。实现三个学生信息的录入,
计算学生的平均成绩,打印输出学生的信息,输出成绩最好的学生(平均成绩)。
*/
#include
#include
using namespace std;
class Cscore
{
public:
Cscore();
~Cscore(){cout<<"程序运行完毕!";}
void input(int n,string nam,float a,float b,float c);
float everage();
void print();
void maxp(Cscore &Cs1,Cscore &Cs2);
protected:
int num;
string name;
float score[3];
};
Cscore::Cscore()
{
num=0;
name="0";
for(int i=0;i<3;i++)
score[i]=0;
}
void Cscore::input(int n,string nam,float a,float b,float c)
{
num=n;
name=nam;
score[0]=a;
score[1]=b;
score[2]=c;
}
float Cscore::everage()
{
float aver,sum=0;
for(int i=0;i<3;i++)
sum+=score[i];
aver=sum/3.0;
return aver;
}
void Cscore::print()
{
cout<<"No.:"< ",sc2:"<}

void Cscore::maxp(Cscore &Cs1,Cscore &Cs2)
{
int i;
if(everage()>Cs1.everage())
i=1;
else i=2;
if(i==1)
{
if(everage() i=3;
}
else if(i==2)
{
if(Cs1.everage() i=3;
}
cout<<"maxstud:"< switch(i)
{
case 1:print();break;
case 2:Cs1.print();break;
case 3:Cs2.print();break;
default:cout<<"error!";
}
}
int main()
{
Cscore c1,c2,c3;
c1.input(1,"zhang",98,97,96);
c2.input(2,"li",88,87,86);
c3.input(3,"wang",78,96,77);
c1.print();
c2.print();
c3.print();
c1.maxp(c2,c3);
return 0;
}

回答3:

学生有(num 、name、score[3])等信息,用类(CScore)来编写程序,要求:
成员函数1、进行学生信息的初始化;(构造函数,CScore)
成员函数1、输出文字“程序运行完毕!”; (析构函数,~CScore)
成员函数2、实现1个学生数据的输入;(INPUT)
成员函数3、计算学生的平均成绩;(Everage)
成员函数4、可打印学生的成绩上述信息;(PRINT)
成员函数5、找到成绩最好的学生并输出其信息;(MXA)
主函数6、设计类CScore ,定义对象调用构造函数。实现三个学生信息的录入,计算学生的平均成绩,打印输出学生的信息,输出成绩最好的学生(平均成绩)。

这是个考试题目.
提问者:richindcn - 助理 二级

回答4:

// Cscore.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;

const int LESSONS=3;

class Cscore{
public:
Cscore(){}//默认构造函数
Cscore(int snum,string sname,int s[LESSONS]){//自定义构造函数
num=snum;
name=sname;
for (int i=0;i score[i]=s[i];
}
}
~Cscore(){//析构函数
cout<<"程序运行完毕!"< }
void input(){//学生数据输入
cout<<"请输入学号:";
cin>>num;
cout<<"请输入学生姓名:";
cin>>name;
cout<<"请输入学生成绩,以空格分开:";
for (int i=0;i cin>>score[i];
}
}
double everage(){//计算平均成绩
int total=0;
for (int i=0;i total+=score[i];
}
return total/(double)LESSONS;
}
void print(){//打印学生信息
cout<<"学号: "< cout<<"姓名: "< cout<<"成绩: ";
for(int i=0;i cout< }
cout< cout<<"平均成绩: "< }
static void max(Cscore p[],int p_size){//查找并输出平均成绩最好的学生
Cscore temp=p[0];
for (int i=1;i if (temp.everage()<=p[i].everage()){
temp=p[i];
}
}
cout< cout<<"-----平均成绩最高的学生-----"< temp.print();
cout<<"----------------------------"< }
private:
int num;
string name;
int score[LESSONS];
};

int _tmain(int argc, _TCHAR* argv[])
{
Cscore s[3];
//三个学生信息的输入
for (int i=0;i<3;i++){
s[i].input();
}
//打印学生信息
for (int i=0;i<3;i++){
s[i].print();
}
//查找并输出成绩最好的学生
Cscore::max(s,3);
return 0;
}