《面向对象程序设计(C++)》
课程大作业
大作业名称
年级专业
项目成员
指导教师
2010 年6月1日
目录
1 需求分析 (1)
1.1 开发背景 (1)
1.2 项目目标 (1)
1.3 运行环境 (1)
2 程序分析 (1)
2.1 技术要点 (1)
2.2 项目任务书 (1)
3 技术路线 (1)
3.1 总体方案 (1)
3.1.1 软件及开发平台 (1)
3.1.2 总体方案 (1)
3.2 详细设计 (2)
4 工程进度 (2)
5 测试报告 (2)
5.1 阶段性测试 (2)
5.2 总体测试 (2)
6 个人小结 (2)
参考文献 (2)
附录程序源代码 (2)
1 需求分析
1.1 开发背景
1.2 项目目标
1.3 运行环境
2 程序分析
2.1 技术要点
2.2 项目任务书
3 技术路线
3.1 总体方案
3.1.1 软件及开发平台3.1.2 总体方案
3.2 详细设计
4 工程进度
5 测试报告
5.1 阶段性测试
5.2 总体测试
6 个人小结
参考文献
[1] 薛华成. 管理信息系统. 第二版. 北京: 清华大学出版社, 1993
[2] R K 霍斯尼. 谷物科学与工艺学原理. 李庆龙译. 第2版. 北京: 中国食品出版社, 1989
[3] 赵秀珍, 王崇文. 关于计算机学科中几个量和单位用法的建议. 见: 科技编辑学论文集.
北京: 北京师范大学出版社, 1997. 125-129
附录程序源代码
正文文字采用宋体小四,行间距20磅。正文所有的图表都必须在文中进行引用,图表中的字体用宋体五号,图标号在图的下方,表标号在表的上方,图标号与表标号均采用宋体五号。
图标号。所有的图按章顺序编号,如第2章的第4个图的编号为“图2-4”,并将图的编号和名称标在图的下方(图中文字、图名称均为宋体五号字),如:
图2-4 计算机与数据库
表标号。所有的表按章顺序编号,如第3章的第1个表的编号为“表3-1”,并将表的编号和名称标在表的上方(表中文字、表名称均为宋体五号字),如:
所有的数字和字母都采用Times New Roman ,每段段首缩进两格。标点符号都必须在中文状态下输入。
引用的参考文献统一列示于正文之后,在正文中需要对所有的参考文献采用上标[1]、[2]、[1, 6, 10]、[6-8]、[1, 6-8]、…等形式进行标注(如:根据DEA 理论
[7, 9],总体效率为…
参考文献正文居左,取固定行距17pt ,如果一项参考文献占用多行则采用缩进格式,见参考文献处。
目录采用自动更新,无需手动,点击目录右键单击更新域,目录会自动更新页码。
附录源程序采用5号字体。
《面向对象程序设计C++》期末考试试卷(B) 一、单项选择题(每小题2分,共40分) 1、关于C++与C语言关系的描述中,()是错误的。 A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的 C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的 2、已知:int m=10; 下列表示引用的方法中,()是正确的。 A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m; 3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是()。 A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*'); 4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是()。 A.函数的返回值类型B.参数的类型C.函数名称D.参数个数 5、下列有关C++类的说法中,不正确的是()。 A.类是一种用户自定义的数据类型 B.只有类中的成员函数或类的友元函数才能存取类中的私有成员 C.在类中,如果不做特别说明,所有成员的访问权限均为私有的 D.在类中,如果不做特别说明,所有成员的访问权限均为公用的 6、已知X类,则当程序执行到语句X array[3];时,调用了()次构造函数。 A.0 B.1 C.2 D.3 7、有关析构函数的说法,不正确的是()。 A.析构函数有且仅有一个 B.析构函数和构造函数一样可以有形参 C.析构函数的功能是在系统释放对象之前作一些内存清理工作 D.析构函数无任何函数类型
一、填空题(每空1分,共14分) 1、观看以下程序: class point{ public: void show() {cout<<”point”< (A)指针(B)引用(C)枚举(D)结构 3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。 (A)share (B)public (C)private (D)protected 4、关于构造函数,下列说法不正确的是()。 (A)构造函数名字和类名相同 (B)构造函数在创建对象时自动执行 (C)构造函数无任何函数返回类型 (D)构造函数有且只有一个 5、派生类可以访问其基类的()。 (A)公有成员(B)保护成员 (C)私有派生(D)公有和保护成员 6、下列关于运算符重载的描述中,错误的是()。 (A)运算符重载不可以改变操作数的个数 (B)运算符重载不可以改变运算符的功能 (C)运算符重载不可以改变结合方向 (D)运算符重载不可以改变运算优先级 7、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是() (A)面向过程(B)面向对象(C)安全性(D)复用性 8、对于类中定义的成员,其隐含访问权限为()。 A.public B.protected C.private D.static 9、下面有关重载函数的说法中正确的是() (A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同; (C)重载函数必须有不同的形参列表(D)重载函数名可以不同; 10、有如下的对类“CSample”的说明,其中()是错误的。 class CSample { A.int a=23; B.CSample(); public: C.CSample(int val); D.~ CSample(); 11、在int a=3,int *p=&a;中,*p的值是( ) A.变量a的地址值 B.无意义 C.变量p的地址值 D.3 12、每个类()构造函数。 (A)只能有一个(B)只可有公有的 《C语言程序设计》大作业报告 1.目的 掌握所学C语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学C语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 2.作业内容 熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用等。 3.要求: 1.要求每个同学都要认真对待,积极参与。 2.独立完成,不能抄袭。 3.课程设计结束时每位同学必须完成《大作业报告册》,其中包含设计源 代码和设计思路。 4.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设 计中完全未参与的将作不及格处理。 5.统一格式,A4打印,按时提交。 4.题目:设计要求:编写一个程序,求3x4数组的转置矩阵。要求在main函数里面读数,在change函数里面把矩阵转置。 5.程序设计 设计思路:1是先定义两个数组,一个是a[3][4],另一个是b[4][3]。2是将随便输入的12个数输入到a[3][4]。3是在change函数中将a[3][4]中值通过for循环的镶嵌将数组a[3][4]的值赋值给数组b[4][3]。4在主函数中将数组b[4][3]通过for循环的嵌套输出。 代码 《供配电技术课程大作业》 报告书 题目:高低压电气设备的 维护与故障处理指导教师: 姓名: 学号: 日期: 机电工和系2013-2014学年第2学期 报告书格式要求: 一、报告前置部分 (一)摘要内容包括研究目的、方法、结果、结论(300字~400字)四部分 (二)格式要求 1.中文摘要: “摘要”(黑体三号,居中),摘要正文(居左,首行缩进两字,宋体五号)。“关键词”(黑体小四号,居左顶格,单独占行),关键词正文(宋体五号),关键词为报告研究内容3~8核心专有名词,词与词之间用分号间隔。 2.外文摘要:独占一页 “Abstract”(Times New Roman,三号,加粗,居中),Abstract正文(居左顶格,Times New Roman,五号); “Key words”(Times New Roman,小四号,加粗,居左顶格,单独占行),Key words正文(居左顶格,Times New Roman,五号),与中文关键词对应,词与词之间用分号间隔。 二、报告主体部分 (一)正文格式要求 1.页眉(宋体,五号,居中),由“学生姓名:论文题目”格式构成。 2.页码(页面底端(页脚),右侧)。 3.章条序码(阿拉伯数字,小圆点间隔,末尾不加小圆点,左顶格,编号后空一个字距)第一级0,1, 2, 3,…(黑体,小二号) 第二级1.1,1.2,… 2.1,2.2,… 3.1,3.2,……(黑体,小三号) 第三级 1.1.1,1.1.2,…1.2.1,1.2.2,…2.1.1,2.1.2,…2.2.1, 2.2.2,… 3.1.1,3.1.2,…3.2.1,3.2.2,……(黑体,四号) 如在条以下仍需分层,则通常用a,b,…或1),2),…编序,左空2个字距。 4.前言、引言不编序号 (二)图、表及公式格式要求 1.图表字体(宋体、五号),图表名(中外文对照、宋体、五号、居中),图表按章编号(如图1-1、表2-2等),图编号及图名置下,表编号及表名置上。 插图宽度不宜超过10cm,有刻度的坐标图不加箭头,标值线朝里,其标值数字尽量不超过3位数(如用30km代替30000m)或小数以后不多于一个“0”(如用5μg 代替0.005mg);标目中的物理量的符号用斜体,单位符号用正体,纵坐标标目、标值逆时针旋转九十度书写;图中坐标线、尺寸线、引线0.5磅,轮廓线、函数线等主要部分0.75磅;文中图片要清晰。 表格的绘制均用三线表,表内无斜线、竖线,结构比较复杂的表可增加不通长的辅助线;表头中量的写法要规范,量的表示法不允许出现两条斜线(如:动量矩单位kg.m2/s,在表中应为L/kg.m2.s-1);表中“空白”代表未测或无此项,“-”代表未发现,“0”代表实测数据为零。 2.公式。公式统一用Microsoft公式3.0在系统默认状态下编辑,居中放置,其前的“解”、“假设”等文字顶格书写,公式序号按章排,加圆括号,居行尾。如“(1-1)”、“(2-1)”。公式换行书写时与等号对齐,凡正文中未提到的公式可不排序。 (三)引用和注释 1.引用。引用参考文献,在正文引用位置右上角标“[1]”、“[2]”,依据出现先后次序流水编号,相同文献多处引用,统一用首次编号。 1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。 目录 目录............................................................................................................................................ I 第一章需求分析.. (2) 1.1 问题描述 (2) 1.2 功能需求 (2) 1.3 开发环境 (2) 1.4 开发过程 (2) 第二章概要设计 (3) 2.1 总体设计 (3) 2.2 航空类的定义 (3) 2.3 接口设计 (5) 2.4 运行界面设计 (5) 第三章详细设计 (6) 3.1 输入模块设计 (6) 3.2 查找模块设计 (7) 3.3 订票模块设计 (8) 3.4 退票模块的设计 (9) 3.5 保存及读取模块设计 (10) 第四章测试分析 (11) 4.1 测试程序执行情况 (11) 第五章用户手册(可选) (15) 5.1 使用说明 (15) 第六章课程设计总结 (15) 附录:程序代码 (17) 参考文献 (25) 第一章需求分析 1.1问题描述 飞机订票系统设计 假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(航班信息用文件保存)--输入 航班信息浏览功能--输出 查询航线:(至少两种查询方式)--算法 ●按航班号查询●按终点站查询 承办订票和退票业务 1.2功能需求 根据要求用户需要设计一个关于售票处服务系统程序,使航空公司可以通过的乘客简单地输入个人部分信息,便可方便的管理机票。 该程序还要实现以下功能: (1)能够对航空航线进行查询; (2)能够自主的承办订票业务 (3)能够自主的承办退票业务 1.3开发环境 应用VisualC++,VisualC++不仅仅是一个C++编译器,而且是一个基于Windows操作系统的是集成开发环境IDE,这种环境开发出来的软件稳定性好、可移植性强,可以编制各种的Windows应用程序。 1.4开发过程 第一天选择课程设计题目,分析课题的要求C语言程序设计大作业报告模板
大作业报告格式
什么是面向对象程序设计
C++课程大作业参考报告
《面向对象程序设计》答案