《面向对象程序设计》课程设计选题
课程设计题目面向对象
课程设计题目面向对象一、教学目标本课程的教学目标是让学生掌握XX学科的基本概念、原理和方法,能够运用所学知识解决实际问题。
具体来说,知识目标包括:了解XX学科的基本概念和原理,掌握XX学科的基本方法,熟悉XX学科的最新发展动态。
技能目标包括:能够运用XX学科的基本方法分析问题和解决问题,具备一定的实践操作能力,能够进行科学探究和学术交流。
情感态度价值观目标包括:培养学生对XX学科的兴趣和热情,增强学生的科学精神和创新意识,培养学生的团队合作和沟通能力。
二、教学内容根据课程目标,本课程的教学内容主要包括XX学科的基本概念、原理和方法。
具体来说,教学大纲如下:第一章:XX学科的基本概念和原理1.1 XX学科的定义和发展历程1.2 XX学科的基本原理1.3 XX学科的重要概念第二章:XX学科的基本方法2.1 XX学科的观察和实验方法2.2 XX学科的数学建模方法2.3 XX学科的数据分析方法第三章:XX学科在实际应用中的案例分析3.1 XX学科在自然科学中的应用案例3.2 XX学科在社会科学中的应用案例3.3 XX学科在工程和技术中的应用案例三、教学方法为了达到课程目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
具体来说:1.讲授法:通过教师的讲解,向学生传授XX学科的基本概念、原理和方法。
2.讨论法:通过小组讨论和全班讨论,引导学生深入思考和理解XX学科的知识。
3.案例分析法:通过分析具体的案例,让学生了解XX学科在实际应用中的具体情况。
4.实验法:通过实验操作,让学生亲自体验和验证XX学科的原理和方法。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的教材,作为学生学习的主要参考资料。
2.参考书:推荐一些与课程相关的参考书,供学生深入学习和拓展视野。
3.多媒体资料:制作精美的多媒体课件和教学视频,提高学生的学习兴趣和效果。
面向对象技术课程设计题目及要求
面向对象技术课程设计题目及要求设计以下类,满足以下基本要求和各类的附加要求基本要求:1)类定义中应有注释,说明每个数据成员的含义,小组全体成员的姓名(组长在前),日期2)所有数据成员设置为保护属性3)成员函数具有注释,说明函数及参数的用途,注明编写人.4)具有多种构造函数及析构函数5)具有输出全部数据成员的函数6)具有读取每个数据成员的接口函数, 具有修改每个数据成员(内部用数据除外)的接口函数7)用友元函数重载<<和>>运算符,可将对象数据保存到流中,且可以从流中恢复对象。
8)完成该类对所有功能进行检验的应用程序9)按格式完成实验报告(每组一份)10)*为可考虑选作的内容各类的附加要求:1.一元多项式类(动态)1)可以做一元多项式的+,-,*,/,%运算2)可以查看一元多项式的最高次数,可以求一元多项式的值3)对于次数低于4的一元多项式可以求根4)对于次数等于4的一元多项式可以求根(*)2.表达式类(字符串,动态)1)可以做表达式的+,-(合并同类项),*运算2)可以查看表达式的项数,3)可以重排表达式的顺序4)可以修改任意一项的内容3.方形矩阵类(动态)1)可以做方形矩阵的+,-,*运算2)可以查看方形矩阵的大小3)可以计算方形矩阵的行列式值4)可以做方形矩阵的转置5)可以做方形矩阵的求逆(若行列式值!=0)(*)4.一维向量类(动态,类模板)1)可以做向量的+,-,*,/运算,其中*,/为数字与向量间的运算2)可以查看向量的大小3)可以做向量的||运算,||运算是向量的取模运算(即计算各分量的平方和后再开方)4)可以做向量的插入,删除分量5)可以做一维向量间*运算,*运算是一维向量间各对应分量之积的和(*)5.字符串类(动态)1)可以做字符串的+,-运算2)可以查看字符串的字符个数3)可以修改字符串中任意一个字符的内容4)可以从指定位置开始查找一个字符或一个字符串5)可以从指定位置取一个子串6)可以将大写字母转换为小写字母,反之也可7)可以将字符串中某一个子串替换为另一个字符串(*)6.结点类与有向图类1)有向图类中包含结点类的对象2)可以在有向图中增加,删除结点3)可以在有向图中增加,删除边4)可以在有向图中查找两结点间的连通边5)可以取得图结构中的结点个数和边的个数6)可以输出邻接矩阵7)可以在有向图中查找出连通的环(*)7.树型结构类(模板)1)树型结构类中包含模板类的对象2)可以在树型结构中增加,删除结点3)可以在树型结构中查找结点4)可以在树型结构中以先序,后序遍历结点并输出结点信息5)可以取得指定结点的父结点,子结点,兄弟结点6)可以取得树的高度,结点个数7)可以输出邻接矩阵8.点与区域类1)区域类中包含两个点类的对象,构成区域的两个对角2)可以做点的+,-运算3)可以做区域+,-点的运算4)可以判断点是否在区域中5)可以判断区域是否为空6)可以计算区域的面积7)可以计算区域的中心点8)可以做区域交(&),并(|)运算(*)9.试卷与试卷类(*)1)试卷类可派生多种题型的派生类2)试卷类中含有若干个试卷派生类的对象3)可以设置试卷类包含试卷的种类4)可以设置试卷类中每种试卷对象的个数5)试卷类提供选题的功能,并显示题目和已做结果6)试卷类提供做题的功能,并接收做题结果7)试卷类提供比较已做结果和标准答案对比8)试卷类提供统计已做结果和标准答案一致的得分10.扑克类与牌局类1)牌局类中包含扑克类的对象2)可以设置牌局类中扑克类对象的个数(多少副)3)可以设置牌局类中参加游戏的人数4)牌局类提供洗牌功能5)牌局类提供发牌功能(发完或预留n张)6)可以对每个人的牌进行排序(按花色,按点数)7)具有按人输出和按轮(每人一张牌)输出的功能11.多元线性方程1)可以做多元线性方程的+,-,*,/运算2)统计多个多元线性方程的秩3)n个多元线性方程联立求解4)多个多元线性方程求最小二乘解(*)12.结点类与含权无向图类1)无向图类中包含结点类的对象2)可以在无向图中增加,删除结点3)可以在无向图中增加,删除含权的边4)可以在无向图中查找两结点间的最小连通边5)可以取得图结构中的结点个数和边的个数6)可以输出邻接矩阵7)可以在无向图中找出最小生成树(*)13.稀疏矩阵类1)可以做稀疏矩阵的+,-,*运算2)可以按正常矩阵输出。
Java课程设计题目2
面向对象课程设计题目1、个人通信录管理信息系统的设计与实现目的:通过本题目的设计,加深对面向对象程序设计技术的理解,掌握利用数据库编写小型程序的基本过程和方法。
任务:1)利用面向对象编程技术,完成个人信息的存储管理;2)选择系统开发平台(JAVA或.NET)和软件架构(C/S、单机版);3)要求系统能够对联系人的系统进行录入、查询、编辑、导入和导出等。
2、个人电子相册的设计与实现目的:掌握一种开发平台,编写出具有高交互性应用程序。
任务:1)分析现有的电子相册的具体功能;2)选择一种开发平台(JAVA或.NET)编写电子相册应用;3)个人电子相册应该具备用户注册、照片浏览、创建影集、照片旋转、放大等各种基本功能。
3、音像租赁管理系统的开发与实现目的:通过资料收集,了解音像租赁连锁店的基本业务需求,完成系统需求分析和概要设计,采用C/S架构完成一个简单的光盘租赁管理系统的开发。
任务:1)音像租赁连锁店的基本业务需求,完成需求分析报告;2)利用JAVA编写一个基本功能的光盘租赁管理系统,包括客户信息管理、音像资料管理、音像检索、业务统计等;4、学生综合信息管理信息系统的设计与实现目的:通过实际编写一个学生综合信息管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问等)加以综合运用,达到较大规模软件独立设计与开发的能力。
任务:1)选择JAVA或.NET完成一个桌面架构的学生综合信息管理软件;2)软件可以对学院大学生综合信息(姓名、学号、成绩、籍贯、家庭所在地、特长、宿舍号等)进行管理(录入、删除、修改)、统计、分析(排序)、查询与打印3)课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。
5、家庭财务管理信息系统设计与开发目的:通过实际编写一个家庭财务管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问、数理统计分析等)加以综合运用,达到较大规模软件独立设计与开发的能力。
面向对象课程设计题目(1)
2011计算机科学与技术专业面向对象课程设计题目李爱华一设计要求每个题目可以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会议信息包括:会议编号,会议名称、部门名称、会议地点,会议日期,会议主持人,会议记录人,出席人员,会议摘要。
面向对象程序设计(C++课程设计报告)
(2)问题描述:
使用MFC,应用MFC中已有函数以及画图类完成一个划线程序,使得能用鼠标在MFC视图中划出一道可以自定义线的格式的线,然后完成拾取、保存以及读取工作。
(3)问题分析:
该题目需要我们在熟练运用MFC的基础上,对MFC中函数进行掌握,并学会划线类地应用。首先需要我们完成划线操作利用buttondown和buttonup两个消息响应函数,然后将所有的线的属性放入vector容器中,实现线的存储,利用两边之和约等于第三边完成线的选取工作,再利用文本输入输出流完成保存和读取。
void CHuaxianView::OnMenuitem32771()
{
// TODO: Add your command handler code here
dialog a;
a.DoModal();
m_b=a.m_b;
m_r =a.m_r;
m_w =a.m_w;
m_y =a.m_y;
}
在ChuaxianView类的OnLButtonDown()函数中完成记录起始点的工作:
// TODO: add draw code for native data here
for(int i = 0; i < m_vLines.size() ;i++)
m_vLines[i].Draw(pDC);//将容器中所有线进行重绘
}
在ChuaxianView类的对话框函数中完成数据输入与更新:
void CHuaxianView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
面向对象课程设计题目
课程设计题目详细要求题目1 “高校人员信息管理系统设计” (2)题目2 “公司员工信息管理系统设计” (2)题目3 “媒体库管理系统设计” (3)题目4 “车辆管理系统设计” (3)题目5 “学生选修课程系统设计” (4)题目6 “学生成绩管理系统设计” (4)题目7 “学生信息管理系统设计” (5)题目8 “分数计算器设计” (5)题目9 “高校水电费管理系统设计” (5)题目10 “职工工作量统计系统设计 (6)题目11 “学生考勤管理系统设计” (6)题目12 “课程设计选题管理系统设计” (7)题目13 “小型公司工资管理系统设计” (7)题目14 “公司员工考勤管理系统设计” (8)题目15 “图书管理系统设计” (8)题目16 “超市商品管理系统设计” (9)题目17 “通讯录管理系统设计” (10)题目18 “酒店管理系统设计” (10)题目19 “模拟ATM机存取款管理系统设计” (10)题目20 “企业人力资源管理系统—工资管理” (11)课程设计要求 (12)题目1 “高校人员信息管理系统设计”1、问题描述某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。
其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。
2、功能要求(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录进行删除。
面向对象课程设计题目汇总及要求
面向对象程序设计课程设计题目汇总选题说明及要求说明:1、由于各选题的难度不同,将选题分为A、B、C三个等级,每个等级对应的最高分依次为:100分、85分和75分。
达到基本要求且有一定程度和创新和见解的同学可获得较高分数。
学生可根据自己的情况,自行选择。
2、每个题目最多只能有两组,若超过两组,则该题目自动作废!3、规定2-4人的题目,若实际人数比分组人数每少一人,则题目等级自动上调一级。
4、若实际小组人数比规定人数多一人,则题目等级自动下调一级。
实际人数比规定人数多两个的分组无效!题目列表题目一、单链表(1人)(C级) (3)题目二:一元多项式求和(1人)(B级) (3)题目三:快餐店点餐系统(3人)(B级) (3)题目四、简单车辆管理系统(3人)(B级) (4)题目五、滚动发车系统设计(3人)(B级) (4)题目六、简单银行账户系统(3人)(A级) (5)题目七、银行叫号系统设计(3人)(B级) (5)题目八、学生学籍管理系统(3人)(B级) (6)题目九、教师工资信息管理系统(3人)(A级) (6)题目十、书刊租借信息管理系统(3人)(A级) (7)题目十一、仓库管理信息系统(3人)(B级) (7)题目十二、研究生管理信息系统(3人)(B级) (8)题目十三、图书馆管理信息系统(3人)(B级) (8)题目十四、学生宿舍管理信息系统(3人)(B级) (9)题目十五、理财管理信息系统(3人)(B级) (9)题目十六、IT设备资产管理系统(3人)(B级) (10)题目十七、员工管理信息系统(3人)(B级) (10)题目十八某软件公司客户关系(CRM)管理系统(4人)(A级).. 11 题目十九:足球联赛排名(3人)(A级) (11)题目二十:小学生四则运算测验(3人)(B级) (12)题目二十一:学生电子投票平台设计(3人)(B级) (12)题目二十二:物品库存管理系统(3人)(B级) (12)题目二十三:个人财政支出管理系统(2人)(C级) (13)题目二十四:电话簿管理系统(2人)(C级) (13)题目二十五:股票交易系统(4人)(A级) (13)题目二十六:学生信息管理系统(2人)(C级) (13)题目二十七:学生成绩管理系统(2人)(C级) (13)题目二十八:小型字符串类(2人)(B级) (14)题目二十九:分数计算器(2人)(B级) (14)题目二十九:复数计算器(1人)(C级) (14)题目三十:无符号大整数计算器(2人)(B级) (15)题目三十一:超市密码存储箱系统(2人)(A级) (15)题目一、单链表(1人)(C级)建立一个单链表类,该链表类能够实现以下功能:(1)有合理的构造函数,能够由用户输入数据,创建链表,如果用户输入的数据不合理,能够给出提示信息(2)能够实现单链表元素的遍历(3)能够在指定位置插入一个元素(4)能够删除指定位置的元素(5)能够统计单链表中的元素个数并输出题目二:一元多项式求和(1人)(B级)编写一个程序用单链表存储一元多项式,并实现以下功能:(1)能够运行用户合理输入两个的多项式(2)能够实现两个多项式相加(3)能够将相加的结果输出(4)能够对常见的错误进行正确的处理和输出题目三:快餐店点餐系统(3人)(B级)快餐店点餐系统一般具有高效、便捷的特点。
面向对象程序设计(Java) 课程设计总体要求及题目说明
《面向对象程序设计(Java) 》课程设计题目说明上海电力学院计算机与信息工程学院指导教师:曹渝昆、张维、杜海舟、张挺2012年6月目录题目1:出租车计费系统 (2)题目2:学生综合测评系统 (2)题目3:旅馆预订系统 (3)题目4:简单的学籍管理系统 (4)题目5:商场库存管理系统 (4)题目6:小型图书管理系统 (5)题目7:小型婴儿出生信息登记系统 (5)题目8:学校档案管理系统 (6)题目9:小型学籍与成绩管理软件 (6)题目10:公交线路管理系统 (7)题目11:实验设备管理系统 (7)题目12:职工工资管理系统 (8)题目13:学校人事管理系统 (8)题目14:家庭财务管理系统 (8)题目15:教师工资管理系统 (9)题目16:教师工作量管理系统 (9)题目17:租车管理系统 (10)题目1:出租车计费系统1、需求分析设计界面友好的出租车计费系统,通过现成的自动测路程的仪器将出租车行驶的公里数传达到出租车计费系统,按一定比例折合成RMB费用,方便出租车司机准确快速计算当天出行驶费用。
2、程序的基本功能1)界面的标题为出租车计费系统。
2)创设一个可以计费的系统,可以根据行驶公里的长短计算出相应的金额。
3)界面上有0-9以及清空按钮方便输入及清空。
4)界面中有时间,可以设定当天的日期。
题目2:学生综合测评系统1、需求分析:每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、高等数学、物理、英语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
2、程序的基本功能:1.学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:学生信息可先输入到数组中,排序后可写到文件中。
(2) 插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3) 删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
《面向对象程序设计》课程设计选题
一、课程设计报告要求: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. 允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、平方、立方等。
《面向对象程序设计》课程界面设计练习题目
《面向对象程序设计》课程界面设计练习题目Windows NT系统内建了若干个的常用控件,极大地方便了Windows下可视化程序的开发。
对于初学者来说,能够熟练地使用这些控件,是学好C++面向对象编程的关键步骤。
为了指引初学者或者检验学习效果,下面设计了五个练习题目,囊括了大部分的常用控件,以及程序界面开发中常常使用的技术。
练习题目如下:一、播放器配置程序二、消息提示器三、流媒体管理器四、可定制背景的视图五、通讯簿一、播放器配置程序内容:制作一个基于对话框的播放器配置程序,能够从配置文件(*.ini )中读取设置信息;能够将修改后的设置信息保存在配置文件中。
界面如图1所示:图1 播放器设置界面目的:掌握使用VS 建立基于对话框的应用程序;熟悉标签(Static Text )、分组(Group Box )、按钮(Button )、编辑框(Edit Control )、组合框(Combo Box )、单选按钮(Radio Button )、复选框(Check Box )、热键设置控件(Hot Key )等常用控件的属性、事件;掌握配置文件(*.ini )的读写;学习MSDN 文档的查阅等。
要求:1、 控件1(组合框):不可输入文字,只能从下拉列表中选取一项,列表中的内容为:简体中文、繁軆中文、English ;2、 控件2(复选框):默认勾选。
3、 控件3(热键设置控件):当控件2勾选时,控件才3可编辑;当控件2未12 345678912 1314 15 161011勾选时,控件3灰掉(不可编辑);4、控件4~7(复选框):默认勾选控件4和控件5;5、控件8(编辑框):只能输入数字,范围1~60;6、控件9~11(一组单选按钮):默认选中控件9;7、控件12(按钮):当点击按钮时,在13中输出如图1所示的文字;8、控件13(编辑框):能够输入换行符,具有垂直滚动条,当文本框内容不能全部显示时,滚动条自动有效;9、控件14~16(按钮):按钮15初始不可用,当更改设置信息后才激活;接收回车提交命令;点击该按钮,将新的设置信息(控件12和13不触发配置信息改变)写回与程序同目录下,名称为config.ini配置文件中;点击按钮14时,如果设置信息有更改,将设置信息写入配置文件,并关闭对话框;若设置信息未发生改变,直接关闭对话框;点击16直接关闭对话框;10、配置文件读写要求:程序启动时若没有找到配置文件,能够按照默认设置初始化界面(按钮15激活),点击按钮14和15生成配置文件并写入设置信息,点击16则不生成配置文件;若找到配置文件,从文件中加载配置信息并初始化程序界面;11、对话框样式:对话框可以最小化,不能最大化,不可以改变大小;界面布局要工整;对话框初始时控件1取得焦点,按tab键焦点将按图中标注的序号逐一移动到下个控件上。
面向对象课程设计任务-可选题
面向对象课程设计任务-可选题一、设计基本要求1、利用面向对象的方法和C++编程思想来完成系统的分析和设计;在设计过程中,建立清晰的类层次;用UML画出类及类间的关系图;程序中包含面向对象的基本知识:封装、继承、多态,基本的信息应该能长期保存(用文件存放)2、系统启动运行时读取存储在文件中的记录解析成对象数据放入内存(以STL向量或链表存放)3、基本的信息管理包括:读数据(从文件中读到内存)、增加、删除、查询、修改、存盘(将内存中数据写回文件)。
可以自己根据题目要求增加新的功能。
增、删、改、查操作在内存中进行(针对STL向量或链表的操作而不是针对文件的操作)4、系统关闭前将内存数据存入文件(可以新建文件或覆盖原有文件)5、类中属性以private或protected属性为主6、层次分明,结构合理,加上简单界面的设计,如菜单,界面清新美观,维护容易7、按照指导书的要求编写文档。
二、使用的主要技术C++编程:基础编程,文件流,STL,必要的异常处理机制环境:VC++6.0三、设计的方法和步骤设计步骤:第一步:进行完整的需求分析,写出需求分析报告。
第二步:进行详细设计,写出详细的设计报告。
第三步:各模块编码实现。
第四步:合并调试并试运行,记录实现过程中出现的问题及解决方案。
第五步:提交完整可执行软件,准备答辩。
第六步:答辩,演示软件,评分。
第七步:整合各报告,修改并提交。
2.面向对象程序设计实用教程张海藩清华大学出版社3.C++语言程序设计(第1版)吕凤翥清华大学出版社4.C++语言程序设计(第1版)郑莉清华大学出版社5.C++及Window可视化程序设计刘振安清华大学出版社6.其他相关的书籍及网络资源五、选题以下为一组可选的选题,每个选题可以从中选择一部分来实现,但需要达到基本要求。
1.班主任工作管理系统班主任的日常工作非常繁琐,需要管理学生的信息、班级的日常活动等。
结合班主任工作实际,开发一个管理系统,系统主要功能如下:龄、性别、政治面貌等条件查询和统计学生的信息(2)班级日常管理:提供班干部管理、宿舍管理、考勤管理、班级奖惩记录等维护功能。
面向对象程序设计课程设计题目及要求
面向对象程序设计课程设计要求及题目学期:2010-2011-02 专业:软件工程课程设计选题要求:1、每个学生从下面16个题目中选择3个题目来进行课程设计,3个题目的选择遵循下面的原则:第一个题目从1-3号题目中选,第二个题目从4-9号题目中选,第三个题目从10-16号题目(使用文件)中选。
2、选好题目后,每个学生根据题目的内容填写任务书(课程设计说明书中),其中“已知技术参数和设计要求”项,直接将题目中“要求”部分复制过去。
注意:一个题目对应一份任务书!3、请认真阅读课程设计指导书(附件1),提前做好课程设计准备。
1复数类要求:1)该系统主要处理复数的相关信息。
2)完成以下的操作:初始化复数、求其绝对值、复数的加、减、乘、除、乘方、自加、自减等。
提示:1)建立数据类、复数类2)数据、复数信息的初始化3)复数信息的输出4)求复数的绝对值5)实现复数的加、减、乘、除、乘方、自加、自减等运算2字符串类要求:1)该系统主要处理字符串的相关信息。
2)完成以下的操作:初始化字符串、获得字符串长度、在字符串中查找一个字符、在字符串中查找另一个字符串、字符串连接、字符串比较等。
提示:1)建立数据类、字符串类2)数据、字符串信息的初始化3)字符串信息的输出4)获得字符串长度5)在字符串中查找一个字符6)在字符串中查找另外一个字符串7)比较字符串3日期类要求:1)该系统主要处理时间的相关信息。
2)完成以下的操作:日期的设置、显示、实现在某一个日期上(月、日、年)加减一个天数的功能、计算两个日期间隔天数提示:1)建立日期类2)日期类的初始化3)按某个固定格式(如:yyyy-MM-dd)一次性的设置某个日期对象4)以固定格式显示某个日期5)在日期上加一天6)在日期上减一天7)输入两个日期,然后输出日期的间隔天数4学生成绩管理系统要求:1)该系统主要处理学生的成绩信息。
2)学生信息主要包括:学号、班级、姓名、科目1、科目2、科目3等内容。
面向对象程序设计,选题详细要求
第一部分概述(一)课程设计的性质、目的《面向对象程序设计》是网络工程专业本科学生的一门专业必修课。
本课程设计在学生学习Java语言基础、熟悉使用Eclipse集成开发环境的基础上,对面向对象程序设计和Windows程序设计进行系统的设计,从而提高学生的综合实践能力,同时也为后续学习打下坚实的基础。
(二)设计要求根据给定的选题,设计实现一个比较完整的软件系统,可以从以下工作进行考虑:1、明确设计目标:确定所设计实现的系统应该具备哪些功能。
2、界面设计(选作做):根据对系统功能的分析,确定使用的控件或方法,进行界面设计,使系统功能齐全,界面简洁大方,可交互性强。
3、关键技术(必做):明确使用哪些关键技术解决问题。
4、数据库设计(必做):必要情况下,对需要后台数据管理的系统进行分析,详细设计数据库和相关数据表,并对数据表中的字段进行合理设计,考虑表之间的关系。
5、代码设计(必做):用OOP的编程思想(包括类、接口、泛型、继承等),灵活使用设计模式进行代码编写,调试运行从而实现系统的目标功能。
(三)设计报告格式(详见附件)包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等。
设计报告一般包括以下几个方面的内容:1、课程设计封面(包括设计内容名称、实验人和实验时间)2、设计目的和要求3、设计的软硬件说明4、设计过程和内容,主要包括详细设计和关键的功能代码。
5、结果及分析,主要描述系统实现后完成的功能及分析。
6、设计心得总结(四)硬件环境要求PC机一台。
(五)软件环境要求JDK1.5 及以上版本Eclipse3.4及以上版本根据系统的功能要求,需要数据库管理系统的需要自行安装MySQL或Sql Servler 或其它相关的数据库管理系统文档处理软件(六)Eclipse使用步骤Eclipse集成开发工具可以为开发人员提供便利的开发调试平台,开发人员可利用其开发Java 应用程序、Java Applet程序和服务器端的应用程序。
《面向对象程序设计》课程界面设计练习题目【最新资料】
《面向对象程序设计》课程界面设计练习题目Windows NT系统内建了若干个的常用控件,极大地方便了Windows下可视化程序的开发。
对于初学者来说,能够熟练地使用这些控件,是学好C++面向对象编程的关键步骤。
为了指引初学者或者检验学习效果,下面设计了五个练习题目,囊括了大部分的常用控件,以及程序界面开发中常常使用的技术。
练习题目如下:一、播放器配置程序二、消息提示器三、流媒体管理器四、可定制背景的视图五、通讯簿一、播放器配置程序内容:制作一个基于对话框的播放器配置程序,能够从配置文件(*.ini )中读取设置信息;能够将修改后的设置信息保存在配置文件中。
界面如图1所示:图1 播放器设置界面目的:掌握使用VS 建立基于对话框的应用程序;熟悉标签(Static Text )、分组(Group Box )、按钮(Button )、编辑框(Edit Control )、组合框(Combo Box )、单选按钮(Radio Button )、复选框(Check Box )、热键设置控件(Hot Key )等常用控件的属性、事件;掌握配置文件(*.ini )的读写;学习MSDN 文档的查阅等。
要求:1、 控件1(组合框):不可输入文字,只能从下拉列表中选取一项,列表中的内容为:简体中文、繁軆中文、English ;2、 控件2(复选框):默认勾选。
3、 控件3(热键设置控件):当控件2勾选时,控件才3可编辑;当控件2未12 345678912 1314 15 161011勾选时,控件3灰掉(不可编辑);4、控件4~7(复选框):默认勾选控件4和控件5;5、控件8(编辑框):只能输入数字,范围1~60;6、控件9~11(一组单选按钮):默认选中控件9;7、控件12(按钮):当点击按钮时,在13中输出如图1所示的文字;8、控件13(编辑框):能够输入换行符,具有垂直滚动条,当文本框内容不能全部显示时,滚动条自动有效;9、控件14~16(按钮):按钮15初始不可用,当更改设置信息后才激活;接收回车提交命令;点击该按钮,将新的设置信息(控件12和13不触发配置信息改变)写回与程序同目录下,名称为config.ini配置文件中;点击按钮14时,如果设置信息有更改,将设置信息写入配置文件,并关闭对话框;若设置信息未发生改变,直接关闭对话框;点击16直接关闭对话框;10、配置文件读写要求:程序启动时若没有找到配置文件,能够按照默认设置初始化界面(按钮15激活),点击按钮14和15生成配置文件并写入设置信息,点击16则不生成配置文件;若找到配置文件,从文件中加载配置信息并初始化程序界面;11、对话框样式:对话框可以最小化,不能最大化,不可以改变大小;界面布局要工整;对话框初始时控件1取得焦点,按tab键焦点将按图中标注的序号逐一移动到下个控件上。
C++面向对象-课程设计题目(2018版)
C++面向对象-课程设计题目(2018版)《C++面向对象程序设计》课程设计任务书2018/2019学年第1学期班级:2018级软件工程、网络工程一、设计目的《面向对象程序设计》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,能够运用面向对象的原理和方法解决简单的实际问题,逐步培养学生良好的程序设计能力。
二、设计要求通过这次设计,要求在逻辑特性和结构的设计及其实现等方面中加深对课程基本内容的理解。
在程序结构与功能上,充分运用面向对象的思想和方法,包括信息封装、继承、多态以及文件的操作。
在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
三、设计内容(任意选1个,1难度系统高,2-4难度系数较高,其余一般。
程序中必须有类的实现及使用,否则不合格。
可以2个人同选一个题目,验收时必须熟练应答)。
(一)快乐七巧板(3人)少儿在玩七巧板积木时,不知道如何拼图,对照图纸很麻烦。
该软件要求利用图形界面为少儿设计一款七巧板拼图软件,包含基本的7个元素的显示,完成不少于5种图案的拼图展示,并且能够保存和增加新的拼图。
要求用类的继承和多态来实现。
(一)新生基本信息统计软件有新生来报到,要逐个录入其信息,如:学生姓名,性别,专业,出生日期,家庭地址,英语入学成绩。
要求设计链表类来实现,并统计学生人数。
文本界面为:1. 新增学生信息2. 删除学生信息3. 导入学生信息(已经保存于的文件信息)4. 学生信息搜索(按姓名)5. 学生信息统计(按专业或性别或年龄---年龄要自动计算)6. 按英语成绩排序7. 学生信息保存8. 退出******请选择:1(二)某公司雇员工资支付软件一般工人(Worker)按每月工作的天数计算工资;销售人员(Salesman)在基本工资基础上每月还有销售提成;经理(Manager)每月按固定工资支付,临时工(Floater )按小时支付。
面向对象程序设计(C )24个课程设计任务书及题目
程设计任务书指导教师(签名): 系主任(签名):2014年5月20日年月日附:课程设计题目1.有理数运算问题描述2有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。
在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。
对有理数的各种操作都可以用重载运算符来实现。
基本要求定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。
写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。
此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。
测试数据在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。
实现提示设有两个有理数a/b和c/d,则有:(1)有理数相加分子=a*d+b*c;分母=b*d(2)有理数相减分子=a*d-b*c;分母=b*d(3)有理数相乘分子=a*c;分母=b*d(4)有理数相除分子=a*d;分母=b*c优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。
对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可。
选做内容重载插入(<<)和提取(>>)运算符,使得对有理数可以直接输入输出。
设有理数输入格式为:整数1 整数2 //整数1为分子,整数2为分母有理数输出格式为:分子/分母2.通讯录管理问题描述编写一个简单的通讯录管理程序。
通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。
基本要求程序应提供的基本管理功能有:1)添加:即增加一个人的记录到通信录中2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计报告要求: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, FileNotFoundException3、需要注意进行合并后的文件格式处理,在合并后的文件中要增加一些额外信息,为了文件的解压缩和还原处理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、施工合同管理系统。