2012-4 面向对象课程设计实习指导书-3new

上传人:xins****2008 文档编号:108830530 上传时间:2019-10-25 格式:DOC 页数:31 大小:213.50KB
返回 下载 相关 举报
2012-4 面向对象课程设计实习指导书-3new_第1页
第1页 / 共31页
2012-4 面向对象课程设计实习指导书-3new_第2页
第2页 / 共31页
2012-4 面向对象课程设计实习指导书-3new_第3页
第3页 / 共31页
2012-4 面向对象课程设计实习指导书-3new_第4页
第4页 / 共31页
2012-4 面向对象课程设计实习指导书-3new_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《2012-4 面向对象课程设计实习指导书-3new》由会员分享,可在线阅读,更多相关《2012-4 面向对象课程设计实习指导书-3new(31页珍藏版)》请在金锄头文库上搜索。

1、面向对象课程设计指导书中国地质大学(武汉)信息工程学院信息工程系面向对象课程设计实习指导书使 用 班 级:116111-2 实习指导老师:2012-4-5一、课程设计目的1、 使学生对所学面向对象程序设计理论知识进行一次综合性复习;2、 培养学生对实际问题的分析能力; 3、 培养学生独立编程、开发软件的动手能力;4、 培养学生规范的编程习惯;5、 培养学生撰写课程设计报告的能力。二、课程设计要求为了能更好地达到课程设计的目的,要求学生:1、每次上机前充分做好准备工作,查阅资料,预习相关内容,对课程设计内容进行方案的预设计,编制出源程序代码。3、程序代码的编制应按照C+编码规范的要求进行,具体可

2、参考指导书中【附件二】“C+编码规范”。程序的界面全部采用MFC的函数实现。4、按题目要求独立完成课程设计,不旷课、不迟到、不早退、遵守机房规定、爱护机房设备。5、实习时间:待定。6、实习成果提交时间:2012年5月5日前内容:纸质报告和光盘(以班级为单位刻盘,盘内含每人代码及电子文档报告)要求:课程设计结束后,按照指导书中【附件一】的要求撰写出课程设计报告(要求用A4纸打印,报告格式的电子文档由指导教师提供)。三、课程设计题目1、学生学籍成绩管理系统学生的信息包括:姓名、学号、性别、班级、院系;学生的成绩信息包括英语、数学、程序设计及体育成绩等各门课的成绩;定义如下类,并建立一个文本文件St

3、udent.dat,用于存储学生、课程与成绩的相关信息。文件格式自己定义。学生类CStudent(姓名、学号、性别、班级、院系);课程类CLessen(课程名称、课程开设时间);成绩类CGrade(学号、课程名称、成绩)要求实现如下功能: 在对话框上能够添加、删除、编辑和查询课程信息; 在对话框上能够添加、删除、编辑和查询学生信息学生信息; 在对话框上能够增加、删除、编辑和查询学生的选课信息; 在对话框上能够录入和编辑学生某门课的考试成绩; 在对话框上能够按照学生姓名查询学生的选课信息和选课成绩,并统计出其总成绩、平均成绩,计算出该学生的成绩的标准差; 显示全班的学生成绩排名。 统计出各班的平

4、均成绩,并进行排名。2、橡皮筋画线程序,要求: 利用鼠标在视图上绘制线,能够设置线的颜色和宽度; 能够用鼠标拾取绘制的某条线,被选中的线能够高亮显示,并且弹出对话框,输入线的属性保存起来; 能够将绘制的线数据保存在Line.dat文本文件中; 打开线数据文件Line.dat,可以显示出文件里面的线图形。五、成绩评定及评分标准指导老师按优秀、良好、中等、及格、不及格五档提交成绩。成绩构成:(1)现场出勤、提问、调试、运行结果展示: 50% (2)程序代码质量: 20%(3)设计报告: 30%其他说明:在实现的过程中可根据自己的实际情况增加软件的实用性。实用性强的软件可酌情加分。附件一、课程设计报

5、告格式课程设计报告封面:面向对象程序设计课程设计报告学 号: 班级序号: 姓 名: 指导老师: 成 绩: 中国地质大学(武汉)信息工程学院遥感科学技术系2010年5月实习题目一()【需求规格说明】(,具体内容:题号及题目、问题描述、问题分析。)【算法设计】(1)设计思想:(,具体内容:主要的算法思想。)(2)设计表示:(,具体内容:子模块(过程或函数)的规格说明、关系图(描述类与类之间的关系图、各功能模块之间的关系图等)。)【调试报告】(,具体内容:问题是如何解决的,改进设想。)【附录】(,具体内容:源程序清单(必须有必要的注释)、测试数据及运行结果。)实习题目二总 结(,具体内容:通过本次课

6、程设计,谈谈你的体会和感想以及对本课程设计的意见和建议。)附件二、C+编码规范1、文件组织(1) 文件结构A、版权和版本的声明版权和版本的声明位于头文件和定义文件的开头(参见例1),主要内容有: 版权信息。 文件名称,标识符,摘要。 当前版本号,作者/修改者,完成日期。 版本历史信息。/Copyright (c) 2002-2005, 中国地质大学/ All rights reserved./ / 文件名称:输入文件名,如filename.h/ 文件标识:见配置管理计划书/ 摘 要:简要描述本文件的内容/ / 当前版本:1.1/ 作 者:输入作者(或修改者)名字/ 完成日期:2002年7月20

7、日/ 取代版本:1.0 / 原作者 :输入原作者(或修改者)名字/ 完成日期:2002年5月10日例1 版权和版本的声明B、头文件的结构头文件由三部分内容组成: 头文件开头处的版权和版本声明(参见例1)。 预处理块。 函数和类结构声明等。假设定义文件的名称为 box.h,定义文件的结构参见例2。/ 版权和版本声明见例1,此处省略。#include “graphics.h”/ 引用头文件/ 全局函数的声明void Function1();/ 类的声明class CBox public: long GetSize(); private: long m_lWidth; .;例2 C+/C定义文件的结

8、构【规则1】防止头文件内容被重复包含为了防止头文件内容被重复包含,所有头文件必须用ifndef/define/endif结构产生预处理块。例如:对于文件mystring.h,其文件内容应按照如下方式编写(例3):#ifndef MYSTRING_H #define MYSTRING_H #include / 引用标准库的头文件#include “myheader.h” / 引用非标准库的头文件void Function1();/ 全局函数声明class Box / 类结构声明; #endif例3 文件的内容定义【规则2】引用信息顺序标准的头文件要放在前面,而且按照字母顺序排列。标准头文件和自己

9、的头文件之间应该用空行分隔。【规则3】用 #include 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。【规则4】用 #include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。【建议1】头文件中只存放“声明”而不存放“定义”在C+语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数,如果从提高性能角度考虑是可取。除此之外的选择,建议将成员函数的定义与声明分开,不论该函数体有多么小。【建议2】不提倡使用全局变量,尽量不要在头文件中出现象extern int value 这类声明。C、头文件的作用 通过头文件来调用库功能。

10、在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的,编译器会从库中提取相应的代码。 头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。(2)目录结构如果一个软件的头文件数目比较多(如超过十个),通常应将头文件和定义文件分别保存于不同的目录,以便于维护。例如,可将头文件保存于include目录,将定义文件保存于source目录(可以是多级目录)。如果某些头文件是私有的,它不会被用户的程序直接引

11、用,则没有必要公开其“声明”。为了加强信息隐藏,这些私有的头文件可以和定义文件存放于同一个目录。【规则5】统一目录结构项目开始时,规定好项目相关文件在磁盘上的存储目录结构。2、命名规则比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p,如果一个变量由ppch开头,则表明它是指向字符指针的指针。在程序体中应基本遵循匈牙利命名规则。(1) 总则【规则6】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。标识符应该采用英文单词或其组合,便于记忆和阅读,切

12、忌使用汉语拼音来命名。【规则7】标识符长度应当尽量符合“min-length & max-information”原则。单字符的名字也是有用的,常见如i,j,k,m,n,x,y,z等,它们通常可用作函数内的局部变量。【规则8】程序中不要出现仅靠大小写区分的相似的标识符。例如:int x, X;/ 变量x 与 X 容易混淆void foo(int x);/ 函数foo 与FOO容易混淆void FOO(float x);【规则9】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通

13、常采用“小写加下划线”的方式,如add_child。别把这两类风格混在一起用。【建议3】尽量避免名字中出现数字编号,如Var1,Var2等,除非逻辑上的确需要编号。【建议4】尽量使用公认的无异义的缩写,缩写一般不超过4个字母。例如:HTML Hypertext Markup LanguageURL Uniform Resource Locatorcmd command init initialize【规则10】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解。【规则11】变量的名字应当使用“名词”或者“形容词名词”。例如: float value;float oldValue;float newValue;【规则12】函数的名字应当使用“动词”或者“动词名词”(动宾词组)。类的成员函数省掉表示对象本身的“名词”。例如:DrawBox(); / 全局函数 box-Draw();/ 类的成员函数【规则13】用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。例如:intminValue;intmaxValue;intSetValue();intGetValue();(2) 文件【规则14】通用文件命名规则 类的声明文件(.h)和实现文件(.cpp):类名.h类

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

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