鱼C论坛

 找回密码
 立即注册
查看: 2708|回复: 1

求助,程序改错

[复制链接]
发表于 2021-4-10 17:44:19 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

【要求】编写一个程序,已有若干个学生数据,包括学号、姓名、成
绩,要求输出这些学生数据并计算平均分。
【分析】定义一个类Stud,数据成员no表示学号,整型;数据成员
name表示姓名,10个字符的数组;数据成员deg表示学生成绩,整
型;
为了记录学生的人数和成绩总和,
添加了两个静态整型变量num
和sum;定义构造函数完成数据的初始化,disp()函数显示数据成员
信息,avg()函数完成平均分的计算。
在主函数外部,记得为类Stud中的静态整型变量赋初值。在主
函数中,定义3个Stud对象s1、s2和s3,通过disp()成员函数完成
信息输出,通过avg()成员函数完成三个对象的平均分计算。
#include<iostream>
using namespace std;
class Stud
{public:
int no,
string name[10],
int deg,
static int num,
static int sum,
int avg,
Stud(int no1,string name1,int deg1)
{ no=no1;
name=name1;
deg=deg1;
}
}
void disp()
{
cout << "Student" <<No<<" ";
cout<<"Name"<<name<<" ";
cout<<"Mark"<<deg<<endl;
}
int avg()
{ int A;
A=num/sum;
cout<<"Avg="<<A<<endl;
}
int main()
Stud s1(13,小B,80),
Stud s2(18,小C,90);
Stud s3(17,小D,75);
s1.disp();
S2.disp();
s3.disp();
Stud::avg();
return 0;
}

请求大佬帮忙改错,不胜感激。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-4-10 19:11:48 | 显示全部楼层
改好了,解释全在注释里。
代码如下:
  1. #include<iostream>
  2. using namespace std;
  3. class Stud
  4. {
  5.     public:
  6.     void disp();
  7.     void avg();
  8.     int no;//学号
  9.     string name;//姓名
  10.     int deg;//成绩
  11.     static int num;
  12.     static int sum;
  13.     Stud(int no1,string name1,int deg1);
  14. };
  15. int Stud::num=0;//假设有3门课
  16. int Stud::sum=0;
  17. //定义构造函数完成数据的初始化
  18. Stud::Stud(int no1,string name1,int deg1)
  19. {
  20.     no=no1;
  21.     name=name1;
  22.     deg=deg1;
  23.     sum+=deg;
  24.     num++;
  25. }
  26. //disp()函数显示数据成员
  27. void Stud::disp()
  28. {
  29.     cout << "Student no:" <<no<<endl;
  30.     cout<<"Name:"<<name<<endl;
  31.     cout<<"Mark:"<<deg<<endl;
  32. }
  33. //avg()函数完成平均分的计算
  34. void Stud::avg()
  35. {
  36.     cout<<"Avg="<<(sum/num)<<endl;
  37. }
  38. int main()
  39. {
  40.    /* Stud s1(13,"小B",80);
  41.     Stud s2(18,"小C",90);
  42.     Stud s3(17,"小D",75);
  43.     s1.disp();
  44.     s2.disp();
  45.     s3.disp();*/
  46.     Stud s[3]={
  47.         Stud(13,"小B",80),
  48.         Stud(18,"小C",90),
  49.         Stud(17,"小D",75)
  50.     };
  51.     for(int i=0;i<3;i++)
  52.         s[i].disp();

  53.     //通过avg()成员函数完成三个对象的平均分计算。

  54.     s[0].avg();
  55.     //Stud.avg();
  56.     return 0;
  57. }
复制代码

运行结果如下:
ls33.png
OK 希望有点用吧!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-12 17:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表