当前位置:首页 >> 计算机软件及应用 >>

面向对象程序设计


面向对象程序设计报告

1. 题目概述
设计一个简单的学生成绩管理系统,其中设计三个类: 教师、教务人员、学生, 学生的信息:学号、姓名、民族、课程成绩、成绩等级, 教师信息:教工号、姓名, 教务人员信息:教工号、姓名。 学生的课程成绩由老师给出,学生的自然信息由学生给出 教务人员根据老师给出的成绩确定学生的成绩等级(及格、不及格) :普通学生 60 分及 格,少数民族学生 50 分及格 学生查询自己课程成绩 设计主函数,处理 10 个学生数据,输出学生的信息:学号、姓名、课程成绩、成绩等 级。

2. 程序介绍
2.1 类的声明定义
class CStudent; class CTeacher { private: //提前引用 //定义 CTeacher 类

long m_numtea; //教工号 string m_nametea; //姓名 public: void set(CStudent &student); }; class CDean //定义 CDean 类 { private: long m_numdean; //教工号 string m_namedean; //姓名 public: void write(CStudent &student); //确定学生等级 }; class CStudent //定义 CStudent 类 { private: long m_numstu; //学号 string m_namestu; //姓名 string m_nationstu; //民族 int m_gradestu; //成绩 //给定学生成绩

string m_classstu; public:

//等级

CStudent(long numstu, string namestu, string nationstu); //构造函数 ~CStudent(); //析构函数 void display(CStudent &student); //显示数据 friend CTeacher; //声明 CTeacher 类是友元 friend CDean; //声明 CDean 类是友元 }; 定义三个类 CTeacher、 CDean、 CStudent。 在 CStudent 中的构造函数 CStudent(long numstu, string namestu, string nationstu);来创建具有学号、姓名、民族属性的类对象,并且调用析构 函数~CStudent();进行对象空间的释放。 声明 CTeacher、CDean 类是友元类,使其可以访问 CStudent 类中的数据成员,老师可 以根据学生的学号、 姓名给出成绩 void set(CStudent &student);, 教务人员可以根据老师给出 的成绩和学生的民族来确定学生的等级 void write(CStudent &student);。

2.2 类成员函数的定义
void CTeacher::set(CStudent &student) //学生的课程成绩由老师给出 { cout << "the grade of " << student.m_numstu << '\t' << student.m_namestu << " is:" << endl; cin >> student.m_gradestu; } void CDean::write(CStudent &student) //教务人员根据老师给出的成绩确定等级 { if (student.m_nationstu == "汉族" && student.m_gradestu >= 60 || student.m_nationstu != "汉族" && student.m_gradestu >= 50) { student.m_classstu = "及格"; } else student.m_classstu = "不及格"; } CStudent::CStudent(long numstu, string namestu, string nationstu) //学生的属性自己给 出 { m_numstu = numstu; m_namestu = namestu; m_nationstu = nationstu; } CStudent::~CStudent() //析构函数释放对象分配的空间 {}

void CStudent::display(CStudent &student) //学生查询自己课程成绩 { cout << student.m_numstu << '\t'; cout << student.m_namestu << '\t'; cout << student.m_gradestu << '\t'; cout << student.m_classstu << '\t' << endl; }

2.3 主函数设计
struct Person //定义结构体数据类型 Person { long number; //学号 string name; //姓名 string nation; //民族 }; struct Person person[10] = { { 2014000012, "黄晓明", "汉族" }, { 2014000013, "baby", "汉族 " },{ 2014000014, "林俊杰", "高山族" }, { 2014000015, "成龙", "土家族" }, { 2014000016, " 陈赫 ", " 蒙古族 " },{ 2014000017, " 李晨 ", "汉族 " }, { 2014000018, " 郑凯 ", "汉族 " }, { 2014000019, "王宝强", "蒙古族" },{ 2014000020, "王祖蓝", "朝鲜族" }, { 2014000021, " 邓超", "苗族" } }; //结构体数组初始化 定义一个结构体数据类型 Person,包括学号、姓名、民族三个属性,并定义一个容量为 10 的结构体数组,用初始化列表的方法进行数据初始化。 int i = 0; for (i = 0; i < 10; i++) { CStudent student(person[i].number, person[i].name, person[i].nation); //定义一 个 CStudent 类的对象 CTeacher teacher; //定义一个 CTeacher 类对象 teacher.set(student); CDean dean; //定义一个 CDean 类对象 dean.write(student); student.display(student); } 采用循环的方式完成 10 个学生成绩的管理工作。

3. 所用知识点总结
1. 2. 3. 4. 5. 类的声明和定义 类成员函数的定义 构造函数和析构函数 友元类 结构体数据类型


相关文章:
面向对象程序设计问答题重点
面向对象程序设计问答题重点_工学_高等教育_教育专区。1、什么是类?什么是对象?什么是面向对象程序设计? 答:类:是指具有相同的属性和操作方法,并遵守相同规则的对...
面向对象程序设计
面向对象程序设计报告 1. 题目概述设计一个简单的学生成绩管理系统,其中设计三个类: 教师、教务人员、学生, 学生的信息:学号、姓名、民族、课程成绩、成绩等级, ...
面向对象程序设计报告 Drawcli
面向对象程序设计报告 Drawcli_工学_高等教育_教育专区。面向对象程序设计报告——关于 ——关于 Drawcli 的程序分析一、 程序分析 1. 程序简介 Drawcli 是一个...
面向对象程序设计
实姓名: 验 报 告学号: 班级: 课程:c++面向对象程序设计 一、实验题目:类和对象二、实验地点:闽江学院实验楼 201 三、实验目的: 1.了解 C++面向对象程序设计...
面向对象程序设计
面向对象程序设计_计算机软件及应用_IT/计算机_专业资料。面向对象程序设计》实验报告合肥院学院计算机科学与技术系 实验名称 _Java 基础实验___日期_2014.9 10. 9...
c++面向对象程序设计基础
c++面向对象程序设计基础_计算机软件及应用_IT/计算机_专业资料。第二章 c++面向对象程序设计基础 在传统的结构化程序设计方法中, 数据和处理数据的程序是分离的。 ...
面向对象程序设计方法
2.面向对象程序设计的基本概念 面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、 消息传递。通过这些概念面向对象的思想...
面向对象程序设计
淮海工学院计算机工程学院 实验报告书课 程名: 《面向对象程序设计》实验名称: 提高题第一题 评语: 成绩: 指导教师: 批阅时间: 年月日 《 面向对象程序设计 ...
面向对象程序设计教案
这些方法不仅适用于面向过程程序设计也适 用于面向对象程序设计方法。 5. 面向对象方法有四个要点,只有同时使用对象、类、继承和消息 的方法,才是真正的面向对象...
面向对象程序设计(1-4)
面向对象程序设计》实验指导书实验类别: 设计 实验课程名称: 面向对象程序设计方法学 实验室名称:软件基础实验室 实验课程编号: 总学时: 56 学分: 3.5 适用...
更多相关标签: