《面向对象程序设计》实验设计实验报告最终版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
<<static>>+showAddClassProperties():void <<static>>+showAddCurrentClassNumber():void <<static>>+showAddExpClassNumber():void <<static>>+showLoadingSaving():void <<static>>+showSuccessedSaving():void <<static>>+showEachClassInfo(Class classTemp) :void <<static>>+quit():void
(6)退出系统。一个完整的系统应该包括退出系统,在程序中使用 quit 函数, 在按数字键 6 后给出提示信息:“press any key to continue”提示使用者按任意键 退出系统。
三、算法分析
3.1、小组分工
姓名
工作
尹佳慧 庄静仪
程序 实验报告
4
3.2、流程图
开始 进入系统界面
进入主菜单
根据设计要求,我们认为该系统应该包括: (1)课程信息输入功能; (2)课程信息浏览功能; (3)按课程编号查询功能; (4)按课程名称查询功能; (5)数据保存功能; (6)正确退出系统功能。
其中对于课程信息输入功能可以有两个实现途径:①直接在系统中根据提示 输入;②根据系统的功能在相应文件下建立 text 文件直接输入课程信息。对于
表 3 Menue 类的 UML 图 Menue
<<static>>+getInput():char <<static>>+showMenu():void <<static>>+clearScreen():void <<static>>+pauseScreen():void <<static>>+showAddClass():void <<static>>+showBrowseClass():void <<static>>+showSearchByNum():void <<static>>+showSearchByName():void <<static>>+showAddClassNum():void <<static>>+showAddClassName():void
Control -classList: list<Class> +Control() +Start():void +initIalization():void +addClass():void +quit():void +showAllClass():void +searchByNum():void +searchByName():void +saveClass():bool
课程信息浏览 课程信息录入
信息存储 按课程编号查询 按课程名称查询
退 出
结 束
四、程序清单
4.1、数据结构
数据名称 classNum className classProperties totalClassNumber currentClassNumber expClassNumber
credit rightTerm
2.1、设计要求 (1)添加功能:程序能够任意添加课程和学生记录,可提供选择界面供用 户选择所要添加的类别,要求编号要唯一,如果添加了重复编号的记录时,则提 示数据添加重复并取消添加。 (2)查询功能:可根据编号、姓名等信息对已添加的学生和课程记录进行 查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 (3)显示功能:可显示当前系统中所有学生和课程的记录,每条记录占据 一行。 (7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。 (8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行 使用。 2.2、系统功能分析
三、算法分析············································4 3.1、小组分析········································4 3.2、流程图··········································5
(4)按课程名称查询。程序主要通过、showAddName、setName、getName、 searchByName、showSearchByName 来实现对课程的查询,同样全部设置为静态 成员函数,已经录入的数据部能被篡改,根据提示输入就能得到想要查询的内容。
(5)存储信息。选择存储信息选项之后用 showLoadingSaving 函 数 进 行 数据的存储,显示正在存储数据。数据存储完毕后用 showSuccessedSaving 函数 显示输出数据存储完毕。
四、程序清单············································5 4.1、数据结构········································5 4.2、类的 UML 图·····································6 4.3、程序结构········································7
嘉兴学院南湖学院
《面向对象程序设计》课程设计报告
题目: 学生选修课程管理系统
班级:
网络 N141
学号:
201445509433
姓名:
尹佳慧
同组人员:
庄静仪
指导老师:
武瑛
2016 年七月
1
目录
一、问题描述············································3
二、程序功能模块········································3 2.1、设计要求········································3 2.2、系统功能分析····································3 2.3、程序模块说明····································4
表 4 Control 类的 UML 图
4.3、程序结构
将 class 类的属性和行为进行封装: 1.Class 的封装 class Class{//定义了课程类的一些属性 public:
void setClassNum(string classNumTemp);//课程编号 void setClassName(string classNameTemp);//课程名称 void setClassProperties(string classPropertiesTemp);//课程性质 void setTotalClassNumber(int totalClassNumberTemp);//总学时 void setCurrentClassNumber(int currentClassNumber);//授课学时 void setExpClassNumber(int expClassNumberTemp);//实验或上机学时 void setCredit(double credit);//学分 void setRightTerm(string rightTermTemp);//开课信息 // 录入函数设为常量函数防止信息被篡改 string getClassNum() const;// 课程编号录入 string getClassName() const;//课程名称录入 string getClassProperties() const;//课程性质录入 int getTotalClassNumber() const;//总学时录入 int getCurrentClassNumber() const;//授课学时录入 int getExpClassNumber() const;//实验或上机学时录入 double getCredit() const;//学分录入 string getRightTerm() const;//开课信息录入
(2)课程信息浏览。该功能主要是读取所有的课程信息,在程序中首先通过 getClassNum 、 getClassName 、 getClassProperties 、 getTotalClassNumber 、 getCurrentClassNumber、getExpClassNumber、getCredit、getRightTerm 八个函数 读取课程信息的相关信息,设置为静态成员函数,防止已录入的数据被篡改;其
表 1 数据Fra Baidu bibliotek构表
数据类型
string string string
Int Int Int Double string
解释 课程编号 课程名称 课程性质 总课时 授课学时 上级或实验学时
学分 开课学期
5
4.2、类的 UML 图
表 2 Class 类的 UML 图
Class
-ClassNum: string -ClassName: string -ClassProperties: string -TotalClassNumber: int -currentClassNumber: int -ExpClassNumber: int -credit: double -rightTerm: string +setClassNum(classNumTemp: string) +setClassName(classNameTemp: string) +setClassProperties(classPropertiesTemp: string) +setTotalClassNumber(totalClassNumberTemp: int) +setCurrentClassNumber(currentClassNumber: int) +setExpClassNumber(expClassNumberTemp: int) +setCredit(credit: double) +setRightTerm(rightTermTemp: string) <<const>>+getClassNum():string <<const>>+getClassName():string <<const>>+getClassProperties():string <<const>>+getTotalClassNumber():int <<const>>+getCurrentClassNumber():int <<const>>+getExpClassNumber():int <<const>>+getCredit() :double <<const>>+getRightTerm() :string
五、程序运行结果·······································15
六、课程设计体会与心得·································18
七、附录···············································19
2
一、问题描述
次使用 showclass、showeachclassinfo 函数显示全部课程信息。 (3)按课程编号查询。首先使用 getNum 函数得到课程的学分信息,其次使
用 searchByNum 函数输出 “按学分查询”的提示信息;接着使用 showAddNum 函数输出“请输入学分”的提示信息;最后使用 showSearchByNum 函数将查询 结果输出。
高校的学生信息包括:学号、姓名、性别、年龄、系别、班级、联系方式 等信息。课程信息包括:课程代码、课程名称、课程性质、总学时、学分、开课 学期、选修人数等信息。学生可对课程信息进行查询,选修符合要求的课程。根 据课程信息和学生信息完成对课程的选修,需要专门的一个管理类来完成选修工 作。
二、程序功能模块
3
其余四个功能则主要是供学生选课使用。数据保存功能是为了保证在系统中直接 输入的课程信息顺利保存到 text 文件。
2.3、程序模块说明
(1)课程信息录入。课程信息录入应包括:课程编号、课程名称、课程性质、 总学时、授课学时、实验学时、学分、开课信息八个成员,为录入以上信息,首
先使用 setClassNum、setClassName、setClassProperties、setTotalClassNumber、 setCurrentClassNumber、setExpClassNumber、setCredit、setRightTerm 输出提示信 息,其次使用 addClass 函数添加课程信息。
相关文档
最新文档