面向对象课程设计-某系学生成绩管理系统计算器程序论文

上传人:aa****6 文档编号:30010697 上传时间:2018-01-26 格式:DOC 页数:33 大小:265.50KB
返回 下载 相关 举报
面向对象课程设计-某系学生成绩管理系统计算器程序论文_第1页
第1页 / 共33页
面向对象课程设计-某系学生成绩管理系统计算器程序论文_第2页
第2页 / 共33页
面向对象课程设计-某系学生成绩管理系统计算器程序论文_第3页
第3页 / 共33页
面向对象课程设计-某系学生成绩管理系统计算器程序论文_第4页
第4页 / 共33页
面向对象课程设计-某系学生成绩管理系统计算器程序论文_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《面向对象课程设计-某系学生成绩管理系统计算器程序论文》由会员分享,可在线阅读,更多相关《面向对象课程设计-某系学生成绩管理系统计算器程序论文(33页珍藏版)》请在金锄头文库上搜索。

1、沈阳理工大学面向对象课程设计目 录PART I1 需求分析 .12 算法基本原理 .13 类设计 .24 详细设计 .34.1 类的接口设计 .44.2 类的实现 .64.3 主函数设计 .115 运行结果与分析 .135.1 程序运行结果 .135.2 运行结果分析 .15PART II1 类设计162 详细设计 .233 运行结果31参考文献 .31沈阳理工大学面向对象课程设计1PART I1 需求分析(1)实现年级管理(4个年级)、班级管理及学生信息管理,可以实现班级的查询、添加、删除、修改,学生成绩的查询、添加、删除、修改等。程序使用类的包含方法实现。1)一个班最多30名学生,4门课程

2、;2)班级信息、学生成绩存放在数据文件中;3)内存中数据组织建议采用STL容器。设计班级类、学生类等,建立文件、输出文件内容、计算每个学生总分并进行总分排序、查找各科最低分和最高分。(2)设计一个Student类,包含学生的基本信息:姓名、学号、四门课程(大外、高数、模电、C+)的分数和总分数;StuList类用于实现学生成绩的查找、添加、删除、修改;Class类包含班级带的基本信息:年级、班级名称和所有学生;ClList类用于实现班级的查询、添加、删除、修改。(3)用list链表容器存放多个学生的信息和多个班级的信息。使用容器的sort()函数实现学生的总分排序。Max()和Min()分别实

3、现查找各科的最高分和最低分。2 算法基本原理一个年级包含多个班级,用list链表容器存放一个年级的所有班级,用Class 类存放班级的所有学生,用ClList类的成员函数对班级进行查找、添加、删除、修改。(2)一个班级有很多学生(不超过30个),用Student类存放学生信息,StuList类带的成员函数实现学生成绩的查找、添加、删除、修改,总分的排序,求各科的最高分和最低分。(3)学会STL标准模板库里德容器、迭代器、和算法的使用方法。本程序使用List链表容器存放学生信息并进行相应的操作,如用push_back()函数进行添加操作、用sort()函数进行排序,用erase()函数进行删除操

4、作等。(4)用文件FILE读取和输出学生信息和班级信息。沈阳理工大学面向对象课程设计23 类设计从上面的算法分析可以看到,本设计面临的计算问题的关键是学生信息和班级信息的处理。可以定义一个学生类Student显示学生的基本信息,然后定义一个学生链表类StuList 实现学生成绩的相关操作;又定义一个班级类Class显示班级的基本信息,最后定义一个班级链表类ClList实现班级的一些相应操作等。从问题的需要来看,需要调用STL标准模板库里德一些函数如 push_back()函数进行添加操作、用sort() 函数进行排序,用erase()函数进行删除操作等。 学生类和班级类还有学生链表类和班级链表

5、类之间的相互关系如图1所示。StuList- list thestu+ Getthestu() : list+ Add(Student stu) : void+ Seek(char *num) : void+ Show() : void+ SorttoFile(char *filename) : void+ Max() : void+ Min() : void学生类和学生链表类的UML图的表示 Student- stuname20 : char - stunum12 : char- stuscore4 : float- total : float+ Student()+ Student(cha

6、r *name , char *num , float s1, float s2, float s3, float s4 ) + *Getnum() : char+ *Getstuscore() : float+operator + Class()+ Class(char *grade, char *cclass, list l)+ *Getclclass() : char+ CPrint() : void ClList- thecl :list+ CAdd(Class cl) : void+ CSeek(char *cclass) : void+ CModify(char *cclass,

7、Class &cl) : void+ CDelete(char *cclass) : void+ CShow() : void班级类和班级链表类的UML图形表示学生链表类需要访问学生类的私有成员,但是私有成员是不允许外部函数访问的,故在学生类当中定义了返回私有成员(stunum和stuscore)的成员函数,同理在班级类中也定义了返回(clclass)的成员函数。4 详细设计整个程序一个文档,kese1.h 文件中包括学生类Student、学生链表类StuList、班级类Class、班级链表类ClList的声明,kese1.Cpp文件中包含; 这四个类类的成员函数实现文件;main.cpp文件

8、包括程序的主函数,主函数中定义了一个类StuList的对象,通过这个对象存放所有的学生并进行相关操作;比定义了ClList类的对象,通过这个对象对班级进行相关的操作。沈阳理工大学面向对象课程设计44.1 类的接口设计/kese1.h 文件,实现类的声明#include #include #include #include #include #include using namespace std;/student.h学生类class Student;class StuList;ostream /输出流文件声明class Studentprivate:char stuname20; /学生姓名c

9、har stunum12; /学生学号float stuscore4; /四门课程的成绩float total; /总分数public:Student() /构造函数Student(char *name, char *num, float s1, float s2, float s3, float s4);/构造函数void print(int n = -1); /输出函数char *Getnum() /输出学号return stunum;float *Getstuscore() /输出分数return stuscore;friend ostream /读出文件bool operator st

10、u.total;/friend class StuList; /友元类;沈阳理工大学面向对象课程设计5/StuList.h 学生信息的相关处理class StuListprivate:list thestu; /链表对象public:list Getthestu() /输出链表 return thestu;void Add(Student stu); /添加学生信息void Seek(char *num); /查询学生信息,按学号查询,返回记录号,-1表示没有找到void Show(); /遍历列表显示void SorttoFile(char *filename); /按学生总成绩从高到低排序

11、并写到文件中void Max(); /各科的最高分void Min(); /各科的最低分;/Class.h班级类class Classprivate:char clgrade10; /一共四个年级,其中的一个年级char clclass10; /班级名称list cl; /链表对象,一个班最多30个学生public:Class() /构造函数Class(char *grade, char *cclass, list l) /构造函数strncpy(clgrade, grade, 10);strncpy(clclass , cclass, 10);cl = l;char *Getclclass() /输出学号return clclass;void CPrint(); /输出学生信息friend ostream /读出文件;沈阳理工大学面向对象课程设计6/ClList.h班级链表类class ClListprivate:list thecl;public:void CAdd(Class cl); /添加班级信息void CSeek(char *cclass); /查询班级信息,按班级名称查询void CModify(char *cclass, Class /修改班级信息void CDelete(char *cclass);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号