华科面向对象程序设计作业二:编写程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分
2021/11/22 20:09:57
本文主要是介绍华科面向对象程序设计作业二:编写程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目描述
编写程序,输入N个学生数据,包括学号、姓名、成绩,要求输
出这些学生数据并计算平均分。要求:
➢设计学生类 CStud , 除了包括 no( 学 号 ) 、 name( 姓 名 ) 和
score(成绩)数据成员外,有两个静态变量sum和num,分别存
放总分和人数
➢有两个普通成员函数setdata()和disp(),分别用于给数据成员
赋值和输出数据成员的值
➢另有一个静态成员函数avg(),它用于计算平均分
➢main()函数中定义对象数组用于存储输入的学生数据
代码
#include "CStud.h" #include <string.h> #include <iostream> using namespace std; class CStud { private: char no[10];//学号 char name[10];//姓名 double score;//成绩 static double sum;//总分 static int num;//总人数 public: //给数据成员赋值 void setdata(char* _no, char* _name, double _score) { strcpy(no, _no); strcpy(name, _name); score = _score; sum += score; num++; } //输出数据成员的值 void disp() { cout << "学号:" << no << " 姓名:" << name << " 分数:" << score << endl; } //计算平均分 static double avg() { return sum / num; } }; double CStud::sum = 0; int CStud::num = 0; int main() { int n; cout << "请输入学生人数" << endl; cin >> n; CStud* stu = new CStud[n]; cout << "请依次输入学生的学号、姓名和分数" << endl; int i; for (i = 0; i < n; i++) { char tno[10]; char tname[10]; double tscore; cin >> tno; cin >> tname; cin >> tscore; stu[i].setdata(tno, tname, tscore); } for (i = 0; i < n; i++) { stu[i].disp(); } double a = CStud::avg(); cout << "平均分:" << a << endl; }
注意事项
如果vs2019报错
C4996 ‘strcpy’: This function or variable may be unsafe. Consider using
则在c++预编译器下预编译定义下,新加一条
_CRT_SECURE_NO_WARNINGS
这篇关于华科面向对象程序设计作业二:编写程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南