mooc程序入门 c语言第一次作业,C语言(C&C++程序设计基础, 电子科技大学MOOC)...

本文介绍了一个学生类的设计,包括学号、姓名和三门课程成绩,并计算平均成绩。同时,还展示了如何通过继承创建形状基类及三角形、四边形、圆形的派生类,实现不同形状的周长计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计一个学生类Student,包含学生学号(最长10位)、姓名(不用支持中文最长12位)、三门课程成绩(成绩是单精度实数类型)等基本信息,

计算每门课程学生的平均成绩。

需实现Student的display成员函数,依次输出学号 姓名 和三门课的成绩,每个输出以空格隔开

成员函数 average1 ,average2 ,average3 ,分别返回三门课的平均成绩。

Student类的使用方法如下所示,在你的代码中除了实现Student类,还需引入以下代码:

int main(){

Student *stu1,*stu2,*stu3;

char name1[10],name2[10],name3[10];

char num1[12],num2[12],num3[12];

int grade1[3],grade2[3],grade3[3];

cin>>name1>>num1>>grade1[0]>>grade1[1]>>grade1[2];

cin>>name2>>num2>>grade2[0]>>grade2[1]>>grade2[2];

cin>>name3>>num3>>grade3[0]>>grade3[1]>>grade3[2];

stu1 = new Student(name1,num1,grade1[0],grade1[1],grade1[2]);

stu2 = new Student(name2,num2,grade2[0],grade2[1],grade2[2]);

stu3 = new Student(name3,num3,grade3[0],grade3[1],grade3[2]);

stu1->display();

stu2->display();

stu3->display();

cout<average1()<

cout<average2()<

cout<average3()<

return 0;

}

上述代码执行时

输入:

200906294 LiWeiwei 88 75 91 200902164 ChenHanfu 86 78 93 200908079 ZhanGaolin 94 69 97

输出:

200906294 LiWeiwei 88 75 91回车

200902164 ChenHanfu 86 78 93回车

200908079 ZhanGaolin 94 69 97回车

The average grade of course1:89.33回车

The average grade of course2:67.33回车

The average grade of course3:93.67回车

1 #include

2 #include

3 #include

4 using namespacestd;5 classStudent{6 stringname, num;7 floatgrade1,grade2,grade3;8 static floatave1,ave2,ave3;9 static intcount;10 public:11 Student(string name,string num, float grade1,float grade2,floatgrade3){12 this->name =name;13 this->num =num;14 this->grade1 =grade1;15 this->grade2 =grade2;16 this->grade3 =grade3;17 count++;18 ave1 +=grade1;19 ave2 +=grade2;20 ave3 +=grade3;21 }22 voiddisplay(){23 cout<

40 intmain()41 {42 Student *stu1,*stu2,*stu3;43 char name1[10],name2[10],name3[10];44 char num1[12],num2[12],num3[12];45 int grade1[3],grade2[3],grade3[3];46

47 cin>>name1>>num1>>grade1[0]>>grade1[1]>>grade1[2];48 cin>>name2>>num2>>grade2[0]>>grade2[1]>>grade2[2];49 cin>>name3>>num3>>grade3[0]>>grade3[1]>>grade3[2];50

51 stu1 = new Student(name1,num1,grade1[0],grade1[1],grade1[2]);52 stu2 = new Student(name2,num2,grade2[0],grade2[1],grade2[2]);53 stu3 = new Student(name3,num3,grade3[0],grade3[1],grade3[2]);54

55 stu1->display();56 stu2->display();57 stu3->display();58

59 cout<average1()<average2()<average3()<

21、形状类

已知基类ShapeFactory的声明如下:

const float pi=3.1416;

class ShapeFactory

{

public:

ShapeFactory(){};

virtual ~ShapeFactory(){};

virtual float Circumstance(){return 0;};

}

ShapeFactory *Create(float a,float b,float c);

ShapeFactory *Create(float a,float b,float c,float d);

ShapeFactory *Create(float r);

请写出三角形(Triangle)、四边形(Quadrangle)、圆形(Circle)三个派生类,构造函数分别传入三边/四边/半径的长度(不用检查是否符合三角形、矩形、圆的条件,没有异常输出),重写出求周长的函数(Circumstance函数)。

然后实现基类的Create函数,这里重载的三个Create函数,分别生成三角形、四边形、圆形的对象。

比如三角形类为Triangle:

ShapeFactory * ShapeFactory::Create(float a,float b,float c)

{

ShapeFactory *p=new Triangle(a,b,c);

return p;

}

如果三角形输入的三边长度是 3 4 5,四边形输入的四条边的长度是2 3 4 7,圆的半径是3,则要求程序运行能够得到如下的提示和输出:

ccf02e1f5bc98623d404f9f862893ac9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值