习题:设计一个学生类,其中数据成员有学号、姓名、年龄、3门课程的成绩,以及若干成员函数。并利用这个类建立一个对象数组。
完整题干:
设计一个学生类,其中数据成员有学号、姓名、年龄、3门课程的成绩,以及若干成员函数。并利用这个类建立一个对象数组。(1)求第一门课的平均成绩;(2)找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩;(3)找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现以上三个要求。
要求:
(1)使用构造函数实现对数据的输入。
(2)以上三个要求必须用成员函数实现。
(3)在头文件中完成类的声明,在.cpp中完成类的实现,在主文件(.cpp)中完成主函数编写。
序号 |
姓名 |
学号 |
政治 |
数学 |
专业课 |
1 |
白雪华 |
20190101 |
89 |
||
2 |
韩姣姣 |
20190102 |
88 |
||
3 |
张璐璐 |
20190103 |
90 |
||
4 |
张清晨 |
20190104 |
78 |
||
5 |
张博涵 |
20190105 |
79 |
||
6 |
朱玉玲 |
20190106 |
45 |
||
7 |
姜健康 |
20190107 |
85 |
||
8 |
王龙洋 |
20190108 |
55 |
||
9 |
马传皓 |
20190109 |
95 |
||
10 |
张振龙 |
20190110 |
94 |
个人答案:
头文件:
#define tou_h
#include <iostream>
#include <string>
using namespace std;
class Student
{
private:string Number; //学号string Name; //姓名float Score1; //政治float Score2; //数学float Score3; //专业课
public:Student() {}void SetNum(string num) { Number = num; }void SetName(string name) { Name = name; }void SetScore(float a, float b, float c) { Score1 = a; Score2 = b; Score3 = c; }float GetScore1() { return Score1; }float GetScore2() { return Score2; }float GetScore3() { return Score3; }string Getnumber() { return Number; }float Avg() { return (Score1 + Score2 + Score3) / 3; }//判断是否有两门以上课程不及格bool two_fail(){int cnt = 0;if (Score1 < 60)cnt++;if (Score2 < 60)cnt++;if (Score3 < 60)cnt++;if (cnt >= 2){return true;}elsereturn false;}//平均成绩在90分以上或全部课程成绩在85分以上bool high(){if (Avg() >= 90)return true;else if (Score1 > 85 && Score2 > 85 && Score3 > 85){return true;}elsereturn false;}
};
源文件:
#include"11.h"
//(1)求第一门课的平均成绩
float Average(Student st[], int total)
{float sum = 0;for (int i = 0; i < total; i++){Student s = st[i];sum += st[i].GetScore1();}float avg = sum / total;cout << "第一门课(政治)的平均成绩是: " << avg <<'\n' << endl;return avg;
}
//(2)找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩
void Findtwo_fail(Student st[], int total)
{for (int i = 0; i < total; i++){if (st[i].two_fail()){cout << "学号: " << st[i].Getnumber() << '\n' << "政治: " << st[i].GetScore1() << '\n' << "数学: " << st[i].GetScore2() << '\n' << "专业课: " << st[i].GetScore3() << '\n' << "平均分:" << st[i].Avg() <<'\n' << endl;;}}
}
//(3)找出平均成绩在90分以上或全部课程成绩在85分以上的学生
void Findhigh(Student st[], int total)
{for (int i = 0; i < total; i++){if (st[i].high()){cout << "学号: " << st[i].Getnumber() << '\n' << "政治: " << st[i].GetScore1() << '\n' << "数学: " << st[i].GetScore2() << '\n' << "专业课: " << st[i].GetScore3() << '\n' << "平均分:" << st[i].Avg()<<'\n' << endl;}}
}
int main()
{Student st[10];//使用构造函数实现对数据的输入st[0].SetNum("20190101"); st[0].SetName("白雪华"); st[0].SetScore(89, 89, 85);st[1].SetNum("20190102"); st[1].SetName("韩姣姣"); st[1].SetScore(88, 42, 68);st[2].SetNum("20190103"); st[2].SetName("张璐璐"); st[2].SetScore(90, 90, 90);st[3].SetNum("20190104"); st[3].SetName("张清晨"); st[3].SetScore(78, 54, 90);st[4].SetNum("20190105"); st[4].SetName("张博涵"); st[4].SetScore(79, 76, 65);st[5].SetNum("20190106"); st[5].SetName("朱玉玲"); st[5].SetScore(45, 47, 90);st[6].SetNum("20190107"); st[6].SetName("姜健康"); st[6].SetScore(85, 87, 85);st[7].SetNum("20190108"); st[7].SetName("王龙洋"); st[7].SetScore(55, 23, 98);st[8].SetNum("20190109"); st[8].SetName("马传皓"); st[8].SetScore(95, 98, 78);st[9].SetNum("20190110"); st[9].SetName("张振龙"); st[9].SetScore(94, 90, 57);//对象数组Average(st, 10);cout << "有两门以上课程不及格的学生:" << endl;Findtwo_fail(st, 10);cout<<'\n';cout << "平均成绩在90分以上或全部课程成绩在85分以上的学生:" << endl;Findhigh(st, 10);cout<<'\n';system("pause");return 0;
}
结果:
习题:设计一个学生类,其中数据成员有学号、姓名、年龄、3门课程的成绩,以及若干成员函数。并利用这个类建立一个对象数组。相关推荐
- 习题 9.5 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
C程序设计(第四版) 谭浩强 习题9.5 个人设计 习题 9.5 有10个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数 ...
- 题9.5:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个 学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓 名、3门课程成绩、平均分数)。
题目 本题是谭浩强<C程序设计课后习题>题9.5. 题目: 有10个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输人10个 学生数据,要求输出3门课程总平均成绩,以及最高分的 ...
- C语言编程>第十一周 ⑥ 某学生的记录由学号、5门课程成绩和平均分组成,学号和5门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分,并放在记录的ave成员中。
例题:某学生的记录由学号.5门课程成绩和平均分组成,学号和5门课程的成绩已在主函数中给出.请编写函数fun,它的功能是:求出该学生的平均分,并放在记录的ave成员中.请自己定义正确的形参.. 例如,若 ...
- C语言:有N个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课程的成绩),计算出平均成绩,将原有数据和计算出的平均成绩存放在磁盘文件stu_list.txt中。
/*有N个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号.姓名.3门课程的成绩),计算出平均成绩,将原有数据和计算出的平均成绩存放在磁盘文件stu_list.txt中.*/ /*以5个学 ...
- 37.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。
37.某学生的记录由学号.8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出.请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中.请自己定义正确的形参. 例如,若学生的 ...
- 某学生的记录由学号、5门课程成绩和平均分组成,学号和5门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分,并放在记录的ave成员中。
例题:某学生的记录由学号.5门课程成绩和平均分组成,学号和5门课程的成绩已在主函数中给出.请编写函数fun,它的功能是:求出该学生的平均分,并放在记录的ave成员中.请自己定义正确的形参.. 例如,若 ...
- 某班有5名同学,建立一个学生的简单信息表,包括学号、姓名、3门课程的成绩,编写程序,计算每名学生的平均成绩及名次。(30分) 题目内容: 某班有5名同学,建立一个学生的简单信息表,包括学号、姓名、3
某班有5名同学,建立一个学生的简单信息表,包括学号.姓名.3门课程的成绩,编写程序,计算每名学生的平均成绩及名次.(30分) 题目内容: 某班有5名同学,建立一个学生的简单信息表,包括学号.姓名.3门 ...
- C语言:有十个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)
题目:有十个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程的总平均成绩,以及最高分的学生的数据(包括学号.姓名.3门课程成绩.平均分数). 根据题目要求 ...
- 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据 要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩)
/*有10个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据 要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号.姓名.3门课程成绩)*/#include < ...
- 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
有10个学生,每个学生的数据包括学号.姓名.3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号.姓名.3门课程成绩.平均分数). 方法一: #inc ...
最新文章
- caffe-fast-rcnn(Caffe、FSRCNN、FastRCNN)
- adb.exe可能被其他程序关闭_木工中央除尘设备系统正式运行的操作程序
- 视频播放器的界面设计并实现播放器
- swoole 服务端heartbeat_check_interval心跳检测 客户端 swoole_timer_tick 发送心跳包 这里只是个demo参考
- php单例模式代码,php设计模式之单例模式代码
- 关注电子商务网站开发-《网站中常用的Jquery插件》
- iOS开发中常用的宏
- linux系统镜像怎么安装,linux系统安装,怎样安装linux系统制作方法
- 使用echarts来显示世界地图和全国地图,并且可以下钻层级
- Keil 编译器AC6中的LLVM编译原理
- 使用fmt:formatNumber 标签接收后端数据并格式化
- 《MetaSploit渗透测试魔鬼训练营》之WEB应用渗透技术
- springboot Possibly consider using a shorter maxLifetime value.
- word 导出编辑ftl_Java实现用Freemarker完美导出word文档(带图片)
- 计算机网络学习笔记<一>|工作必备|银行科技岗面试|内附八股面经|秋招提前批冲冲冲
- oracle 表分区详解
- 《Windows CE嵌入式开发入门——基于Xscale架构》 第9章 Windows CE BSP及驱动程序结构分析
- win10 前面板 耳机
- !important和@important
- 笔记本怎么查看hdmi版本_一文带你了解笔记本的外部接口:VGA、HDMI、DP、USB