c++定义一个学生类,用一个构造函数用来从键盘输入一个班级学生信息,定义函数能够计算一个班级的平均分。

如题所述

第1个回答  推荐于2018-04-05
#include <iostream>
#include <string>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;
/* 学生的基本信息 */
struct st_info{
int id;
char name[30];
double grade;
};
/* 创建一个学生类 */
class Student{
public:
Student(st_info *st, int n=0){
count = n;
sum = 0.0;
// 开辟一段新的内存空间
this->st = new st_info[n];
/* 拷贝学生信息到新开辟的内存空间 */
for(int i=0; i<count; i++){
memcpy(&(this->st[i]), &st[i], sizeof(st_info)); // 这是C标准库的拷贝函数 包含头文件是C++ string类库
sum += st[i].grade;
}
}

~Student(){
deletet[] st;
}
/* 显示班级学生的信息 */
void show() const{
for(int i=0; i<count; i++){
cout << "id:"<< st[i].id << " name:" << st[i].name
<< " grade:" << st[i].grade << endl;
}
}

/* 显示学生的平均分 */
void show_avg()const{
cout << "avg:" << sum/count << endl;
}
private:
st_info *st; // 一个学生的信息
int count; // 学生的个数
int sum; // 总分数
};

int main(int argc, char** argv){

st_info st[3];
for(int i=0; i<3; i++){
cout << "Enter the student's id: ";
cin >> st[i].id;
cout << "Enter the student's name: ";
cin >> st[i].name;
cout << "Enter the student's grade: ";
cin >> st[i].grade;
}
Student s(st,3);
s.show();
s.show_avg();
return 0;
}本回答被网友采纳
第2个回答  2014-11-05
class student
{
private
string name;
double grade;
public:
student()
{
cin>>name>>grade;
}
double getgrade()
{
return grade;
}
};

double averagegrade(student s[],int n)
{
double sum=0;
for(int i=0;i<n;i++)
sum=sum+s[i].getgrade();
return sum/n;
}本回答被网友采纳

用C++编写一个学生信息管理系统
include <iostream>#include <iomanip>#include <string>#include <fstream>\/\/输入\/输出文件流类using namespace std;class Student \/\/定义类{ private:int tag; \/\/删除标记 1:已删 0:未删char name[10]; \/\/姓名int grade;\/\/成绩int ID;public:Student() {}\/\/构造函数int gettag() {return...

如何用C++定义一个学生类?
定义一个学生类,里面包含了学生的姓名、四科成绩和平均成绩的成员变量,计算平均分的成员函数。在学生类的构造函数里对学生的姓名和成绩做初始化。然后你实例化5个学生变量就可以了。CStudent { private:char mName[20];float mScore[4];public:float mAve;CStudent(char *strName,float *score);v...

真心求c++编程,定义一个学生类Student,包括3个数据成员:学号id,姓名n...
include <string>#include <iostream>using namespace std;class Student{public: \/\/ 带参数的构造函数初始化对象 Student(int id, string name, double score) : id(id), name(name), score(score) { count++; total+=score; } \/\/ 修改分数成员函数 void ChangeScore(double newScore) ...

创建一个学生类student,用C++编程实现
代码如下:include <iostream>#include <cstring>using namespace std;class Student {public:Student() {this->id = 0;this->name = NULL;this->age = 0;this->major = NULL;}Student(int id, const char * name) {this->id = id;this->name = NULL;SetName(name);this->age = 0;...

用C++语言,自定义学生类,派生研究生类
以下是一种使用C++语言自定义学生类和派生研究生类的方法:在上面的代码中,我们定义了一个名为Student的学生类,其中包含三个私有成员:学号、姓名和专业。我们也定义了一个名为Graduate的研究生类,它继承自Student类,并添加了一个私有成员:研究课题。两个类都包含了一个公有的成员函数,用于获取学生...

c++设计一个学生类Cstudent,该类包括学生学号、姓名以及数学、英语、c...
main(){p = stu;input(p);print(p);system("pause");}void input(struct student *p){int i = 0, j;for(p = stu; p < stu + 2; p++, i++){printf("请输入第%d个人的学号:", i + 1);scanf("%d",&p->num);printf("请输入第%d个人的姓名:", i + 1);scanf("%s"...

c++:封装一个CStudent类,用来描述学生的属性和行为。具体要求如下。 1...
\/*c++:封装一个CStudent类,用来描述学生的属性和行为。具体要求如下。1.学生有姓名,籍贯,学号,年龄,成绩五个成员数据,编写构造函数,,拷贝构造函数,同时编写Display(),成员函数显示学生的信息。2.编写“+”运算符重载函数,使CStudent类的两个对象相加返回两个对象总成绩相加的和。3.编写主函数...

c++编程题建立学生类,数据成员包括姓名、年龄、性别,成员函数包括
\/\/姓名 int Year; \/\/年龄 bool Sex; \/\/性别(true为男,false为女) public: \/\/公有成员关键字 Stu() \/\/无参构造函数 {strcpy(Name,"无"); \/\/姓名为空 Year=0; \/\/年龄为0 Sex=false;} \/\/性别为false ...

c语言 .用结构体输出学生姓名、学号和成绩 我有c++的程序 但是看不懂...
C++ 中的struct与class的区别是:struct的默认访问级别是public,class 的访问级别是private。C++中的struct和class一样可以有成员函数(上面代码中的 void show是成员函数;Student(char *name, char *id, int grade)是一个特殊的成员函数,叫构造函数,该函数用于实例化一个类的对象)。下面给出上面...

定义一个CStudent类,数据成员包括学号,姓名和成绩,成员函数有构造函数...
}void set_no(string no){stu_no = no;}void set_score(int score){stu_score = score;}string get_name(){return stu_name;}string get_no(){return stu_no;}int get_score(){return stu_score;}friend void statis_students(CStudent [], int num, int &max_score, int &min_...

相似回答