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

面向对象程序设计


面向对象程序设计报告

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. 类的声明和定义 类成员函数的定义 构造函数和析构函数 友元类 结构体数据类型


相关文章:
《面向对象程序设计C 》期末试卷及标准答案(B)
面向对象程序设计C 》期末试卷及标准答案(B)_工学_高等教育_教育专区。谭浩强版C++试卷 《面向对象程序设计 C++》期末考试试卷(B)班级:题号 得分 试卷说明: ...
实验二 面向对象程序设计
实验二 面向对象程序设计_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档实验二 面向对象程序设计_计算机软件及应用_IT/计算机_专业资料...
面向对象程序设计教程_(马石安版)
面向对象程序设计教程_(马石安版)_计算机软件及应用_IT/计算机_专业资料。第 1 章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质...
面向对象程序设计(C++)-大作业_图文
华北科技学院计算机系综合性实验 实验报告 课程名称 实验学期 《面向对象程序设计(C++)》 2012 至 2013 学年 第一 学期 学生所在院部 年级 学生姓名 任课教师 ...
《面向对象程序设计》
面向对象程序设计》_电大_成人教育_教育专区。郑州大学现代远程教育《面向对象程序设计》课程 考核要求说明:本课程考核形式为提交作业,完成后请保存为 WORD 2003 ...
面向对象程序设计2_图文
武汉纺织大学《面向对象程序设计》实验报告实验时间:2015 年 10 月 17 日 指导教师:陈智洁 一、实验目的 1.理解图像绘制的原理 2.掌握图像绘制的方法 3.了解...
面向对象程序设计(1-4)
面向对象程序设计》实验指导书实验类别: 设计 实验课程名称: 面向对象程序设计方法学 实验室名称:软件基础实验室 实验课程编号: 总学时: 56 学分: 3.5 适用...
c++面向对象程序设计期末复习总结
c++面向对象程序设计期末复习总结_工学_高等教育_教育专区。c++面向对象程序设计期末复习总结,主要是简答题,还有就是个人总结的重点,看拓展题型...
《面向对象程序设计》练习册答案
面向对象程序设计》练习册答案_理学_高等教育_教育专区。面向对象程序设计习题一 1。c 2。d 3。ADO 技术 4。视图 工具箱 5。工具 选项 编辑器 6。它对硬件...
C++面向对象程序设计-谭浩强_完整版
从 C++的名字可以 看出它是 C 的超集?C++既可用于面向过程的结构化程序设计,又可用于面向对象程序设计,是一种功能强 大的混合型的程序设计语言? C++对 C ...
更多相关标签: