搜档网
当前位置:搜档网 › 面向对象程序设计课程设计——绘图

面向对象程序设计课程设计——绘图

面向对象程序设计课程设计——绘图
面向对象程序设计课程设计——绘图

面向对象程序设计课程设计报告

题目:

专业:

班级:

学号:

姓名:

指导老师:

时间:

一、课程设计题目及所涉及知识点

设计题目是“用菜单和按钮来控制绘图”,实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小可在程序中设定)。界面要求:用图形界面实现。所涉及的知识点主要是:

1、java的抽象与封装:private、public、protected之类的访问属性控制符;

2、图形用户界面:java中的awt包(Panel、Frame类),swing包(JFrame、Jpanel类)以及各种组件的使用即按钮JButton、布局管理器(BorderLayout、GridLayout等)、标签JLabel、JTextField等;

3、java机制:鼠标事件的处理,窗口事件的处理;

4、类的继承与接口的实现:类的继承(extends关键字),接口的实现(implements关键字)。

二、课程设计思路

设计思路:

1、设计绘制图形的图形界面是基于AWT 、SWING组;在窗体中加入菜单栏、面板,在面板中加入按钮等组件,这样就构成了图形界面。

2、建立菜单项和按钮的监听事件,使之在点击之后触发绘图函数。

3、利用绘图函数画直线,画空心或实心椭圆、画空心或实心矩形、画多边形图形。

三、课程设计中遇到的难点及解决办法

1、绘图区域用画布不能实现绘图。通过使用面板来解决此类问题,把画布改为面板,用绘图函数把图形绘制好之后加入面板,把面板添加到窗体中。

2、事件处理不正常,如点击按钮之后不能正常绘制函数。通过改变事件的监听状态,把事件监听加入到面板类中使之正常。

四、总结

通过这次的课程程序设计,我学会了如何把自己学习到的基础知识转化为应用程序。不仅仅温习了基础知识、扩大了专业知识面,而且通过书籍、网络对收集资料、查阅文献、方案制定等实践方面得到了很好的锻练,促进对所学知识应用能力的提高。通过自己的动手实践,我也发现了自己有很多不足的地方,更加认识到要努力自己解决问题,无论是通过书籍还是网络资料,自己动手实践,这样更能加深印象,加强记忆,促使自己不得不去提高自己的编程水平,本次实验让我认识到实验的重要性,实践比理论更能提高自身的知识。通过这

次课程设计,我进一步加深对基础理论的理解,同时我渐渐的复习了Java使用方法和编程语法,之后的编程过程也相对得心应手,基本完成了预期计划的要求。

五、附录—主要源程序代码及运行结果

1、主要程序代码

//主函数

public class java {

public static void main(String args[]){

mypanel a=new mypanel();

}

}

//构建图形界面

public class mypanel extends JFrame implements ActionListener{ JMenuBar menubar=new JMenuBar();

JMenu menu1=new JMenu("直线");

JMenu menu2=new JMenu("椭圆");

JMenu menu3=new JMenu("矩形");

JMenu menu4=new JMenu("多边形");

JMenuItem item1=new JMenuItem("直线");

JMenuItem item2=new JMenuItem("空心椭圆");

JMenuItem item3=new JMenuItem("实心椭圆");

JMenuItem item4=new JMenuItem("空心矩形");

JMenuItem item5=new JMenuItem("实心矩形");

JMenuItem item6=new JMenuItem("多边形");

JButton button1=new JButton("直线");

JButton button2=new JButton("空心椭圆");

JButton button3=new JButton("实心椭圆");

JButton button4=new JButton("空心矩形");

JButton button5=new JButton("实心矩形");

JButton button6=new JButton("多边形");

JLabel label1=new JLabel("");

JPanel panel2=new JPanel();

public mypanel(){

Container container = getContentPane();

container.add(panel2,BorderLayout.SOUTH);

panel2.setLayout(new GridLayout(2,5,20,10));

final JPanel p = new JPanel();

getContentPane().add(p);

menu1.add(item1);

menu2.add(item2);

menu2.add(item3);

menu3.add(item4);

menu3.add(item5);

menu4.add(item6);

menubar.add(menu1);

menubar.add(menu2);

menubar.add(menu3);

menubar.add(menu4);

panel2.add(button1);

panel2.add(button2);

panel2.add(button4);

panel2.add(button6);

panel2.add(label1);

panel2.add(button3);

panel2.add(button5);

setJMenuBar(menubar);

setTitle("绘制图形");

setSize(600,400);

setVisible(true);

}

//菜单及按钮的监听事件,按菜单键或者按钮键画直线,画空心或实心椭圆、画空心或实心矩形、画多边形

item1.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawLine(400, 100, 50, 100);

}

});

item2.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawOval(100,100,200,50);

}

});

item3.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.fillOval(100,100,200,50);

}

});

item4.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawRect(200,90,200,100);

}

});

item5.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.fillRect(200,90,200,100);

}

});

item6.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawPolygon(new int[]{48,50,144,383,210}, new int[]{36,92,181,202,77}, 5);

}

});

button1.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawLine(400, 100, 50, 100);

}

});

button2.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawOval(100,100,200,50);

}

});

button3.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.fillOval(100,100,200,50);

}

});

button4.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawRect(200,90,200,100);

}

});

button5.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.fillRect(200,90,200,100);

}

});

button6.addActionListener(new ActionListener(){

public void actionPerformed(final ActionEvent e){

Graphics g = p.getGraphics();

g.drawPolygon(new int[]{48,50,144,383,210}, new int[]{36,92,181,202,77}, 5);

}

});

2、程序运行结果:(图一)绘制图形界面、(图二)菜单栏绘制图形、(图三)菜单栏绘制空心椭圆、(图四)按钮键绘制实心矩形

(图一)绘制图形界面

(图二)菜单栏绘制图形

(图三)菜单栏绘制空心椭圆

(图四)按钮键绘制实心矩形六、指导老师评语及成绩

地图学课程设计说明书

佛山科学技术学院 《地图学课程设计》 说明书 专业自然地理与资源环境姓名薛春惠成绩 班级 13自然地理与资源环境学号2013804142 日期 2015/6/27

目录 一、地图内容 二、设计步骤 收集资料 绘制地图 三、城市状况 四、南海旅游景点 六、存在的不足 七、专题图 一、地图内容

二、设计步骤 1 收集资料 收集各种地图、影像、数据和文字资料,分析汇总资料,选取有效部分加工使用,分别用到《中国自然地理地图集》、《广东省交通地图》、《佛山市旅游地图》、《佛山市南海区地图》、1:10万佛山市地形图、佛山市卫星影像等。 2、绘制地图 (1)投影网格与比例尺:依据地图内容、用途选用等比例尺底图,注意 图廓的配准、注记与经纬网密度删减。 (2)水系:选用河流、湖泊、水库、海岸线等,适当概括。 (3)居民点:居民点分级、概括,地名分级注记。 (4)边界线:视专题地图需要选取(国、省、市、县、镇边界),线性符 号选用与设计。 (5)交通线:铁路(车站)、国道、高速公路和水运航线(码头) 三、城市状况 3.1 地理位置

3.2 地形地貌 3.3 行政规划 3.4 人口概况 3.5 矿产资源 3.6 水资源和水文情况 3.7 商业广场情况 四、南海旅游景点 西樵山 西樵山风景名胜区位于广东省南海市西南部,面积约十四平方公里,西樵山有七十二峰,以山青,水奇著称,享有“岭南佳境”之盛名。1988年被定为国家重点风景名胜区。 西樵山是七八千万年前由海底火山喷发岩浆,岩状,火山灰后形成的死火山,山体外陡内平,状若莲衣复合,大秤峰居群峰之首,九龙岩,冬菇石,石燕石等峰岩形态万千。西樵山岩石节理发育,裂隙纵横,富有潜水,形成多处水景,有232口泉眼,28处瀑布。“欲览西樵胜,应先访白云”。位于西樵山西北部的白云洞为——马蹄形山谷,它兼收岩泉飞瀑之美,有“胜甲西樵”之称。三峰之间有两飞泉左右迂回而下,称“大云泉”、“小云泉”。泉水折叠汇成了三个湖,即所谓“白云飞下过三湖”:上为“应潮湖”,中为“鉴湖”,下为“会龙湖”。现在其下又增辟“白云”、“人工”两湖,形成五湖飞瀑交辉,亭台山水相映的奇泉。洞山腰的云泉仙馆原是明代的玉楼书院,云泉仙馆西的“三湖书院”门额为林则徐所题,康有为青年时代曾在此面壁苦读三年,山西南部有西天湖和左垂虹瀑,右垂虹瀑等景;山东南部有清暑岩,云岩飞瀑等景,山东北部有全山最大的瀑布玉岩飞瀑,以及玉岩,仙人石,东天湖等景。 早在新、旧石器时代,西樵山就有人类活动,留下许多历史遗迹,史学界称为“西樵山文化”。明代中叶成为南国理学名山,至今还保存着白云古寺,以及大量摩崖石刻等文物古迹。 西樵山碧玉洞 碧玉洞为峰间峡谷,两边怪石嶙峋、谷底狭径崎岖、洞中有玉岩珠瀑,听玉石室、遇仙桥,垂云石、东天湖等景点。其中,玉岩珠瀑为西樵山最大瀑布。 其中“西樵云瀑”在清朝已列为“羊城八景”之一,君行西樵,宛若画中游历,秀甲西樵的白云洞景区,融二十四景于一体,而其间古代建筑掩映,错落有致,碧玉洞,

什么是面向对象程序设计

1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。

面向对象程序设计课程设计

《面向对象程序设计》课程设计 课程代码:*****(采用现行5位数字的课程代码) 课程名称:面向对象程序设计课程设计 设计周数:1周 学分:0.5学分 课程类别:必修课 一、课程设计的目的与任务 面向对象程序设计课程设计是计算机科学与技术、网络工程、信息管理与信息系统等专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。通过课程设计,学生可以将本课程所学知识点融会贯通,举一反三,加深实践与理解,提高学生综合运用所学知识的能力;另一方面,在参与一系列子项目的实践过程中,能使学生获得相关项目管理和团队合作等众多方面的实践经验。其目的在于加深对面向对象程序设计理论和基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,使学生掌握基本的信息系统分析方法、设计方法和上机操作的各种技巧,对培养学生的逻辑思维能力、团队合作精神、创新能力、动手操作能力各方面素质有提供了良好的实践平台,为后续课程的学习打下一定的基础。 二、本课程设计的基本理论 本课程设计使用面向对象程序设计的方法解决实际问题,涵概了课程的所有重要知识点,如类与对象、继承与组合、虚函数与多态性等。 三、课程设计的形式与基本要求 形式:召开课程设计动员会,根据学生的学习水平和特长进行分组,每组选择指定课程设计的题目和内容。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成所选课题的设计,最后由指导教师进行验收及评定。 基本要求:要求学生做好预习,认真分析设计过程中涉及到的算法,并确定所选课题的功能模块,详细描述各模块的具体内容;用流程图描述实现算法,根据算法进行代码的编写,最后进行反复上机调试修改,直到输出正确结果为止。 认真写好课程设计报告,根据每组学生的分工,各自写出对解决问题的详细分析、模块功能、调试结果,最后将课程设计报告上交给指导教师。 四、课程设计的内容 选题一:员工管理信息系统 (1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄(必须计算得到)。

程序设计基础课程设计报告 内容样例

第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账

号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。

第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、

电气工程制图课程设计

课程名称电气工程制图 课题名称接触器二维绘制及三维造型 专业电气工程及其自动化 班级电气工程0991班 学号200901010102 姓名刘心飞 指导教师李春菊彭磊 年月日

湖南工程学院 课程设计任务书 课题名称电气工程制图 题目电机/接触器/变压器装 配图二维绘制 接触器三维造型 专业班级 电气工程0991班 学生姓名 刘心飞 学号 200901010102 指导老师 李春菊 彭磊 审 批 谢卫才 任务书下达日期 2011年 月 日 设计完成日期 2011年 月 日

设计内容与设计要求 一.课程简介 《电气工程制图课程设计》是电气工程及其自动化专业强化学生制图能力培养的集中性实践性教学环节。 二.课程任务与能力培养要求 通过该课程设计应使学生具备以下基本操作技能: (1) 能正确无误地读懂所给图纸,进一步熟悉机械标准; (2)培养学生熟练运用AutoCAD、Pro/ENGINEER软件绘制工程图纸的能力。 (3)培养正确理解和运用专业技术标准的能力。 三.课程设计教学基本内容 (1) 用AutoCAD软件绘制电机/接触器/变压器的装配图。 (2) 用PROE软件对电器典型零件做三维造型,并进行装配 四.课程设计的基本要求 独立完成所布置的任务,不得拷贝。 主要设计条件 1.提供电机/接触器/变压器装配图一张。 2.提供接触器产品一个。 3.提供上机条件。

说明书格式 1.课程设计封面 2.课程设计任务书 3.说明书目录 4.概述 5.绘图过程 6.总结与体会 7.参考文献 8.附录(图纸); 进度安排 时间:1周 星期一上午:下达任务,上课 星期一下午 至 星期四:绘图 星期五上午:准备说明书 星期五下午:答辩 参考文献 1.《AutoCAD 2006中文版实用教程》,蔡希林编,清华大学出版社,2011年版; 2. 《Pro/ENGINEER Wildfire 4.0三维造型及应用》,孙海波主编,东南大学出版社,2008年。 3.《机械制图标准手册》,机械工业出版社。

《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境 一、实验目的 1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。 2、掌握如何编辑、编译、连接和运行一个C++程序。 3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。 二、实验要求 1、分析下列程序运行的结果。 程序一: #include int add(int x,int y=8); void main() { int x=4; cout< void main() { int *p,i; i=5; p=&i; i=*p+10; cout<<"i="< void main(void) { int i=10; int &r=i; r++; cout<<"i="< void func(); int n=1; void main() { static int a; int b= -9; cout <<"a:"<

c面向对象课程设计报告

课程设计报告 课程名称面向对象程序设计 课题名称学生成绩管理系统 专业计算机科学与技术 班级计算机1001 学号2010030101 姓名 指导教师李珍辉陈淑红李杰军 2011年12 月28 日

湖南工程学院 课程设计任务书 课程名称面向对象程序设计 课题学生成绩管理系统 专业班级计算机1001 学生姓名 学号2010030101 指导老师李珍辉陈淑红李杰军 审批 任务书下达日期2011 年11 月15 日 任务完成日期2011 年12 月28 日

一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 1)公司库存管理系统 2)高校学籍管理系统 3)高校工资管理系统 4)高校人事管理系统 5)通讯录程序设计 6)学生成绩管理系统 7) 图书管理系统 8)文本编辑器的设计与实现 9)学生考勤管理系统 10)公司人员管理系统 3.设计要求: ⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相 应题号的课题。随意换题者不记成绩。 ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括 系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完 成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模 块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E -R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系 统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修 改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出 每一步的操作步骤。⑥关键源程序(带注释)

c语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013—2014学年第3学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号:1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。

工程图学课程设计说明书

江苏大学 工程图学课程设计 单级直齿圆柱齿轮减速器 设计说明书 专业机械设计制造及其自动化 班级 学号 姓名 指导教师 答辩日期 2014.7.3

1.概述 1.1减速器的作用: ①降速同时提高输出扭矩,扭矩输出比例按电机输出乘减速比,但要注意不能超出减速机额定扭矩。②减速同时降低了负载的惯量,惯量的减少为减速比的平方。 1.2减速器的种类: 减速器的种类很多。常用的齿轮及蜗杆减速器按其传动及结构特点,大致可分为三类:齿轮减速器(主要有圆柱齿轮减速器,圆锥齿轮减速器和圆锥-圆柱齿轮减速器三种),蜗杆减速器(主要有圆弧蜗杆减速器,锥蜗杆减速器和蜗杆-齿轮减速器),行星减速器(主要有渐开线行星齿轮减速器和谐波齿轮减速器)。 下图为常见减速箱: 1.3减速器的应用场合: 减速器应用范围相当广泛。其应用从大动力的传输工作,到小负荷,精确的角度传输都可以见到减速机的应用,且在工业应用上,减速机具有减速及增加转矩功能。因此广泛应用在速度与扭矩的转换设备。几乎在各式机械的传动系统中都可以见到它的踪迹,从交通工具的船舶、汽车、机车,建筑用的重型机具,机械工业所用的加工机具及自动化生产设备,到日常生活中常见的家电,钟表等等.

2.单极圆柱齿轮减速器各组成部分分析 2.1 整体描述 本次课程设计的减速器为单极圆柱齿轮减速器,它由36种零件组成,其中标准件12种。它主要由箱体,箱盖,齿轮,轴,端盖等组成。下图所示的爆炸图清晰地表达了各零件之间的装配关系: 图1减速器爆炸示意图 性能规格尺寸:¢47H7,¢62H7,¢30H7, ¢30,¢20K6 等. 装配尺寸:¢47H7/h9,¢62H7/h9,¢30k6, ¢30H7/h9,¢20k6 等. 外型尺寸:230,172,80,212 等 . 安装尺寸:158,16,23 ,74,34 , 70±0.08等.

面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法( A ) A) int addValue( int a, int b ){return a+b;}

《面向对象程序设计》实验指导书(实验二)

实验二类与对象㈡——对象初始化、对象数据与指针 一、实验目的 1.理解构造函数、析构函数的意义及作用,掌握构造函数、析构函数的定义及调用时间,熟悉构造函数的种类; 2.理解this指针及使用方法,熟悉对象数组、对象指针、对象引用的定义及使用方法,熟悉对象作为函数参数的使用方法; 3.熟悉类与对象的应用及编程。 二、实验学时 课内实验:2课时课外练习:2课时 三本实验涉及的新知识 ㈠构造函数与析构函数 在C++中,提供了两个特殊的成员函数,即构造函数和析构函数。 构造函数用于对象的初始化,即在定义一个类对象时,计算机在给对象分配相应的存储单元的同时,为对象的数据成员赋初值。 析构执行的是与构造函数相反的操作,用于撤销对象的同时释放对象所占用的内存空间。 1.构造函数 ⑴构造函数的定义 格式: 类名(形参表) { 构造函数体} ⑵构造函数的调用 构造函数的调用是在定义对象时调用的。 格式:类名对象名(实参表); 类名对象名=构造函数名(实参表); ⑶说明 ①构造函数必须与类同名。 ②构造函数没有返回值,但不能在构造函数前加void类型符(其他没有返回值的成员函数必须加类型符void)。 ③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。 ④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。 ⑤不能象普通成员函数一样单独调用。 2.析构函数 ⑴析构函数的定义 格式: ~类名(void) { 析构函数体} ⑵析构函数的调用 析构函数是在撤销对象时自动调用的。 ⑶说明

Web程序设计课程设计报告模板

Web程序设计课程设计报告课程设计题目:某电子杂志网站 姓名:肖琴霞 专业:软件工程(国际教育) 班级:10211133 学号:1021113321 指导教师:吴光明 2013 年 3 月 10 日

一、设计目的 《Web应用开发课程设计》是实践性教学环节之一,是《Web程序设计》课程的辅助教学课程。通过课程设计,使学生掌握Web网站的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本概念、原理和技术,将理论与实际相结合,应用现有的开发工具,规范、科学地完成一个完整地应用软件的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正使得计算机被广泛的应用于信息管理系统。计算机的最大好处在于利用它能够进行信息管理和查询。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。制作电子杂志网站可以方便读者阅读,且可以扩大读者的视野以及提高阅历。 二、设计解决方案 问题解决方案: 经过分析,我们决定利用ASP编程,使用Dreamweaver MX作前端开发工具,利用SQLServer2000作后台数据库管理,数据库驱动使用ADO。 前台功能模块:系统主界面与登录程序设计,杂志查询及订阅,读者服务模块,杂志分类设计等。 后台功能模块:管理主界面与登录程序设计,最新杂志信息管理模块,杂志订阅管理模块,在留言管理模块设计等。后台管理的建立,使管理员可以通过后台很容易的对杂志城进行管理,比如:对最畅销杂志,公告和杂志城注册用户进行添加,删除等管理工作,还可以对读者在线留言的处理。 三、电子杂志网需求分析 3.1 需求分析 需求分析是整个设计过程的基础,最困难、最消耗时间的一步。它的最终结果是提供

工程识图课程设计说明书

课程设计 课程名称工程识图课程设计题目名称识读和绘制XX建筑施工图专业班级2015级工程管理学生姓名耿国庆 学号51504031035 指导教师张尧 二○一六年十二月××日

目录 摘要: (3) 1 背景介绍 (4) 1.1工程识图绘图概述 (4) 1.2工程识图绘图意义目的作用 (4) 1.3工程识图绘图相关理论知识 (4) 2 住宅建筑物概况 (5) 3 绘制住宅建筑物施工图的步骤、方法 (5) 3.1底层平面图 (5) 3.2标准层平面图 (8) 3.3立面图 (11) 3.4剖面图 (16) 4 小结 (20) 参考文献 (20)

摘要:×××××(摘要内容用小四号宋体字书写,每行与冒号对齐;行距为固定值22磅)主要介绍下识图绘制的背景知识,已经本篇文章所做的事××××× 关键词:建筑施工图;识图方法;绘制

1 背景介绍 1.1 工程识图绘图概述 通过本次课程设计,使学生巩固建筑工程制图的理论知识,提高识读和绘制图纸的技能,初步培养学生运用所学专业技术知识分析和解决实际问题的能力,熟练掌握专业的设计软件和文字处理工具,熟悉文献资料检索查阅的一般方法,熟悉设计报告(论文)撰写程序和方法,为完成毕业设计(论文)及今后所从事的专业技术工作打下基础。 1.2工程识图绘图意义目的作用 工程识图绘图既强调了视图绘制和识读,又强调尺寸的标注和识读,还强调了零件工作状态与视图选择、尺寸标注的关系,采用了小标签形式对主要内容进行了一些注释、重点的提示或小结和如何学习的提示。同学们在学习时,可以充分利用这一点测试自己对相关内容的理解掌握程度,也可以使自己更好地掌握相关知识。随后并创新出更有意义的建筑结构构造。 1.3工程识图绘图相关理论知识 把工程上具体的物体,视为由几何形体所组成,根据画法几何的理论,研究它们在平面上用图形来表达的问题,而形成工程图。在工程图中,除了有表达物体形状

面向对象程序设计课后答案(完整版)

第二章2-4 #include using namespace std; Add(int a,int b); int main() { int x,y,sum; cout<<"please input x and y:"; cin>>x>>y; sum = add(x,y); cout < using namespace std; int main() {

int *p,*init; int countp=0; int countn=0; p = new int[20]; init = p; for(int i=0;i<20;i++) { cin>>*p; p++; } p = p-20; for( i=0;i<20;i++) { if(*p>0) countp++; if(*p<0) countn++; cout<<*p<<" "; p++; } cout<<"正数有:"< //#include using namespace std; void checkagescore(string name,int age) { if (name == "exit") throw name; if(age<0||age>50) throw age;

面向对象程序设计课程设计报告同学通讯录管理程序

目录 1.设计题目 (1) 2.设计目的和内容 (1) 2.1设计目的 (1) 2.2设计内容 (1) 3.基本功能描述 (1) 4.设计思路 (1) 5.软件设计 (2) 5.1设计步骤 (2) 5.2界面设计 (3) 5.3关键功能的实现 (3) 5.3.1添加记录 (3) 5.3.2删除记录 (4) 5.3.3选中记录 (4) 5.3.4确认修改 (4) 5.3.5保存记录 (4) 5.3.6退出 (4) 6.结论与心得体会 (4) 7.参考文献 (4) 8.附录 (5) 8.1调试报告及测试结果 (5)

8.2关键源代码 (10) 8.2.1 Student类 (10) 8.2.2全局 (10) 8.2.3List Control初始化 (10) 8.2.4添加记录 (11) 8.2.5删除记录 (11) 8.2.6选中记录 (12) 8.2.7修改记录 (12) 8.2.8保存记录 (13) 8.2.9退出程序 (13)

1.设计题目 同学通讯录管理程序 2.设计目的和内容 2.1设计目的 1)学习Visual C++的MFC开发程序的步骤。. 2)综合运用所学的类、继承和多态的知识。 3)进一步掌握程序的调试方法。 2.2设计内容 1)利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件; 2)设计通讯录的数据结构(如:以数组或者动态链表)和相应的类; 3)完成对通讯录中记录的增加、修改、删除和显示; 4)将通讯录存入文本文件。 3.基本功能描述 可以实现学生信息(姓名、学号、系别、邮箱、电话)的添加、显示、选中修改、删除选中和保存并退出程序的功能。 4.设计思路 1)创建基于对话框的MFC应用程序,添加控件:5个Edit Control、6个Button、1 个List Control; 2)在5个Edit Control分别输入相应信息,点击“添加记录”Button可在List Control 中显示相应信息,同时清空五个Edit Control以便下一个学生信息的输入; 3)点中List Control选中已有一组学生信息,点击“删除记录”Button可删除该组 信息; 4)点中List Control选中已有一组学生信息,点击“选择该列”Button将该列信息 返回到5个Edit Control。修改完成后点击“确认修改”Button,对List Control 中选中列完成修改; 5)点击“确认保存”将信息保存到文本文档; 6)点击“退出”退出程序。 7)可在D盘查看保存的信息。

程序设计基础课程设计报告

课程设计(大作业)报告 课程名称:程序设计基础 设计题目:学生成绩记录薄设计 院系:信息技术学院 班级: 设计者: 学号: 指导教师: 设计时间:2013.7 8.-2013.7.13 信息技术学院

昆明学院课程设计(大作业)任务书

学生成绩记录薄设计 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。 2. 课程设计要求 设计一个简易学生成绩记录簿设计,其中包括:姓名,学号,C语言成绩; 具体功能: 1.系统以菜单方式工作 2. 创建学生成绩信息并以磁盘文件保存; 3. 读取磁盘文件并显示输出所有学生的成绩; 4. 查询学生成绩 (1)按学号查询成绩 (2)学号姓名查询成绩 5.添加成绩记录; 6.修改指定姓名或学号的学生的成绩并可存盘; 7.显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。 二、总体设计 图1 系统总体结构

三、详细设计 1、数据结构设计 #include #include #include #include int n=4; struct student { int num; /*学号*/ char name[10]; /*姓名*/ float score[3]; /*成绩*/ } 2.函数说明 1.主函数 main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。 2.其他部分功能函数包括 (1) 将学生成绩信息保存为文件void save(); 算法思想: ①定义指向文件的指针变量; ②输入保存路径及文件名,打开文件,若不能打开文件给出提示信息; ③将存有学生成绩信息的结构体数组信息依次保存到文件中。 (2)学生成绩信息录入函数void input() 算法思想: ①依次录入结构体数组中所包含的各个成员; ②直到输入的结构体成员中信息为4,数据输入结束; ③返回实际录入的学生成绩信息数。 (3)从文件中读出学生成绩信息void output(); 算法思想: ①定义指向结构体变量的指针和指向文件的指针; ②输入文件的路径,打开文件,若不能打开文件给出提示信息; ③将文件中的信息依次读出,最后结构体的指针为NULL。

CAD课程设计说明书

武汉轻工大学课程设计说明书 设计题目:工厂布置图 姓名: 学号: 院(系): 专业: 指导教师: 2016年 1 月10 日

一、设计任务与要求 本次课程设计的设计任务,是使用AutoCAD软件将课程设计任务书中所附的工 厂布置图绘制出来。 具体要求如下: 1、独立完成绘图及说明书编写工作。 2、文字,图框等内容要严格符合国家标准。 3、在模型空间中绘图,工厂布置图中要有设备图形符号图块1个以上。 4、不同类型的线条要区分线型,分层绘制。 5、所有设备图形线条流畅、连接恰当,图形比例协调美观。 二、绘图方案 1、构图思路: 任何图的构成都是由各种基本图形定形定位而成的。图中的尺寸标注虽然少, 但都是一些总体框架的定形尺寸比如开间跨度、长度、筒仓高度、以及主要设备定 形定位尺寸等,这些地方要准确绘制。对于没有给出具体尺寸的部分,对其绘制有 一个原则,那就是要布置合理,这其中包括了实际施工要求,各部分的相对位置合理,比如在俯视图副楼梯旁的沙克龙,不应挡住主门的进出等等。另外,对于三视 图的绘制还有一个很重要的依据,那就是一定要三图尺寸对应,在本次设计任务中,墙厚、筒仓壁厚度、皮带输送机位置大小等等都要做到上下对应。 2、设计难点: 本图的绘制难点主要有两个,这两点也同时决定了全图的质量高低。第一点, 在之前已经提到,三视图的各尺寸应当对应,这是除尺寸之外另一个绘图需要约束 的地方,但是相比尺寸标注更加容易忽略。第二点,未标明定形定位尺寸的设备, 门窗等的相对位置及大小确定,这决定了整张图的美观性,也同时决定了阅图者对 图的理解准确性。 3、主要绘图命令: 多线及多线修改,图块的创建及修改,阵列、偏移、剪断、延伸等修改命令, 直线,圆,矩形等基础绘图命令。 三、图形绘制主要步骤 1、绘图环境设置

面向对象程序设计笔记

undeclared identifier “未声明的标识符” (1) 十进制整数:在一个整型常量后面加一个字母 l 或 L,则认为是 long int 型常量? (2) 八进制整数?在常数的开头加一个数字 0,就表示这是以八进制数形 式表示的常数? (3)十六进制整数?在常数的开头加一个数字0和一个英文字母X(或x), 就表示这是以十六进制数形式表示的常数? 2. 浮点数的表示方法 如果在实数的数字之后加字母 F 或f,表示此数为单精度浮点数,如1234F,-43f,占 4 个字节?如果加字母 L 或 l,表示此数为长双精度数(long double), 在Visual C++ 6.0 中占 8 个字节. (2) 指数形式(即浮点形式):用字母 e 表示其后的数是以 10 为底的幂,如 e12 表示 1012? 1.普通的字符常量:用单撇号括起来的一个字符就是字符型常量如′a′,′ #′,′%′,′D′都是合法的字符常量,在内存中占一个字节?“cout<<′\n′; ”将输出一个换行,其作用与“cout<

《面向对象程序设计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分以下):不能完成程序,没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确,不能回答老师所提出的问题。 五、提交的资料 1、软件 软件需提供源程序,并能正常运行。 注:对于程序中未能实现的部分需要加以说明。 对于程序中所参考的部分代码需要加以声明,并说明出处。 2、文档 (1)设计文档的格式尽量按照《中华人民共和国国家标准UDC 681. 3计算机软件产品开发文件编制指南GB 8567-88》的标准书写。 (2)内容(以下仅提供参考) 1、需求分析; 2、类设计及说明; 3、定义的函数主要功能说明; 4、主要算法说明:举例说明1、2个比较有特点的算法; 5、系统总框图; 6、存在的问题与不足及对策;

相关主题