C++学习记录8:定义一个分数类Score和学生类Student
(1)定义一个分数类Score。它有3个数据成员:
Chinese //语文课成绩
English //英语课成绩
Mathematics //数学课成绩
2个构造函数:无参的和带参数的
3个成员函数:是否带参数根据需要自定
sum() //计算三门课总成绩
print() //输出三门课成绩和总成绩
modify() //修改三门课成绩
(2)定义一个学生类Student。它有3个数据成员:
Num //学号
Name //姓名
MyScore //成绩
2个构造函数:无参的和带参数的
3个成员函数:是否带参数根据需要自定
sum() //计算某学生三门课总成绩
print() //输出某学生学号、姓名和成绩
modify() //修改某学生学号、姓名和成绩
(3) 在主函数中,先定义一个学生类对象数组,再通过for循环给对象数组赋上实际值,最后输出对象数组个元素的值。
不多说了,直接上三段式
头文件
#include<iostream>
#include<string>
using namespace std;class Score//分数类,存语数外成绩
{
public:int Chinese;int English;int Math;int add;Score();//构造函数Score(int a,int b,int c);void Sum();void print();void modify();
};class Student//学生类
{
public:int Num;string name;Score myScore;//以Score为类定义对象Student();//构造函数Student(int d,string e,int a,int b,int c);void Sum();void print();void modify();
};
f(x)的实现
#include<iostream>
#include<string>
#include"白兰地兑豆瓣酱.h"
using namespace std;
// 个人每个函数都是对应CV写的,感觉都可以一一代用,可能是笔者编程能力不足吧Score::Score()//Score初始赋值
{Chinese=0;English=0;Math=0;add=0;
}Score::Score(int a,int b,int c)//Score再赋值
{Chinese=a;English=b;Math=c;Sum();
}Student::Student()//Student初始赋值
{name=" ";Num=0;myScore.Chinese=0;myScore.English=0;myScore.Math=0;Sum();
}Student::Student(int d,string e,int a,int b,int c)//Student再赋值
{name=e;Num=d;myScore.Chinese=a;myScore.English=b;myScore.Math=c;
}void Score::Sum()//求和部分
{add=Chinese+English+Math;
}void Student::Sum()//求和部分
{myScore.add=myScore.Chinese+myScore.English+myScore.Math;
}void Score::print()//打印函数
{cout<<"语文成绩:"<<Chinese<<endl;cout<<"英语成绩:"<<English<<endl;cout<<"数学成绩:"<<Math<<endl;cout<<"总成绩:"<<add<<endl;
}void Student::print()//打印函数
{cout<<"姓名:"<<name<<endl;cout<<"学号:"<<Num<<endl;cout<<"语文成绩:"<<myScore.Chinese<<endl;cout<<"英语成绩:"<<myScore.English<<endl;cout<<"数学成绩:"<<myScore.Math<<endl;cout<<"总成绩:"<<myScore.add<<endl;
}void Score::modify()//定义函数
{int a;int b;int c;cout<<"请输入学生的语文成绩,英语成绩,数学成绩:"<<endl;cin>>a>>b>>c;Chinese=a;English=b;Math=c;Sum();
}void Student::modify()//定义函数
{int d; string e;int a;int b;int c;cout<<"请输入学生的姓名:"<<endl;cin>>e;cout<<"请输入学生的学号:"<<endl;cin>>d;cout<<"请输入学生的语文成绩:"<<endl;cin>>a;cout<<"请输入学生的英语成绩:"<<endl;cin>>b;cout<<"请输入学生的数学成绩:"<<endl;cin>>c;name=e;Num=d;myScore.Chinese=a;myScore.English=b;myScore.Math=c;Sum();
}
主函数来咯
include<iostream>
#include<string>
#include"白兰地兑豆瓣酱.h"
using namespace std;int main()
{Student a[10];//定义数组int i,j;cout<<"请输入学生人数:";//得知循环数cin>>i;cout<<endl;for(j=0;j<i;j++)//循环赋值{a[j].modify();}for(j=0;j<i;j++)//循环输出{a[j].print();}return 0;
}
感谢观看
C++学习记录8:定义一个分数类Score和学生类Student相关推荐
- C++学习记录2:定义一个描述学生基本情况的类
定义一个描述学生基本情况的类,数据成员包括姓名.学号.英语.数学.计算机成绩.成员函数包括设置姓名.学号和三门课程的成绩.输出数据.以及求平均值.设计主函数,在主函数里调用设置"姓名.学号和 ...
- 一个有趣的算法问题:如何定义一个分数类
一个来自于C++程序设计的经典问题.如何定义一个分数类,实现分数的约分化简,分数之间的加法.减法.乘法.除法四则运算? 1.初见 刚看到这道题的时候,第一感觉是挺简单的啊,就是基本的面向对象,定义对应 ...
- 用Java编写约分最简公式_一个有趣的算法问题:如何定义一个分数类
一个来自于C++程序设计的经典问题.如何定义一个分数类,实现分数的约分化简,分数之间的加法.减法.乘法.除法四则运算? 1.初见 刚看到这道题的时候,第一感觉是挺简单的啊,就是基本的面向对象,定义对应 ...
- 1、猜数字游戏:一个类A有两个成员变量v、num,v有一个初值100。定义一个方法guess,对A类的成员变量v,用num进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。在main方法
定义一个类,其中封装成员变量v-猜数的目标, num-猜测的数据 guess方法根据num和v比对结果生成对应的提示信息 import java.util.Scanner; public class ...
- [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
[Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Python学习] ...
- 1.JAVA猜数字游戏: 一个类A有两个成员变量v、num,v有一个初值100。 定义一个方法guess,对A类的成员变量v,用num进行猜。 *如果num比v大则提示大了,反之则提示小了.
思路: * 1.创建一个类,定义两个成员变量v和num,v是固定值所以直接赋值,num是键盘录入的. * 2.定义一个setNum类,将来通过对象调用将键盘录入接收的数据进行设置 * 3.创建一 ...
- 定义一个点(Point)的类,x和y分别为第一象限的像素点,输入一些这样的点,然后按照升序输出这些点集(比较x2+y2的大小)。
Point类 import java.util.ArrayList;//定义一个点(Point)的类,x和y分别为第一象限的像素点,输入一些这样的点,然后按照升序输出这些点集(比较x2+y2的大小). ...
- c#语言编程:定义person类,再派生学生类如何存放学生的成绩,C#定义全班学生成绩类,包括姓名,学号,C++成绩,英语成绩,数学成绩,平均成绩...
满意答案 兄弟咱写了1个小时,格式规范,且经过严密测试,完成你所需要功能,且还有人性化设计,并且为你提供了可视化测试,我为你考虑的周到吧,不懂就问我 努力吧~~~ usingSystem; using ...
- 用CIL写程序:定义一个叫“慕容小匹夫”的类
前文回顾: <用CIL写程序:你好,沃尔德> <用CIL写程序:写个函数做加法> 前言: 今天是乙未羊年的第一天,小匹夫先在这里给各位看官拜个年了.不知道各位看官是否和匹夫一样 ...
最新文章
- 如何自学python语言-我是如何学习Python语言?
- 全局变量声明的规范化
- 推荐系统炼丹笔记:阿里DMIN多重兴趣网络
- mysql maxconnections 最大值,MySQL性能优化之max_connections配置参数浅析
- 注释标记的原则_它关系到平台如何标记操纵的媒体。 这是设计师应遵循的12条原则。
- Java中的复合设计模式
- c语言 字符转int型,C语言—类型之间的转换
- 当自己犹豫时,坐下来读一读
- linux ll 按时间排序_Linux基本操作
- ip 地址 192.168.1.255 代表( )。_如何批量ping大量ip地址?一个软件搞定
- Android原生人脸识别Camera2示例
- Note Of Effective C++ 、More Effective C++ And Effective Modern C++
- “某某云词典” – 纠结的初体验
- 拯救节日邮件!专属这个节假季的EDM营销方案
- 电子书下载:CRM Fundamentals
- 2020年三月计算机二级甘肃报名官网,2020年3月甘肃计算机二级考试报名时间
- Revit中添加水平仰视平面图及水平剖面
- 获取realsense内参
- 台湾大学郭彦甫matlab百度云,台湾国立大学郭彦甫Matlab教程笔记(23) linear systems...
- 【ubuntu20.04上openvino安装及环境配置】