《面向对象程序设计》课程设计选题

《面向对象程序设计》课程设计选题
《面向对象程序设计》课程设计选题

一、课程设计报告要求:

1、不少于5000字,使用A4打印。

2、主要内容及装订顺序:封面、目录、正文、参考文献

3、正文部分应该包括:需求分析、系统概述、系统运行环境、功能需求描述、总体设计、系统模块结构图、数据库设计(如需数据库,应包含概念设计、逻辑设计、物理设计)、程序模块设计(含功能描述、用户界面设计、程序代码设计与分析、运行结果,每个人可选择2-3个模块进行)、系统使用说明。

4、界面要求:

1). 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

2). 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。

5、其他要求:

1). 标识符命名遵循Windows命名规范。

2). 能够注意各种异常处理,注重提高程序运行效率。

二、课程设计需要提交的内容:

1、装订完整的课程设计报告,每人上交一份课程设计报告。

2、程序和课程设计报告压缩后放到BB讨论板

1、一个简单的算法演示程序

1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示

过程。

2. 可以进行手动演示,也可以自动步进式演示。

3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。

4. 不同的算法输入要求见下。

2、一个简单的网络聊天程序

1. 实现类似QQ的功能,自动侦测局域网内部启动该软件的用户,并显示在用户列表中。

2. 可以进行两个人之间的私聊。

3. 可以群聊。

4. 可以发送文件。

3、一个简单的万年历

1. 能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。

2. 能够按照月份格式显示,或按照星期格式显示。

3. 能够显示系统时间。

4. 能够查询若干国际大城市(分布在不同时区)的时间。

4、一个计算数学表达式的程序

1. 由用户输入一个简单的四则运算表达式,求出其计算结果后显示。

2. 允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、

平方、立方等。

5、模拟计算器程序

设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。

实现提示

可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。

6、实现文件加密合并器(界面):

将几个文件(文本文件或者二进制文件),进行加密处理后,保存在一个文件中,也即类似WinRar的基本功能,但是可以不考虑压缩算法,同时还要实现,反向操作,即给一个综合的合并后的文件,能够查看其中的文件个数、名称、创建时间等信息,同时能够解压缩。

1、需要使用的包为java.io.*;

2、需要使用的类为:DataInputStream,DataOutputStream,BufferedReader,

BufferedInputStreamReader,FileInputStream,FileOutputStream,FileIOException, FileNotFoundException

3、需要注意进行合并后的文件格式处理,在合并后的文件中要增加一些额外信息,为

了文件的解压缩和还原处理

4、文件的加密算法可以使用简单的移位加密,也可以使用更加复杂的加密算法。

要求进行分析,设计类关系图

7、通讯录管理 (界面或字符)

编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。

基本要求

程序应提供的基本基本管理功能有:

1)添加:即增加一个人的记录到通信录中

2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。

3)存储:即将通讯录信息保存在一个文件中。

4)装入:即将文件中的信息读入程序。

5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。

6)修改:可修改一个人的除姓名外其它信息。

实现提示

程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。

8、模拟人工洗牌

编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。使用类Card 来描述一张牌,用随机函数来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。设计一个洗牌类,负责来洗牌。设计一个玩家类,可以查看每一个玩家s的牌。

9、编写一个会话程序(通过Java的网络功能实现)。(界面或字符)

要求:会话双方可以自由通话,看到对方发来“bye”则退出。

10、电子词典

编写一个具有插入、删除、修改、查询功能英汉、汉英对照的电子词典。(界面或字符)

11、HANNOI-塔

1. 主类

2. Hannoi-塔

3. 塔点

4. 盘子

12、挖雷游戏

1. 主类

2. 方块

3. 雷区

4. 计时器

5. 雷标数目

6. 雷标判断

7. 成片挖开区域

8. 无雷连通区

9. 随机布雷

10. 周围地雷个数

11. 显示剩余雷数

12. 英雄榜录入对话框

13. 显示英雄榜对话框

14. 挖雷成功

13、局域网络广播系统

1. 客户端主类

2. 服务器端主类

14、贪食蛇游戏

1 游戏区模块

2 游戏控制模块

3 级别设置模块

15、俄罗斯方块游戏

1 主游戏区模块

2 游戏控制模块

3 初始级别设置模块

16、个人信息助理

1 系统主控平台

2 日常记事模块

3 通讯簿模块

4 密码备忘模块

17、日历记事本 (界面)

要求:带有日程提醒功能的日历。

1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月

的日期。

2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系

统时间和提醒时间相吻合时,在用户打开该网页的同时将给出具有提示信息的对话框。

3、查询信息:用户可以查询到某个月的所有的提示信息。

18、学生成绩管理信息系统

1. 能够实现根据以下关键字查询:学生姓名、学号、班级、课程名称。

2. 能够实现按照单科成绩、总成绩、平均成绩、学号排序。

3. 能够实现学生信息的插入、删除和修改。

4. 能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。

5. 能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。

19、ATM柜员机模拟程序

要求:当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):

1、查询余额:初始余额为10000元

2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

3、ATM存款:不能出现负存款。

4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码

正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

20、火车订票系统(界面或字符)

要求:可输入、添加、删除及修改列车信息,并能实现查询、订票、退票等功能。此系统还应能够打出取票通知和帐单,以保证能使每个旅客在出发的前一天凭取票通知和帐单交款取票

21、超市收银系统(不考虑条码处理部分)(界面或字符)

要求:接收收银台(客户端)的信息,经服务器处理后,把结果返回到收银台。

即:客户端由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等,然后把信息提交服务器。由服务器从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。

另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200员,可为其发放一张会员卡,以后在该商场购物可向9折优惠。

22、汽车出租管理系统(界面或字符)

要求:用户可以查找租车的各种信息,例如,车的款式、租车的手续、价格等,系统还能够管理各种出租汽车并计算其租金并生成租车合同等。

23、远程控制软件

远程控制是管理人员在异地通过计算机网络,异地拨号或双方都接入Internet等手段,连接目标计算机,并通过本地计算机对远程计算机进行管理和维护的行为。远程控制既可以作为黑客攻击手段之一,也可以作为远程维护,在家办公等应用领域的支持工具。

1.设计一个远程控制服务器程序。

2.设计一个客户端程序。

24、家庭理财工具

1 系统主控平台

2 家庭收支管理模块

3 家庭资产管理模块

25、图书管理系统

1 系统主控平台

2 用户管理模块

3 借阅管理模块

4 书库管理模块

5 读者管理模块

26、人事档案管理系统

1 系统主控平台

2 权限验证模块

3 口令维护模块

4 基本档案管理模块

5 人事变动管理模块

27、标准化考试系统 (单机版)

1. 主类

2. 考试区域

3. 读取试题

28、学籍管理系统

1. 主类

2. 录入界面

3. 查询界面

4. 修改界面

5. 删除界面

6. 学生对象

其他可选系统包括:

29、订单管理系统

30、通用工资管理系统

31、报刊订阅管理系统

32、医药销售管理系统

33、电话计费管理系统

34、宾馆客房管理系统

35、进销存管理系统

36、车站售票管理系统

37、汽车销售管理系统

38、仓储物资管理系统

39、设备管理系统

40、选修课管理系统

41、影碟出租管理系统

42、客房管理系统

43、施工合同管理系统

c++面向对象课程设计报告

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

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

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

什么是面向对象程序设计

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

面向对象程序设计实验指导书讲解

面向对象程序设计实验指导书 实验一、C++开发环境应用入门(2学时)(选做) 1、实验目的 (1)了解C++开发工具的特点 (2)熟悉C++开发环境 (3)学习用C++编写标准的C++程序 2、实验任务 使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序: #include void main(void) { cout<<”Hello!\n”; cout<<”Welcome to C++!\n”; } 3、实验步骤 (1)启动Visual C++或C++Builder开发环境 (2)创建一个项目 A)单击File菜单中的New选项,显示示新建对话框 B)选择Console Wizard(C++Builder) 或Win32 Console Application(VC++)。 C)选择项目所在路径及输入项目的名称 D)依次按‘下一步’直至完成为止。 (3)至此,C++Builder已经建立好工程相关的文件(请不要随意更改其自动生成的文件),在生成的main函数中写入必要的内容即可。 (4)对于VC,请继续下面的步骤: A)建立C++源程序文件 a)选选菜单命令Project|Add to Project|New,弹出New对话框 b)在New对话框的Files选项卡中选择C++ Source File,并填入文件名称,单击OK按钮,完成 新建C++源程序文件 B)编辑C++源程序文件 a)在文件编辑窗口中输入代码 b)完成后,选择菜单File|Save保存这个文件 C)建立并运行可执行程序 a)选择菜单命令Build,建立可执行程序 如果你正确输入了源程序,此时便成功地生成了可执行程序。 如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源 程序进行修改后,重新选择菜单命令Build建立可执行程序。 b)选择菜单命令Run,运行程序,观察屏幕显示内容。 D)关闭工作空间 选择菜单命令File|Colse WorkSpace关闭工作空间。

《面向对象程序设计》课程设计要求和任务书

《面向对象程序设计》课程设计任务书 课程设计名称:面向对象程序设计指导老师:王淮亭 课程设计周(时)数:2周 课程设计授课单位:计算机基础教学部指导方式:集体辅导与个别辅导相结合 课程设计适用专业:计算机科学与技术 课程设计教材及主要参考资料: 《C++程序设计》谭浩强编著,清华大学出版社 《C++程序设计教程学习辅导》谭浩强编著,清华大学出版社 服务课程名称:面向对象程序设计 一、课程设计的目的要求 《面向对象程序设计课程设计》是计算机专业及相关专业学生的一门实践课程。本课程对于检验学生学习面向对象程序设计课程后的学习成果,对于软件开发主流方法和思想——面向对象程序设计方法和思想的牢固掌握和熟练应用是一个非常重要的检测,是后续课程得以顺利进行的必要保证,对学生的程序设计能力培养和软件工程能力的培养具有重要的作用和意义。 本课程设计要求学生综合应用已学的计算机相关知识,例如程序设计基本思想和方法、C++语言、面向对象程序设计思想和方法,通过对真实世界的模拟和抽象来解决一些比较简单的实际问题。课程要求学生针对一个比较系统的题目进行编码、测试,并进行设计说明书的撰写,从而培养和锻炼学生初步的工程意识和做法。 二、课程设计内容及安排 1. 问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明 确问题要求做什么?(而不是怎么做?)限制条件是什么? 2. 逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以 数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图; 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:"<

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

《面向对象程序设计》课程实验指导书

实验一 Java开发环境的安装与配置 一、实验目的: 1. 掌握JDK、Eclipse的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及Eclipse的配置。 3. 熟悉Eclipse的编辑、编译与调试环境,编写简单的Application程序 编译执行并完成调试。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序 (能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 四、实验步骤: 1.从https://www.360docs.net/doc/327708190.html,/technetwork/java/index.html上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Eclipse环境下编写一个HelloWorld.java程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.金字塔:Pyramid.java 在屏幕上显示一个由星型符号“*”组成的金字塔图案,示例如下: * *** ***** ******* 要求:金字塔高度h,可以由用户设置。 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)允许用户设置金字塔高度。 4. 编译运行程序,观察输出结果是否正确。

面向对象课程设计任务-可选题

面向对象课程设计任务书 一、设计基本要求 1、利用面向对象的方法和C++编程思想来完成系统的分析和设计; 在设计过程中,建立清晰的类层次;用UML画出类及类间的关系图; 程序中包含面向对象的基本知识:封装、继承、多态,基本的信息应该能长期保存(用文件存放) 2、系统启动运行时读取存储在文件中的记录解析成对象数据放入内存(以STL向量或链表存放) 3、基本的信息管理包括:读数据(从文件中读到内存)、增加、删除、查询、修改、存盘(将内存中数据写回文件)。可以自己根据题目要求增加新的功能。增、删、改、查操作在内存中进行(针对STL向量或链表的操作而不是针对文件的操作) 4、系统关闭前将内存数据存入文件(可以新建文件或覆盖原有文件) 5、类中属性以private或protected属性为主 6、层次分明,结构合理,加上简单界面的设计,如菜单,界面清新美观,维护容易 7、按照指导书的要求编写文档。 二、使用的主要技术 C++编程:基础编程,文件流,STL,必要的异常处理机制 环境:VC++6.0 三、设计的方法和步骤 设计步骤: 第一步:进行完整的需求分析,写出需求分析报告。 第二步:进行详细设计,写出详细的设计报告。 第三步:各模块编码实现。 第四步:合并调试并试运行,记录实现过程中出现的问题及解决方案。 第五步:提交完整可执行软件,准备答辩。 第六步:答辩,演示软件,评分。 第七步:整合各报告,修改并提交。 四、主要参考资料 1.课程教材 2. 面向对象程序设计实用教程张海藩清华大学出版社 3. C++语言程序设计(第1版)吕凤翥清华大学出版社 4. C++语言程序设计(第1版)郑莉清华大学出版社 5.C++及Windows可视化程序设计刘振安清华大学出版社 6.其他相关的书籍及网络资源 五、选题 以下为一组可选的选题,每个选题可以从中选择一部分来实现,但需要达到基本要求。 1. 班主任工作管理系统 班主任的日常工作非常繁琐,需要管理学生的信息、班级的日常活动等。结合班主任工作实际,开发一个管理系统,系统主要功能如下: (1)学生资料管理:提供学生基本档案、学生评语、家访记录的维护,并可以按照年

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

学号:姓名: 第三章面向对象程序设计作业 一、判断题 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.设计题目 (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盘查看保存的信息。

C++面向对象程序设计实验报告

C++面向对象程序设计实验报告 学院:信息科学与技术学院 班级:卓越电子1201 姓名:刘强 学号:120910115 实验二 C++面向过程程序设计 实验目的 掌握函数声明、定义和使用的方法 掌握函数递归调用的方法 实验内容 1、编写一个函数,求数列运算中从n个不同的数中取r个数的所有选择的个数,要求如下:主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0 0时,程序结束; 能检查输入数据的合法性,要求n>=1并且n>=r; 能得到正确结果。 输入:5 3输出:10 输入:10 20;输出:Input Invalid !; 输入:-1 4;输出:Input Invalid!; 步骤: 利用一个函数fn(int n)计算n!, 利用另一个函数Cnr(int n, int r)计算Cnr,在该函数中调用fn(), 程序代码: #include int fn(int n) { int s=1; for(int i=1;i<=n;i++) { s=s*i; } cout<<"n!="<

int Cnr(int n,int r) { cout<<"Please input two numbers:"<>n>>r; if(n==0&&r==0) { cout<<"Programme shutdown."<=1&&n>=r) { int a; int b; int c; int d; a=fn(n); b=fn(r); c=fn(n-r); d=a/(b*c); cout<

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

第二章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;

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

《C++面向对象程序设计》课程设计报告题目:分数计算器设置 班级: K0312415 专业:计算机科学与技术 学号: 姓名:周林 指导教师: 小组成员:周林,张齐满 二O一三年 10 月 15 日

一、课程设计问题描述 分数计算器设计是高等学校教务管理的重要组成部分,其内容较多,为了简化计论, 要求设计的管理系统能够完成以下功能: (1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。 (2)输入/输出:对流提取和流插入运算符进行重载。 (3)计算功能:可进行分数的加、减、乘和除法运算。 (4)化简功能:将分数化简为最简分数。 (5)异常处理功能:分数中分母不能为零。 (6)菜单功能:每种功能的操作都是在菜单中进行相应选择。 二、课程设计目的和要求: 经过一个学期的《C++面向对象程序设计》课程的学习,已经有了一定地程序设计基础,但是要学好C++面向对象程序设计这门课程,不仅要认真阅读课本知识和从事课堂学习,更重要的是要进行上机实践,通过上机实践才能增强和巩固知识。 三、系统设计(算法分析) 1、系统由5功能,可分别执分数的.加法运算,减法运算,.乘法运算和除法运算,还可以将分数化简。 1.加法运算可计算两个分数相加。 2.减法运算可计算两个分数相减。 3.乘法运算可计算两个分数相乘。 4.除法运算可计算两个分数相除。 5.化简运算可计算一个分数化简。 2、流程图

3、分数计算器设置各函数的功能和实现的相关功能由对应的函数来实现。 (1)函数jia() (2)函数jian() (3)函数cheng()实现分数乘法运算。 (4)函数chu()实现分数除法运算。 (5)函数shuchu()实现分数的输出和化简。 四、程序源代码 pp : Defines the entry point for the console application.

面向对象程序设计实验报告完整版

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 综合实验报告 面向对象程序设计 专业名称: 物联网工程 ___班级: _____ 级2班__ ___________姓名: 你哥哥 学号: 02051928 信息科学与工程学院 二零一三年七月

第一题: (1) 1.1题目概述 (1) 1.2设计思路 (2) 1.3设计说明与调试分析 (2) 1.4编码实现 (2) 1.5程序运行结果 (5) 1.6设计心得 (5) 第二题: (6) 2.1题目概述 (6) 2.2设计思路 (7) 2.3设计说明与调试分析 (7) 2.4编码实现 (7) 2.5程序运行结果 (11) 2.6设计心得 (11)

第一题: 1.1题目概述 用抽象类设计计算二维平面图形图形面积的程序, 在基类TDshape中设计纯虚函数area()和printName(), area()用于计算几何图形的面积, printName()用于打印输出几何图形的类名, 如Triangle类的对象就打印输出”Triangle”。每个具体形状的类则从抽象类TDshape派生, 各自需要定义其它独有的数据成员和成员函数, 而且定义area()和printName()的具体实现代码, 如图所示。 要求编写以TDshape为接口的函数, 借以访问具体类如

Triangle和Rectangle类的成员函数area(), printName ()。1.2设计思路 由简到繁, 逐步实现。 1.3设计说明与调试分析 编写基类TDshape->编写虚函数->编写继承类Triangle ->实例化TDshape和Triangle ->调用基类虚函数实现调用继承类相应函数->同样的方式处理继承类Rectangle. 1.4编码实现 #include using namespace std; class TDshape{ public: virtual void area()=0; virtual void printName()=0; }; class Triangle:public TDshape{ private: double width,height;

面向对象程序设计笔记

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<

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

2012计算机科学与技术专业 面向对象课程设计题目 一设计要求 每个题目可以1人或至多两人,按题目要求完成程序设计及课程设计报告。 (若两人一个题目,需各自独立完成,题目相同者的课程设计报告不能完全相同。)二题目列表 三题目内容及要求 题目1 矩阵运算 内容及要求: 定义矩阵类,实现矩阵加法、减法、乘法、矩阵转置、求矩阵的逆矩阵等。 用程序实现验证n*n矩阵的如下定理: A(BC)=(AB)C。

题目2 填XO游戏程序 内容及要求: 游戏规则和胜利条件: 棋盘共有5行5列: 选择难度(1):两个斜对角之一都为X或O,则玩家胜。一横行都为X或O则玩家胜。)一竖行都为X或O则玩家胜。 选择难度(2):两个斜对角之一都为X或O,则玩家胜。 选择难度(3):两个斜对角都为X或O,则玩家胜。 输入必须为一个两位整数,如11,代表棋盘的第一行第一列,输完后按回车键; 玩者下一步X或O,计算机也自动下一步X或O。 程序运行示例: 题目3 统计学生成绩 内容及要求: 要求编写一个“Student”类及用来存取文件的save()和load()函数,使用函数及运算符重载技术完成如下操作: (1)计算每个学生的平均成绩,将数据存入文件stud.dat中并验证是否正确地存入了文件。(2)要求对“<<”和“>>”运算符进行重载。 (3)把学生姓名和平均成绩抽取出来,建立一个简明文件stud_mean.dat,并验证是否正确地存入了。 (4)从文件stud.dat按如下格式输出大于等于平均成绩的学生信息: 学号姓名算术语文平均 (5)将两门功课成绩都不及格的学生信息从文件中删除并另外存入文件bad.dat中。 (6)编写能检索文件中某个学生信息的子程序。如无此学生,输出“未查到”信息。 (7)使用多文件编程和菜单操作。 题目4 会议记录管理系统 内容及要求: 定义会议信息类class Conference

面向对象程序课程设计任务书

面向对象程序设计课程设计任务书 课程性质:设计 总学时数:1周 适用专业:软件工程10 1-6 嵌软10 1-2 软件学院 2012-6

一、课程设计目的和任务 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 二、设计内容和基本要求 设计任务书提供设计题目供学生选择。在指导教师同意的情况下,学生也可以自己选择感兴趣的设计题目,以调动学生参加创新设计的积极性和创造性,给学生充分的自主空间。 基本要求: ?设计工作量为完成一个中小型规模的软件和1份软件设计报告书 ?设计必须根据进度计划按期完成 三、课程设计参考题目 以下题目列出的仅为完成的基本功能,可根据需要完善与课题相关的其他功能。以下题目涉及窗体的设计、菜单设计、数据库设计、文件的读写等多种编程的实现,根据题目的要求自行进行编程设计。 1、设计一个GUI猜数字游戏程序 该游戏可以由程序随机产生四个0到9之间的整数,且不重复。玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。假设随机数据为3792 时,分析如下 数据:3792 输入:1234 0A2B 输入:5678 0A1B 输入:0867 0A1B 输入:9786 1A1B 输入:1794 2A0B 输入:2793 2A2B

输入:3792 4A0B 2、编写一个记事本程序,要求如下: (1)用图形用户界面实现。 (2)能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 3、设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。要求如下: (1)具有简单的录入,查询和修改功能。 (2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改; (3)使用文件存储数据。 (4)学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专 业、班级自我简介,其余可自行丰富。 (5)具有对姓名,出生日期和身份证号进行简单效验的功能。 4、日历记事本 要求:带有日程提醒功能的日历。 (1)显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询 下一个月的日期。 (2)定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信 息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。 (3)查询信息:用户可以查询到某个月的所有的提示信息。 5、ATM柜员机模拟程序 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额功能:初始余额为10000元 (2)ATM取款功能:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 (3)ATM存款功能:不能出现负存款。 (4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

面向对象程序设计期末复习分析

一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1 分,共20 分) 3.下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C )。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 8. 下列不属于类的成员函数的是( C )。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数 9. 继承机制的作用是( C )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 14. (D )是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作 图和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 16.(D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对 象之间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 17.(D )就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示 系统中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 18. 在用UML进行数据库的分析与设计过程中,( B ) 就是进行数据库的需求分析,使用用 例图、类图、顺序图、活动图等建立业务模型。 A. 逻辑数据模型设计 B 业务Use Case模型设计 C. 物理数据模型设计 D. 物理实现设计 19. 使用UML进行关系数据库的(B )时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 20. UML的动态建模表示包含(C )种图。 A. 9 B. 5 C. 4 D. 2 二、填空题( 每空1 分,共20 分) 1. 面向对象开发方法一改过去传统的以_功能分析,面向过程_为基础的_对象_的结 构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为

《面向对象程序设计课程设计》题目

面向对象程序设计课程设计题目 设计说明 1. 每人一组,每组选择一个题目;如果列出多个版本,只需要完成其中一个版本即可。 2. 由学习委员负责统计各组员及其题目,以电子档模式提交题目列表名单。 3. 每组必须给出相应的UML类图,可用Visio或者其他类似的工具完成。 设计要求 1.编码规范要求 遵循Java编码规范,参见附录。 2.知识点要求 项目应至少覆盖以下知识点:封装、继承与多态等基本概念;方法和数组;输入输出流;使用抽象类、接口;对象组合;异常处理;包的使用。 3.文档打包及提交要求 文档打包:以“班级-学号-姓名-题目-设计报告.rar”形式将相关文档打包。 提交要求:统一交至教学平台。 压缩包的内容: 1)运行正确的源代码(包括文件夹结构)。 2)设计报告:描述软件功能、和设计方案的UML类图;设计中涉及的主要知识点;运行结果截图;使用帮助文档。 题目列表及说明: 1. 打字游戏 GUI本地版 可根据一片文章自动导入单词 整个单词下落或者淡入淡出 同时多个单词出现 对输入错误的单词分析记忆功能 积分 2. 文件加密和解密 要求:采用图形用户界面

1)给定任意一个文本文件,进行加密,生成另一个文件。 2)对加密后的文件还原。 3. 5子棋游戏 设计程序,完成下述功能: 在大于9条线的方形网格棋盘上,放置黑白两色棋子; 两人各执一色,通过网络对弈; 可以在任何两条线的交点上放置棋子; 同色棋子先同行、同列或者同队角线上5颗连成一条线者获胜。 4. 俄罗斯方块(网络版) 设计程序,完成下述功能:完成一个可以两个人通过网络对战的俄罗斯方块游戏,每一方都可以在自己的屏幕上看到对方的当前游戏状况,游戏先结束的一方为失败者。 5. 音乐播放器(JavaGUI本地版) 设计程序,完成下述功能: 选择各类声音文件进行播放。 完成前进、后退、暂停、回放等控制功能。 6. 电子相册(JavaGUI本地版) 设计程序,完成下述功能: 选择图形的显示。 完成图形的放大、缩小、剪切、旋转等控制功能。 图片的自动播放功能。 7. 多人聊天室((JavaGUI本地版/WEB版) 多人同时上网聊天。 8.扑克游戏(JavaGUI本地版/WEB版) 开发具有“升级”功能的4人对战游戏。“升级”又叫拖拉机。要求采用Java 网络编程技术。 9.编写一个记事本程序 要求: 用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 10.模拟龟兔赛跑 要求: 用图形用户界面实现。 能设置比赛时间,马匹的数量等等。

相关文档
最新文档