c++类与对象 学生管理

c++类与对象 学生管理,第1张

1. 学生类 Cstudent 及完整程序的设计 (1) 公有数据成员:姓名 name 、学号 studentId 、成绩 score (2) 成员函数: modify() 用于修改信息, print() 负责显示数据成员的值;构造函数对数据成员初始 化。 (3) 主函数:创建类的对象 student_a ,初始化姓名为“张三”、学号 20170301001 、成绩 86 ,创建 对象 student_b student_b 调用 modify() 设置姓名为“李四”、学号 20170301002 、成绩 66.5 ;然后, 对象调用 print() 显示如下信息: # 创建 Cstudent 类的对象 student_a ,信息如下 Name: 张三 StudentId: 20170301001 成绩 score: 86 # 创建 Cstudent 类的对象 student_b ,信息如下 Name: 李四 StudentId: 20170301002 成绩 score: 66.5

#include
using namespace std;
class CStudent
{
	public:
		string name;
		char *studentid;
		float score;
		CStudent();
		CStudent(char*,char*,float);
		~CStudent();
		void modify(char*,char*,float);
		void print();
};
CStudent::CStudent()
{
	name=" ";
	studentid=new char[12];
	strcpy(studentid," ");
	score=0.0;
}
CStudent::CStudent(char* name_,char* id,float s)
{
	name=name_;
	studentid=new char[strlen(id)+1];
	strcpy(studentid,id);
	score=s;
}
CStudent::~CStudent()
{
	delete []studentid;
}
void CStudent::modify(char *name_,char *id,float s)
{
	name=name_;
	strcpy(studentid,id);
	score=s;
}
void CStudent::print()
{
	cout<<"Name:"<
2. 班级类 Cclass 及完整程序的设计( 30 分) 1 )数据成员: Cstudent 类对象 student_1 的信息为“张三”、学号 20170301001 、成绩 86 student_2 的信息为“李四”、学号 20170301001 、成绩 66.5 student_3 的信息为“王五”、学号 20170301001 成绩 40 Num 存放班级人数; (2)成员函数: find() 计算班级中及格与不及格人数, print() 获取(读取)有关数据后显示信息, 以及构造函数。 (3)主函数:创建类 Cclass 的对象 class_c ,采用合适的设计,通过成员函数 find() 等方法计算班 级人数、及格与不及格人数;然后,对象调用 print() 显示如下信息:

# 创建班级对象并显示该班信息 班级成员:张三,李四,王五 班级人数 : 3 班级及格人数 : 2 班级不及格人数 : 1
#include
using namespace std;
class CStudent
{
	public:
		string name;
		char *studentid;
		float score;
		CStudent();
		CStudent(char*,char*,float);
		~CStudent();
		void modify(char*,char*,float);
		void print();
		static int obcount;
};
int CStudent::obcount=0;
CStudent::CStudent()
{
	name=" ";
	studentid=new char[12];
	strcpy(studentid," ");
	score=0.0;
	obcount++;
}
CStudent::CStudent(char* name_,char* id,float s)
{
	name=name_;
	studentid=new char[strlen(id)+1];
	strcpy(studentid,id);
	score=s;
	obcount++;
}
CStudent::~CStudent()
{
	delete []studentid;
	obcount--;
}
void CStudent::modify(char *name_,char *id,float s)
{
	name=name_;
	strcpy(studentid,id);
	score=s;
}
void CStudent::print()
{
	cout<<"Name:"<=60) pass++;
	else fail++;
	if(student_2.score>=60) pass++;
	else fail++;
	if(student_3.score>=60) pass++;
	else fail++;
}
void Cclass::print()
{
	cout<<"班级成员"<
3. 班级统计类 Canalysis (派生类) 及完整程序的设计( 30 分) (1) Canalysis 类是 Cclass 类(基类)的派生类,继承方式为 public 方式; (2) 数据成员: Saver 存放班级平均成绩;构造函数对数据成员初始化(值为 0 ); (3) 成员函数: Aver() 计算班级平均成绩并存到 Saver find() 求出班级中的最高成绩, print() 获取 有关数据后显示信息。 (4) 主函数:创建类 Cclass 的对象 class_c ,创建类 Canalysis 的对象 analysis_d ,采用合适的设计, 由成员函数 Aver() 计算班级平均成绩;设计合适的指针与方法来实现多态性,该指针调用成员函 find() 计算班级中及格与不及格人数,该指针调用成员函数 find() 求出班级中的最高成绩,该指 针调用 print() 显示如下信息:(主函数中 不允许用 cout 语句,但注释行 "#…" 例外) # 统计计算班级的学生成绩情况 班级成员:张三,李四,王五 班级人数 : 3 班级及格人数 : 2 班级不及格人数 : 1 班级平均成绩 : 64.1 班级最高成绩 : 86

#include
using namespace std;
class CStudent
{
	public:
		string name;
		char *studentid;
		float score;
		CStudent();
		CStudent(char*,char*,float);
		~CStudent();
		void modify(char*,char*,float);
		void print();
		static int obcount;
};
int CStudent::obcount=0;
CStudent::CStudent()
{
	name=" ";
	studentid=new char[12];
	strcpy(studentid," ");
	score=0.0;
	obcount++;
}
CStudent::CStudent(char* name_,char* id,float s)
{
	name=name_;
	studentid=new char[strlen(id)+1];
	strcpy(studentid,id);
	score=s;
	obcount++;
}
CStudent::~CStudent()
{
	delete []studentid;
	obcount--;
}
void CStudent::modify(char *name_,char *id,float s)
{
	name=name_;
	strcpy(studentid,id);
	score=s;
}
void CStudent::print()
{
	cout<<"Name:"<=60) pass++;
	else fail++;
	if(student_2.score>=60) pass++;
	else fail++;
	if(student_3.score>=60) pass++;
	else fail++;
}
void Cclass::print()
{
	cout<<"班级成员"<max) max=student_2.score;
	if(student_3.score>max) max=student_3.score;
}
void Canalysis::print()
{
	 cout << "班级平均成绩:" print();
    Canalysis analysis_d; 
    p = &analysis_d; //基类指针 p 存派生类对象地址
    p->find(); //基类指针 p 调用派生类的成员函数,实现多态性
    p->print(); 
    return 0;
}

主函数也可以这样调用

int main()
{

    Cclass *p=new Cclass;
    p->find();
    p->print();
    Cclass *p1 = new Canalysis; 
    p1->find(); 
    p1->print(); 
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/872583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)