《C++语言基础》实践参考——考了语文数学的学生

简介: 返回:贺老师课程教学链接【项目4 - 考了语文数学的学生】下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序#include<iostream>using namespace std;class Stu{private: string name; //学生姓名 float chinese

返回:贺老师课程教学链接


【项目4 - 考了语文数学的学生】
下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序

#include<iostream>
using namespace std;
class Stu
{
private:
    string name;	//学生姓名
    float chinese;	//语文成绩
    float math;		//数学成绩
    //接下去写
};



int main()
{
    Stu s1,s2;
    s1.setStudent("Lin daiyu", 98, 96); //对象置初值
    s2.setStudent("Jia baoyu", 90, 88); //对象置初值
    s1.show();//打印信息
    s2.show();//打印信息
    s1.setName("xue baochai");//重新置p1对象的名字
    s1.show();
    cout<<"s1.Name: "<<s1.getName()<<endl;//打印对象的名字
    cout<<"s1.average: "<<s1.average()<<endl;//打印对象的成绩
    return 0;
}

[参考解答]

stu.h
#ifndef STUDENT_H_INCLUDED
#define STUDENT_H_INCLUDED
using namespace std;  //为了用string类型
#include <cstring>    //为了用string类型
class Stu
{
private:
    string name;	//学生姓名
    float chinese;	//语文成绩
    float math;		//数学成绩
public:
    float average();//计算平均成绩
    float sum();	//计算总分
    void show();	//打印信息
    void setStudent(string,float,float);//为对象置姓名、成绩
    void setName(string);	//为对象置姓名
    string getName();	//取得学生姓名
};

#endif // STUDENT_H_INCLUDED

stu.cpp
#include<iostream>
#include<cstring>
#include "stu.h"
using namespace std;

float Stu::average()
{
    return (chinese+math)/2;   //平均成绩
}
float Stu::sum()
{
    return chinese+math;   //总分
}
void Stu::show()	//打印信息
{
    cout<<"Name:  "<<name<<endl;
    cout<<"Score:  "<<chinese<<'\t'<<math<<endl;
    cout<<"average:  "<<average()<<'\t'<<"Sum:   "<<sum()<<endl<<endl;
}
void Stu::setStudent(string sName, float fChinese, float fMath)
{
    name=sName;	//置姓名
    chinese=fChinese;	//置语文成绩
    math=fMath;	    	//置数学成绩
}

void Stu::setName(string sName)
{
    name=sName;	//置姓名
}

string Stu::getName()
{
    return name;   //返回姓名
}

main.cpp
#include<iostream>
#include"student.h"
using namespace std;

int main()
{
    Stu s1,s2;
    s1.setStudent("Lin daiyu", 98, 96); //对象置初值
    s2.setStudent("Jia baoyu", 90, 88); //对象置初值
    s1.show();//打印信息
    s2.show();//打印信息
    s1.setName("xue baochai");//重新置p1对象的名字
    s1.show();
    cout<<"s1.Name: "<<s1.getName()<<endl;//打印对象的名字
    cout<<"s1.average: "<<s1.average()<<endl;//打印对象的成绩
    return 0;
}



目录
相关文章
|
24天前
|
存储 算法 Serverless
【C/C++ 数据结构】深入探索数据结构中算法复杂度:从C++和数学的视角
【C/C++ 数据结构】深入探索数据结构中算法复杂度:从C++和数学的视角
46 0
|
25天前
|
存储 C++ 容器
学会在 C++ 中使用变量:从定义到实践
C++中的变量是数据容器,包括`int`、`double`、`char`、`string`和`bool`等类型。声明变量时指定类型和名称,如`int myNum = 15;`。`cout`与`&lt;&lt;`用于显示变量值。常量用`const`声明,值不可变。变量名应唯一,遵循特定命名规则,常量声明时需立即赋值。
112 1
|
25天前
|
存储 算法 编译器
【C++ 字符数组的模板特化】面向字符串的C++模板特化:理解与实践
【C++ 字符数组的模板特化】面向字符串的C++模板特化:理解与实践
47 1
|
25天前
|
算法 程序员 C语言
【C++ 随机数分布类型 】深入探索C++随机数分布:原理、应用与实践(二)
【C++ 随机数分布类型 】深入探索C++随机数分布:原理、应用与实践
54 0
【C++ 随机数分布类型 】深入探索C++随机数分布:原理、应用与实践(二)
|
24天前
|
存储 安全 编译器
【C++ 17 新功能 std::visit 】深入解析 C++17 中的 std::visit:从原理到实践
【C++ 17 新功能 std::visit 】深入解析 C++17 中的 std::visit:从原理到实践
69 0
|
2天前
|
缓存 编译器 API
NumPy与其他语言(如C/C++)的接口实践
【4月更文挑战第17天】本文介绍了NumPy与C/C++的接口实践,包括Python与C/C++交互基础、NumPy的C API和Cython的使用。通过案例展示了如何将C++函数与NumPy数组结合,强调了内存管理、类型匹配、错误处理和性能优化的最佳实践。掌握这些技能对于跨语言交互和集成至关重要。
|
23天前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
67 2
|
23天前
|
存储 并行计算 算法
C++动态规划的全面解析:从原理到实践
C++动态规划的全面解析:从原理到实践
90 0
|
23天前
|
存储 算法 C语言
【C/C++ 数据结构 树】探索C/C++中的二叉树:从理论到实践
【C/C++ 数据结构 树】探索C/C++中的二叉树:从理论到实践
60 0
|
24天前
|
安全 编译器 程序员
【C++ 泛型编程 高级篇】C++ 编程深掘:静态成员函数检查的艺术与实践
【C++ 泛型编程 高级篇】C++ 编程深掘:静态成员函数检查的艺术与实践
62 0