栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++类与对象 学生管理

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++类与对象 学生管理

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;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号