《面向对象程序设计cpp》课程设计指导书
opp课程指导书
《面向对象程序设计》课程设计指导书课程代码:0680026课程名称:面向对象程序设计 / Object-Oriented Programming学时:32学时(共四天)学分数:2课程类别:专业实践一、主要内容与要求内容:(一)利用组合和派生的方法构成新的类(必做)要求:要求使用Point类,构成新的类Line。
本设计任务可以使用四种方法实现,要求学生在不同的实现方法中,如何设计相应的构造函数和复制构造函数,进一步理解程序调用它们及析构函数的执行顺序。
1)利用包含设计的方法构造新的类2)使用模板设计的方法构造新的类3)利用继承设计的方法构造新的类4)利用模板继承的设计方法构造新的类(二)设计一个小型管理信息系统程序(下列题目中选做1题,可参考ppt文件)二、方式、程序及时间安排1.在课程设计初期,首先将学生分为3人一组,大家自由分组,并进行角色划分,共同确定系统目标,书写开题报告。
2.然后,小组成员经过合作共同经历软件的选题、总体设计、编程与详细设计、实现和维护的全过程,并在规定的时间内,以小组为单位提交课程设计报告书和可运行的程序。
3.鼓励学生根据兴趣自拟题目。
5时间安排:共4天。
三、考核与成绩评定此次课程设计比平时的作业和提问要复杂,对同学来讲有一些难度,但只要认真对待,一般都能完成设计。
为了鼓励学生的积极性,允许相互讨论,合作完成此次的课程设计。
课程设计结束后,要求提交课程设计报告。
四、其它要求①课程设计是教学过程的重要实践性教学环节,不允许免修;课程设计不及格者,按照学生学籍管理规定处理。
②在课程设计期间,要求保证时间,努力工作、认真设计,确保课程设计按期完成。
③在课程设计期间,不允许同学复制或抄袭别人的设计,应独立完成自己的设计任务。
否则,按没有完成设计要求处理。
《面向对象程序设计》课程设计任务及指导书
《面向对象程序设计》课程设计任务与指导书绍兴文理学院计算机系《面向对象程序设计》课程设计指导书设计任务与目的《面向对象程序设计》是一门实践性较强的软件基础课程,在理论课的基础上,通过《面向对象程序设计》的课程设计,使学生学会在.net平台开发环境下编写综合型、设计型的程序;巩固学生的的基础知识;培养学生采用面向对象的方法设计并调试较大型程序的动手能力,并更好地理解和消化课本所学的知识,为今后的实际应用打下良好的基础,课程设计侧重培养一下几方面的能力:(1)培养对问题中分析以及归纳和抽象到数据结构的能力;⑵培养选择和应用数据存储结构的能力;⑶培养数据组织的能力和抽象数据类型设计的能力;⑷培养算法设计、程序设计和调试的能力;⑸培养综合知识、方法、技能的应用能力;⑹培养编制较综合性程序的能力。
设计内容与基本要求课程设计的题目应以综合性的题目为主,选择与实际应用结合较紧密的较综合性的题目,难度应大于课程实验的题目。
本次设计的主要内容是(1)开发一个简单的教务管理系统,基本功能如下:通过提供控制台的图形界面,允许用户以3种不同的身份登陆教务系统,分别进行相关的操作:(1)系统管理员:管理现有课程、学期课程、教师及学生信息等(2)教师:管理本人的学期课程,查询选修所任课程的学生列表,并给学生打分等(3)学生:查询学期课程情况,选课/退课,查询已修课程成绩等要求学生用面向对象的思想对系统进行分析,设计所需类并实现,调试通过,基本数据信息均存放在文件中。
(2)使用Windows Form开发简单的游戏,实现基本的连连看功能(也可以是类似的别的小游戏),要求采用面向对象思想,实现算法逻辑与界面分离.时间及指导教师安排备注:(1)指导教师:戴振中(2)上机地点:理工楼303(理论课地点另定)(3)周二(2-9周)下午1:30~4:30考核课程设计的成绩分为:优秀、良好、中等、及格,不及格五个等级,不及格者不得取得相应学分。
《面向对象程序设计cpp》课程设计指导书
《面向对象程序设计》课程设计指导书一、课程设计目的通过本课程设计,培养上机动手能力,使学生巩固《面向对象程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关。
二、课程设计题目0、人事管理系统1、物业管理系统2、客房管理系统3、学生管理系统4、民航订票系统5、商场销售管理系统6、通讯录7、图书馆管理系统8、商场(工厂)库存管理系统9、“一二九”合唱评委打分系统学生课设选题根据学号的尾数确定。
(例学号为17号的学生做7号题目)三、课程设计任务1、任务:在两周内独立正确完成至少1道题目。
2、学生完成课设后,向指导老师提出答辩申请。
答辩时要检查的内容为:(1) 课程设计纸质文档;(2) 课程设计源代码及其运行结果;(3) 老师提出相关问题,学生对问题进行作答。
3、时间:指导:第十六,十七周。
答辩时间:第十七周四、课程设计考核方式课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的30%。
优(90分以上):按要求完成,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述,有正确的流程图,程序完全实现设计方案,设计方案先进,软件可靠性好,能很好的回答老师所提出的问题;良(80 - 90分):按要求完成,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进,能较好的回答老师所提出的问题;中(70 - 80分):按要求完成,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确,能基本回答老师所提出的问题;及格(60 - 70分):按要求完成,有完整的符合标准的文档,有基本实现设计方案的软件,但不能完全运行,设计方案基本正确,不能完全回答老师所提出的问题;不及格(60分以下):不能完成程序,没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确,不能回答老师所提出的问题。
面向对象程序设计_C++_课程设计指导书
面向对象程序设计(C++)课程设计试验指导书经济与工商管理学院本课程设计的目的、任务与要求目的通过本课程设计,使学生加深对面向对象程序设计思想的理解,理解事件编程的概念,为《JA V A程序设计》、《数据库设计及应用》等后续课程以及毕业设计打下坚实的程序设计基本能力基础。
任务VC ++ 6.0的基本操作及简单的C++程序编写、调试与运行,用AppWizard进行MFC的设计,基本的文本和图形输出, 对话框和基本控件的使用。
要求1、初步掌握C++开发工具的使用方法;2、熟练掌握利用C++语言编写类和对象、继承机制以及多态机制的程序设计的方法和技能。
实验一VC++ 基础操作Visual C++ 6.0 是MicroSoft公司开发的基于C/C++的集成工具,是面向对象的、可视化的软件开发环境。
主要用于编写在Windows操作系统上运行的应用程序。
包括编辑器、编译器、调试器、连接器和资源管理器等。
另外,还提供了许多向导。
用户可利用VC以两种方式编写Windows应用程序,一种是基于Windows API的C编程方式,另一种是基于MFC的C++编程方式。
C编程方式是传统的、久经考验的编程方式,代码效率较高,但开发难度与开发工作量大。
C++编程方式代码运行效率相对较低,但开发难度小,开发工作量小。
在C++编程方式中,主要以MFC提供的许多类库,包括对话框、文档/视图结构、图形处理、鼠标消息处理、颜色的使用、滚动处理、文件读写、文档打印和多视图等作为基础。
用VC编写的面向对象的程序,仍可在MS-DOS环境下运行可执行程序,但这并不影响以后的MFC编程。
一 Visual C++中的源文件编辑及编译运行步骤双击MicroSoft Visual C++ 6.0后,得到如图1所示的界面,点击菜单项Step 1 of 图 1 VC++ 6.0 界面中的文件(F),选择新建,则会出现图2所示的画面,在此画面中点击最上面一排中的文件,则会出现图3所示画面。
1. 面向对象程序设计---课程设计指导书
《面向对象程序设计课程设计》课程设计指导书一、目的本课程设计的目标,是以面向对象编程思想进行程序设计为中心。
1.通过课程设计,使学生了解面向对象分析和设计的基本概念.2.熟悉巩固UML工具在面向对象分析和设计中的作用,学会使用UML对系统建模。
3.能够利用面向对象思想到实际编程应用中去,为今后从事软件开发工作打下基础。
4.通过课程设计,培养学生针对实际问题,采用面向对象思想来分析问题、解决问题的能力,进一步提高学生独立编程的能力。
二、要求1.明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。
2.培养正确的设计思想,严谨的工作作风,提高对所学知识应用和分析能力、解决问题的能力,提倡独立思考、刻苦钻研和创新的精神。
3.严格要求、自觉遵守纪律,必须按规定的时间完成设计。
缺勤累计时间超过实际设计时间三分之一及以上者,课程设计成绩按不及格处理;不服从指导教师的安排,违反设计纪律,影响设计工作正常进行者,指导教师有权停止其设计工作,成绩以0分计。
4.针对实际案例,根据客户项目需求,进行需求分析。
5.针对实际案例,采用面向对象分析与设计思想,使用UML建模工具完成对系统的分析,画出相应的用例图、类图。
6.针对实际案例进行分析,设计并创建出合适的数据库表。
7.在系统分析完成之后,采用三层架构进行编码,实现系统的功能。
8.完成规范化的课程设计报告的编写。
三、课程设计报告应包括的内容1.课程设计的题目、设计目的;2.需求分析与系统模块划分(系统功能模块图);3.UML分析与设计(系统用例图、类图);4.数据库分析与设计(数据库表、视图、存储过程等);5.编码实现及测试;6.课程设计的总结,主要包括以下内容:(1)课程设计中的收获、遇到的主要问题和解决方法;(2)设计中存在的不足,需进一步改进的设想;以上内容均填写在课程设计报告上,要求格式规范,符合学校关于课程设计的要求和规范。
《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点
面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。
(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。
实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。
要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。
(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。
要求:使用递归函数。
主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。
链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。
程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。
《面向对象程序设计》实验指导书(新)
《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。
能够使用面向对象编程语言进行相应的程序设计和开发。
理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。
掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。
通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。
四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。
掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。
2.编程求所有的3位数素数,且该数是对称的。
所谓“对称”是指一个数,倒过来还是该数。
例如,375不是对称数,因为倒过来变成了573。
实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。
2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。
实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。
#《面向对象程序设计》(C++)实验指导书
实验 1 类和对象1.1实验目的和要求(1) 理解类和对象的概念,掌握声明类和定义对象的方法。
(2) 掌握构造函数和析构函数的实现方法。
(3) 初步掌握使用类和对象编制C++程序。
(4) 掌握对象数组、对象指针和string类的使用方法。
(5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。
(6) 掌握类对象作为成员的使用方法。
(7) 掌握静态数据成员和静态成员函数的使用方法。
(8) 理解友元的概念和掌握友元的使用方法。
1.2实验内容和步骤1.输入下列程序//test4-1.cpp#include<iostream>using namespace std;class Coordinate{ public:Coordinate(int x1,int y1){ x=x1;y=y1;}Coordinate(Coordinate &p);~Coordinate(){ cout<<”Destructor is calleded\n”;}int getx(){return x;}int gety(){return y;}private:int x,y;};Coordinate::Coordinate(Coordinate &p){ x=p.x;y=p.y;cout<<”copy-initialization Constructou is called\n”;}int main(){ Coordinate p1(3,4);Coordinate p2(p1);Coordinate p3=p2;cout<<”p3=(“<<p3.getx()<<”,”<<p3.gety()<<”)\n”;return(0);}(1)写出程序的运行结果。
(2)将Coordinate类中带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<”Constructor is called.\n”;写出程序的运行结果,并解释输出结果。
《C--面向对象程序设计》实验指导书(彭成)
《C++面向对象程序设计》实验指导书主讲:彭成湖南工业大学计算机学院2016-9-20目录实验一 DEV C++开发环境及C++程序的上机过程一、实验目的1、了解和使用C++集成开发环境;2、熟悉C++环境的基本命令和功能键;3、熟悉常用的功能菜单命令;4、学习使用C++环境的帮助;5、学习完整的C++程序开发过程;6、理解简单的C++程序结构二、实验内容使用Visual C++ 6.0集成环境来编辑、编译并运行下面简单C++程序:1.#include <iostream>using namespace std;int main(){cout<<"This is a C++ program.\n";}2.#include <iostream>using namespace std;int max(int,int); //声明自定义函数int main() //主函数{int a,b,c;cout<<"input two number:\n";cin>>a>>b;c=max(a,b); //调用max函数,将得到的值赋给Ccout<<"max="<<c<<endl;}int max(int x,int y) //定义max函数,函数值为整型,形式参数x,y为整型{int z; //max函数中的声明部分,定义本函数中用到的变量z为整型if(x>y) z=x;else z=y;return(z); //将z的值返回,通过max带回调用处}三、实验步骤Dev-C++是一个Windows环境下C/C++的集成开发环境(IDE),它是一款自由软件,遵守GPL许可协议分发源代码。
使用起来非常方便。
对于初学者而言还是有些迷茫。
首先来看看如何建立一个项目。
《面向对象程序设计》课程设计任务书
《面向对象程序设计》课程设计任务书一、课程设计目的《面向对象程序设计》是一门重要的计算机专业课程,通过本课程设计,旨在让学生更深入地理解和掌握面向对象程序设计的基本概念、原理和方法,提高学生运用面向对象技术解决实际问题的能力。
具体而言,课程设计的目的包括以下几个方面:1、巩固和加深学生对面向对象程序设计中类、对象、继承、多态等核心概念的理解,培养学生的抽象思维和逻辑思维能力。
2、让学生熟悉面向对象程序设计的开发流程,包括需求分析、设计、编码、测试和维护等阶段,提高学生的软件开发能力。
3、培养学生运用面向对象编程语言(如 C++、Java 等)进行实际编程的能力,提高学生的代码编写规范和调试能力。
4、培养学生的团队合作精神和沟通能力,让学生在团队中共同完成一个较为复杂的项目,学会分工协作和相互交流。
5、激发学生的创新意识和解决实际问题的能力,让学生能够将所学知识应用到实际场景中,开发出具有一定实用价值的软件系统。
二、课程设计要求1、学生需独立完成课程设计任务,不得抄袭他人成果。
2、课程设计题目应具有一定的实用性和挑战性,能够涵盖面向对象程序设计的主要知识点。
3、学生在进行课程设计时,应严格按照面向对象的方法进行分析、设计和实现,确保程序的结构清晰、可读性强、可维护性好。
4、学生需提交课程设计报告,报告内容应包括需求分析、总体设计、详细设计、编码实现、测试结果以及总结等部分。
5、课程设计报告应书写规范、条理清晰、图表完整、数据准确。
三、课程设计题目以下是几个可供选择的课程设计题目,学生可根据自己的兴趣和实际情况选择其中一个进行设计:题目 1:学生成绩管理系统设计一个学生成绩管理系统,能够实现对学生成绩的录入、查询、修改、统计等功能。
系统应具备良好的用户界面,方便用户操作。
题目 2:图书管理系统设计一个图书管理系统,能够实现对图书的入库、借阅、归还、查询等功能。
系统应能够记录图书的基本信息、借阅记录以及读者信息等。
面向对象程序设计C++课程设计指导书
目录前言 (2)第一章概述 (3)1.1课程设计目的 (3)1.2基本要求 (4)1.3考核方法和成绩评定 (4)1.3.1 考核方法 (4)1.3.2 成绩评定 (5)第二章程序设计方法与常用算法 (6)2.1程序设计与算法 (6)2.1.1 算法 (6)2.1.2 结构程序设计 (7)2.1.3 面向对象开发方法 (8)2.1.4 设计练习题目 (9)2.2 常用数值计算算法 (10)2.2.1 迭代法 (10)2.2.2 递推法 (11)2.2.3 递归法 (12)2.2.4 设计练习题目 (12)2.3 非数值计算算法 (13)2.3.1 穷举搜索法 (13)2.3.2 递归法 (14)2.3.3 回溯法 (14)2.3.4 设计练习题目 (15)第三章排序与查找 (17)3.1排序 (17)3.1.1 直接插入排序 (17)3.1.2 选择排序 (18)3.1.3 冒泡排序 (18)3.2查找 (18)3.2.1 顺序查找 (19)3.2.2 二分法查找 (19)第四章综合设计题目 (21)前言C++是一种混合性语言,它既具有独特的面向对象的特征,又保留传统的高效结构化程序设计语言C的主要特征。
因此,可以说C++是包含支持面向对象程序设计和C语言的一个超集,C++全面支持数据抽象、数据封装、继承性和多态性。
无论是使用面向对象程序设计语言,还是结构化程序设计语言,最重要的一个方面就是“算法”,可以说:算法是一个程序的灵魂。
一个好的算法是可以使用任何语言实现的,即“编程语言的无关性”。
本书就是从算法出发,重点介绍了几个常用的数值计算算法和非数值计算算法的基本思想和分析过程,并配以相应的设计练习题目来完成对本算法的应用。
对于一种算法,可以有许多种变换形式,本文中只是做一简单介绍,希望学生在今后的学习中多注重算法的学习和把握。
鉴于时间仓促和编者水平有限,对于本书中存在的错误和不足,敬请各位同学和教师批评指正。
#面向对象程序设计课程设计指导书
《面向对象程序设计》课程设计指导书一、课程设计的基本要求《面向对象程序设计课程设计》是计算机专业及相关专业学生的一门实践课程。
本课程对于检验学生学习面向对象程序设计课程后的学习成果,对于软件开发主流方法和思想——面向对象程序设计方法和思想的牢固掌握和熟练应用是一个非常重要的检测,是后续课程得以顺利进行的必要保证,对学生的程序设计能力培养和软件工程能力的培养具有重要的作用和意义。
本课程设计要求学生综合应用已学的计算机相关知识,例如程序设计基本思想和方法、C++语言、面向对象程序设计思想和方法,通过对真实世界的模拟和抽象来解决一些比较简单的实际问题。
课程要求学生针对一个比较系统的题目进行编码、测试,并进行设计说明书的撰写,从而培养和锻炼学生初步的工程意识和做法。
二.课程设计具体的步骤机规范如下:1.问题分析与系统的结构设计:充分地分析和理解问题本身,弄清要求作什么,限制条件是什么。
按照以数据结构为中心的原则划分模块,即定义数据结构及其在这些结构之上的操作,使得对数据结构的存取通过这些操作加以实现。
在这个过程中,要综合考虑系统功能。
要考虑系统结构清晰、合理、简单并且易于调试。
最后写出每个子程序(过程或函数)的规格说明,列出它们之间的调用关系,可以使用调用关系图表示则更加清晰,这样便完成了系统结构设计。
2.详细设计和编码详细设计的目的是对子程序(过程或函数)的进一步求精。
用IF 、WHILE 和赋值语句等,以及自然语言写出算法的框架。
利用自然语言的目的是避免陷入细节。
在编码时,可以对详细设计的结果进一步求精,用高级语言表示出来。
程序的每一行最好不超过60 个字符。
每个子程序(或过程、函数)通常不要太长,以40 行为宜。
子程序(或过程、函数)包含的程序行数太多,易于造成理解的困难。
控制IF 、WHILE 等语句的连续嵌套的深度应加以控制。
程序的目的性必须明确。
对每一段程序完成的作用,除非常明显的除外(如:x = x + 1; 注释为x 加1,没有什么意义),都应加以注释。
面向对象程序设计课程设计指导书
面向对象程序设计课程设计指导书适用专业:计算机科学与技术专业应用技术学院应用技术教研室编写目录第一部分课程设计安排 (1)一.课程设计目的 (1)二.时间安排 (1)三.考核标准 (1)四.课程设计要求 (2)第二部分课程设计内容 (3)一.题目 (3)二.分组及选题 (3)三.其他要求 (6)四.课程设计作品及提交文档 (7)第一部分课程设计安排一.课程设计目的面向对象程序设计课程设计是计算机科学与技术专业培养计划中的重要实践教学环节,旨在通过一个管理信息系统的开发,加深学生对Java语言的理解和应用,尤其是对面向对象编程思想、Java 编码规范、图形用户接口、JDBC访问数据库的理解,巩固软件工程课程的相关知识,了解软件开发的基本流程,进一步提高学生的学习能力、理解能力、表达能力及沟通能力。
二.时间安排本次课程设计时间为3周,具体时间安排如表1.1所示。
表1.1 面向对象程序设计课程设计时间安排三.考核标准本次课程设计成绩以考核学生课程设计作品的完成情况为主要依据,并结合学生在课程设计的态度和考勤情况进行评定,具体考核指标如表1.2所示。
表1.2课程设计考核指标同时:累积缺勤超过3学时不能参加“优秀”评定;累积缺勤超过5学时不能参加“良好”评定;累积缺勤超过8学时不能参加“中等”评定;累积缺勤超过10学时且没有假条则没有课程设计成绩。
四.课程设计要求1、根据课程设计的目的、要求认真准备,在上机操作前详细阅读《面向对象程序设计课程设计指导书》。
不迟到、不早退;严守课堂纪律;听从指导教师的指挥,在规定时间内完成相应的设计任务。
每天向指导教师通报当日所做设计的进度及成果。
2、教师以小组为单位为学生分配机器,在整个课程设计期间要求固定座位,并保证自己机器的安全及卫生。
3、积极思维、认真操作、独立完成、遇到困难向指导教师提问,坚决杜绝抄袭他人成果的行为;如发现抄袭现象,双方成绩均为“不及格”。
设计结束后,按照指导教师给出的课程设计报告规范认真编写课程设计报告。
C++面向对象程序设计-课程设计
《面向对象程序设计》课程设计指导书一、课程设计的目的和意义《面向对象程序设计》课程设计是实践性教学环节之一,是《面向对象程序设计》课程的辅助教学课程。
该课程设计要求学生综合运用在《面向对象程序设计》课程中学到的面向对象技术与实际编程相结合,独立完成一项较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和C++编程技术的理解和掌握,培养实际的应用程序开发能力。
在课程设计过程中,使学生养成良好的程序设计风格,并掌握C++应用程序的设计开发过程和编程方法、测试方法。
二、设计要求:本课程设计集中安排1周时间进行,以个人为单位,由教师布置题目,每位同学完成1个题目。
要求学生根据题目需求描述。
每位同学对每个题目的任务有需求描述、系统总体设计,通过面向对象语言C++进行模拟描述,最后通过编码、测试等步骤以实现老师布置的题目。
课程设计要求:1、编程工具统一使用Visual C++编程软件,并统一使用类来实现,体现类的封装性、继承性和多态性。
2、编程过程中,要求层次鲜明,每一重要部分都要加注释(无注释且程序代码混乱的将要求重新整理)。
3、程序编码完成后,一定要进行严密的测试工作。
4、课程设计最终的文档要求(建立一个word文档):(1)封面:提示:有统一样式封面(2)项目计划:包括需求描述,系统总体分析设计,编码,测试报告。
(3)程序详细功能描述(描述你的程序能完成什么功能,采用哪些C++技术),请详细说明本组程序特点。
要求300字以上。
(4)编程日志(将每天所做的工作和遇到的问题加以记录)。
要求写400字以上。
(5)测试报告(主要描述测试员本人是如何发现程序错误的,并找出错误原因的)。
(6)程序运行说明(对程序的每个操作步骤的屏幕画面进行载图,并加以文字说明)。
(7)此次课程设计的课程总结(每个人都要写,要求300字以上)。
提示:文档的字体与大小,统一采用“宋体五号字”;要将以上内容合写成一篇完整的文档;文档头要加入标题和目录索引。
面向对象程序设计(C++) 实验指导书
7 27 29 1
各行、各列以及对角线值的和都是64.
【提示】
求4*4魔方的一般步骤如下:
(1)设置初始魔方的起始值和相邻元素之间的差值。例如上述魔方的初始魔方的起始值(first)和相邻元素之间的差值(step)分别为:
first=1
step=2
(2)设置初始魔方元素的值。例如上述魔方的初始魔方为:
int *p =alist;
for(i=0;i<length;i++,p++)
}
Coordinate(Coordinate &p);
~Coordinate()
{ cout<<"Destructor is calleded\n";}
int getx()
{return x;}
int gety()
{return y;}
private:
int x,y;
};
Coordinate::Coordinate(Coordinate &p)
{ x=p.x;
y=p.y;
cout<<"copy-initialization Constructou is called\n";
}
int main()
{ Coordinate p1(3,4);
Coordinate p2(p1);
Coordinate p3=p2;
Coordinate p4;
Coordinate p5(2);
(2)掌握不同继承方式下,基类成员在派生类中的访问属性。
(3)掌握在继承方式下,构造函数与析构函数的执行顺序与构造规则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》课程设计指导书一、课程设计目的通过本课程设计,培养上机动手能力,使学生巩固《面向对象程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关。
二、课程设计题目0、人事管理系统1、物业管理系统2、客房管理系统3、学生管理系统4、民航订票系统5、商场销售管理系统6、通讯录7、图书馆管理系统8、商场(工厂)库存管理系统9、“一二九”合唱评委打分系统学生课设选题根据学号的尾数确定。
(例学号为17号的学生做7号题目)三、课程设计任务1、任务:在两周内独立正确完成至少1道题目。
2、学生完成课设后,向指导老师提出答辩申请。
答辩时要检查的内容为:(1) 课程设计纸质文档;(2) 课程设计源代码及其运行结果;(3) 老师提出相关问题,学生对问题进行作答。
3、时间:指导:第十六,十七周。
答辩时间:第十七周四、课程设计考核方式课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的30%。
优(90分以上):按要求完成,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述,有正确的流程图,程序完全实现设计方案,设计方案先进,软件可靠性好,能很好的回答老师所提出的问题;良(80 - 90分):按要求完成,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进,能较好的回答老师所提出的问题;中(70 - 80分):按要求完成,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确,能基本回答老师所提出的问题;及格(60 - 70分):按要求完成,有完整的符合标准的文档,有基本实现设计方案的软件,但不能完全运行,设计方案基本正确,不能完全回答老师所提出的问题;不及格(60分以下):不能完成程序,没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确,不能回答老师所提出的问题。
五、提交的资料1、软件软件需提供源程序,并能正常运行。
注:对于程序中未能实现的部分需要加以说明。
对于程序中所参考的部分代码需要加以声明,并说明出处。
2、文档(1)设计文档的格式尽量按照《中华人民共和国国家标准UDC 681. 3计算机软件产品开发文件编制指南GB 8567-88》的标准书写。
(2)内容(以下仅提供参考)1、需求分析;2、类设计及说明;3、定义的函数主要功能说明;4、主要算法说明:举例说明1、2个比较有特点的算法;5、系统总框图;6、存在的问题与不足及对策;7、使用说明(操作手册);8、程序源代码及说明;(3)文档要求1、程序中必须使用类定义对象完成设计。
2、所写的有效代码不得少于200行。
3、用A4幅面的纸打印出文档。
4、在程序中,使用结构体数组或文件作为数据载体。
5、使用Visual C++6.0编译器。
附:课程设计范例课程设计文档 ----简单的人员信息管理系统1.需求分析:需要实现的主要功能如下:(1)存储雇员的编号,级别,月薪(2)修改雇员的编号,级别,月薪(3)删除雇员的编号,级别,月薪(4)查询雇员的编号,级别,月薪(5)显示雇员的编号,级别,月薪………………………………………2.类设计及说明3.定义的函数主要功能说明:(1)employee类setname-----设置姓名;getname------提取成员姓名;getindividualempno--------提取成员编号;…………………………..(2)technician类Setworkhours -----设置工作时间…………………(3)salesman类…………………..(4)manager类…………………………….(5)salesmanager类…………………4.主要算法说明(1) Main函数中主要利用循环实现雇员姓名的连续录入,利用基类指针访问各派生类函数…….(2)………..5.系统总框图:6.存在的问题:(1)功能不是很完善,只实现了对人员工资级别等的存储及输出,对于员工级别,工资,薪级的修改,删除的功能还未实现。
(2)系统的操作界面需进一步优化,如能用菜单形式实现更为方便。
7.操作手册:运行程序后,先出现一蓝色背景,显示提示语:"Welcome to information management system!"它会在屏幕上运动一周,然后自行消失。
随之出现一红色背景,上面有提示语句,分别按照这些提示语句输入信息,就会出现一个菜单。
根据菜单的提示即可进行操作。
8.源程序代码及说明://employee.hclass employee{protected:char name[20]; //姓名int individualEmpNo; //个人编号int grade; //级别float accumPay; //月薪总额static int employeeNo; //本公司职员编号目前最大值public:employee(); //构造函数~employee(); //析构函数virtual void pay()=0; //计算月薪函数(纯虚函数)virtual void promote(int increment=0); //升级函数(虚函数)void SetName(char *); //设置姓名函数char * GetName(); //提取姓名函数int GetindividualEmpNo(); //提取编号函数int Getgrade(); //提取级别函数float GetaccumPay(); //提取月薪函数};class technician:public employee //兼职技术人员类{private:float hourlyRate; //每小时酬金int workHours; //当月工作时数public:technician(); //构造函数void SetworkHours(int wh); //设置工作时数函数void pay(); //计算月薪函数void promote(int); //升级函数};class salesman:virtual public employee //兼职推销员类{protected:float CommRate; //按销售额提取酬金的百分比float sales; //当月销售额public:salesman(); //构造函数void Setsales(float sl); //设置销售额函数void pay(); //计算月薪函数void promote(int); //升级函数};class manager:virtual public employee //经理类{protected:float monthlyPay; //固定月薪数public:manager(); //构造函数void pay(); //计算月薪函数void promote(int); //升级函数};class salesmanager:public manager,public salesman //销售经理类{public:salesmanager(); //构造函数void pay(); //计算月薪函数void promote(int); //升级函数};//employee.cpp#include<iostream>#include<cstring>#include"employee.h"using namespace std;int employee::employeeNo=1000; //员工编号基数为1000employee::employee(){ individualEmpNo=employeeNo++; //新输入的员工编号为目前最大编号加1 grade=1; //级别初值为1accumPay=0.0;} //月薪总额初值为0employee::~employee(){}void employee::promote(int increment){ grade+=increment; } //升级,提升的级数由increment指定void employee::SetName(char* names){ strcpy(name,names); } //设置姓名char* employee::GetName(){ return name;} //提取成员姓名int employee::GetindividualEmpNo(){ return individualEmpNo;} //提取成员编号int employee::Getgrade(){ return grade;} //提取成员级别float employee::GetaccumPay(){ return accumPay;} //提取月薪technician::technician(){ hourlyRate=100;} //每小时酬金100元void technician::SetworkHours(int wh){ workHours=wh;} //设置工作时间void technician::pay(){ accumPay=hourlyRate*workHours;} //计算月薪,按小时计酬void technician::promote(int){ employee::promote(2); } //调用基类升级函数,升2级salesman::salesman(){ CommRate=0.04;} //销售提成比例4%void salesman::Setsales(float sl){ sales=sl;} //设置销售额void salesman::pay(){ accumPay=sales*CommRate;} //月薪=销售提成void salesman::promote(int){ employee::promote(0); } //调用基类升级函数,升0级manager::manager(){ monthlyPay=8000;} //固定月薪8000元void manager::pay(){ accumPay=monthlyPay;} //月薪总额即固定月薪数void manager::promote(int ){ employee::promote(3);} //调用基类升级函数,升3级salesmanager::salesmanager(){ monthlyPay=5000;CommRate=0.005;}void salesmanager::pay(){ accumPay=monthlyPay+CommRate*sales; } //月薪=固定月薪+销售提成void salesmanager::promote(int){ employee::promote(2);} //调用基类升级函数,升2级#include<iostream>#include<cstring>#include"employee.h"using namespace std;void main(){manager m1;technician t1;salesmanager sm1;salesman s1;char namestr[20]; //输入雇员姓名时首先临时存放在namestr中employee *emp[4]={&m1,&t1,&sm1,&s1};int i;for(i=0;i<4;i++){cout<<"请输下一个雇员的姓名:";cin>>namestr;emp[i]->SetName(namestr); //设置每个成员的姓名emp[i]->promote(); //升级,通过基类指针访问各派生类函数}cout<<"请输入兼职技术人员"<<t1.GetName()<<"本月的工作时数:";int ww;cin>>ww;t1.SetworkHours(ww); //设置工作时间cout<<"请输入销售经理"<<sm1.GetName()<<"所管辖部门本月的销售总额:";float sl;cin>>sl;sm1.Setsales(sl); //设置销售额cout<<"请输入推销员"<<s1.GetName()<<"本月的销售额:";cin>>sl;s1.Setsales(sl); //设置销售额for(i=0;i<4;i++){emp[i]->pay(); //计算月薪,通过基类指针访问各派生类函数cout<<emp[i]->GetName()<<"编号"<<emp[i]->GetindividualEmpNo() <<"级别为"<<emp[i]->Getgrade()<<"级,本月工资"<<emp[i]->GetaccumPay()<<endl;}}。