专题训练I题库.docx
《专题训练I题库.docx》由会员分享,可在线阅读,更多相关《专题训练I题库.docx(19页珍藏版)》请在冰豆网上搜索。
![专题训练I题库.docx](https://file1.bdocx.com/fileroot1/2022-12/12/2cda61f5-a5d0-4544-966b-98bc143e5461/2cda61f5-a5d0-4544-966b-98bc143e54611.gif)
专题训练I题库
专题训练I题库
课堂成绩
最终程序
设计文档
总结与反思
权重
0.2
0.5
0.1
0.2
【注】各项成绩均以100分制计算,最终加权求和
1、游戏类
【题目1】
名称:
老虎下山游戏
描述:
用软件实现老虎下山小游戏,游戏棋盘如下,游戏具体规则请咨询指导老师
功能:
基本要求(70分):
1.用windows图形界面实现软件;
2.实现双人对战功能;
3.系统能够实时显示目前已经被老师吃掉的人数和活着的人数。
扩展要求:
1.实现人机对战功能,用户可以自己选择当老虎还是人(20分);
2.实现计分和排行榜功能(10分)。
【考核功能】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
【解题思路】
这个程序可以采用VC6.0的MFC单文档工程实现(也可以用基本对话框工程),开发者需要通过自己努力解决以下技术问题:
1.如何用VC6.0进行MFC单文档工程开发?
2.如何在窗体上绘制棋盘?
3.如何将作为棋子的图片显示在窗体上?
如何移动它的位置?
4.如何判断胜负?
5.如何在计算机中表示棋盘和落子状态?
【题目2】
名称:
电子宠物程序
描述:
编写一个养宠物狗的游戏,养狗规则按自己的想法及狗的生理特性进行设计。
提示:
可以用一分钟或更短的时间模仿一天;狗要出生、会吃喝拉撒,你可以溜狗,买狗,狗也会长大,会陪你玩等等。
功能:
基本要求(70分):
1.用windows图形界面实现软件;
2.宠物至少要设计不少于5种属性,不少于15中状态;
3.宠物的不同状态应该以文字和图片动画的方式进行展示;
扩展要求:
4.提供时间快进与快退功能;
【考核功能】
1.提供完备的宠物属性和状态设计文档;
2.提供完毕的属性计算公式体系设计文档;
3.界面美观,人机交互功能良好;
4.代码编写规范,注释清晰充分;
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.如何用VC6.0进行MFC单文档工程开发?
2.宠物应该具有哪些模型,可以和用户进行哪些交互动作,交互动作如何引发属性变化?
3.如何定义时间单位?
4.如何实现基于图片的动画效果?
【题目3】
名称:
狼吃羊游戏
描述:
狼吃羊这个游戏流行于我国北方地区,简单益智,广受欢迎。
具体游戏规则如下:
行动方式:
狼先行动。
狼和羊轮流行动,每一回合只能移动一个棋子,一个棋子一次只能上下左右移动一格。
吃子规则:
狼可以隔一个空格吃一只羊。
输赢规则:
如果狼的四周都被羊围住,无法行动,则狼方失败,反之狼将羊吃到只剩2只,则狼方胜。
游戏棋盘如下:
功能:
基本要求(70分):
1.用windows图形界面实现软件;
2.实现双人对战功能;
3.系统能够实时显示目前已经被老师吃掉的人数和活着的人数。
扩展要求:
1.实现人机对战功能,用户可以自己选择当狼还是羊(20分);
2.实现计分和排行榜功能(10分)。
【考核功能】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
【解题思路】
这个程序可以采用VC6.0的MFC单文档工程实现(也可以用基本对话框工程),开发者需要通过自己努力解决以下技术问题:
1.如何用VC6.0进行MFC单文档工程开发?
2.如何在窗体上绘制棋盘?
3.如何将作为棋子的图片显示在窗体上?
如何移动它的位置?
4.如何判断胜负?
5.如何在计算机中表示棋盘和落子状态?
【题目4】
名称:
扫雷游戏
描述:
要求学生设计实现一个扫雷游戏程序。
功能:
基本要求(70分):
1.用windows图形界面实现软件;
2.实现20×30的游戏矩阵;
3.实现扫雷基本功能:
左键单击挖雷、右键单击标注、右键再次单击取消标注,
左右键同时点击将点击出周围的雷都挖出来(在标注无误的情况下)。
。
扩展要求:
1.实现矩阵规模自定义功能,用户可以自己输入矩阵的行列数(20分);
2.实现计时和排行榜功能(10分)。
【考核功能】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现(也可以用单文档工程),开发者需要通过自己努力解决以下技术问题:
1.用什么数据结构来标识矩阵?
2.矩阵中的格子有哪些状态,状态之间如何转换的?
3.如何表示矩阵格子的不同状态?
4.如何在窗体上绘制矩阵?
5.如何判断成功失败?
6.如何使用程序进行计时并显示?
7.如何存储排行榜信息?
存到哪里,怎么存?
【题目5】
名称:
彩球连线游戏
描述:
模仿实现小游戏ColorLinez或WinLines,游戏环境为一个9*9棋盘;游戏规则如下:
1.生成4个不同颜色的球,散布在没球的位置上(尽可能的挡路或阻挡可能存在的可消除线路)。
球的颜色总共有七种,深蓝、红,绿、黄、褐、浅蓝、紫;
2.用户可以选中一个球,并指定将其移动某一个空位上;如果两个空位之间没有道路可通,则无法移动指位位置上的球;
3.在同一方向上(横、竖或斜)如果有连续5个或5个以后相同颜色的球相连,则将这些球从棋盘上消除,给按计分规则记分;如果填入一球以后导致多条线路同时满足同线5球以上的要求,则将所有线路上的球同时消除;
4.因为用户移动球可产生球消除动作时,不出现新球;
5.如果用户移动球以后,则转第1步。
6.棋盘被塞满时,游戏结束,登积分榜。
7.记分规则及其它功能自定。
功能:
基本要求(70分):
1.用windows图形界面实现软件;
2.人机游戏规则要求的所有功能
扩展要求:
1.实现矩阵规模自定义功能,用户可以自己输入矩阵的行列数(20分);
2.实现计分和排行榜功能(10分)。
【考核功能】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现(也可以用单文档工程),开发者需要通过自己努力解决以下技术问题:
1.用什么数据结构来标识棋盘?
2.矩阵中的格子有哪些状态,状态之间如何转换的?
3.如何表示棋盘格子的不同状态?
4.如何在窗体上绘制棋盘?
5.如何将小球显示在棋盘上?
6.如何计算是否存在通路使得小球移动到目的地?
如何实现小球的移动过程的动画效果?
7.如何判断成功失败?
8.如何使用程序进行计分,计分规则是什么?
如何显示计分结果?
9.如何存储排行榜信息?
存到哪里,怎么存?
【待补充】
2、数据管理软件类
【题目1】
名称:
个人财务管理工具
描述:
编写一款个人财务管理软件
功能:
基本要求(70分):
1.记账功能,软件能够实现对日常花费流水账记录功能,记录内容包括但不限于以下信息:
日期、事项、事项类型、金额、收支标记、经手人;
2.账务查询功能,能够根据日期、事项关键字、事项类型、金额、经手人进行查询;
3.事项类型管理功能,可以增加,删除,修改事项类型;
4.要求采用Windows图形界面编程;
扩展要求(30分):
1.统计功能,软件能够实现对账务的统计功能并以图形方式显示;
2.账务导出功能:
能将全部账务或查询出的部分账务导出为txt文件。
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.你需要管理的日常账务有哪些?
是只考虑花费还是要收支情况都需要考虑?
2.如何来存储你的数据,用文件的话如何设计数据格式?
3.如何实现对数据的查询?
4.如何根据数据绘制图表?
【题目2】
名称:
书籍管理系统
描述:
一家书店的老板,为了管理店铺书籍的种类、书籍数量和每本书的价格,需要编制一份书籍管理系统。
编写一个程序实现这一个书籍管理系统,书籍的相关属性已下表为参考,可以在此基础上自行增加。
ISBN号
书名
作者/译者
出版社
数量
单价(元)
离散数学
7
25.50
C++程序设计
56
62.00
Java程序设计
34
56.00
数据结构
3
32.50
操作系统
12
40.00
天龙八部
3
55.00
三国演义
6
55.00
牛津双解英汉字典
8
108.00
功能:
基本要求(65分):
1.系统提供用户登功能,并提供系统用户的管理功能(增加、修改、查看、删除);
2.系统提供书籍的查看功能,能用listview控件列表显示书店内目前现有书籍信息;
3.系统能够实现库存书籍的查询功能,提供ISBN号、书籍名称、作者\译者、出版社四种方式的查询;
4.系统提供增加书籍条目、修改现有书籍属性、删除数量为0的书籍记录功能;
5.系统采用windows图形化编程方式实现。
扩展要求:
1.对于书籍名称、作者\译者、出版社的查询实现模糊查询功能(5分);
2.实现多种查询条件的组合查询功能(20分);
3.为系统添加一个销售模块,能够完成书籍销售登记、修改库存、查询账目等功能(30分)。
将系统用户划分为三个角色:
1)系统管理员:
负责对系统用户进行管理;
2)库存管理员:
负责对书籍库存信息进行管理;
3)销售人员:
负责操作销售模块
4.为系统销售模块设计一个账目统计功能,能够根据账目信息生成一定形式的统计信息。
(10分)
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.如何来存储你的数据,用文件的话如何设计数据格式?
2.如何实现对数据的查询?
3.图形界面如何组织用户用起来会感觉方便好用?
【题目3】
名称:
通讯录程序
描述:
设计实现一款个人通讯录管理软件
功能:
基本要求(65分):
1.系统提供用户登功能;
2.通讯录文件中每条记录最少应包括姓名、联系电话、工作单位、电子邮件、QQ号码数据等信息,其中,姓名和电话不能为空;
3.系统能够实现查询功能;
4.系统提供分组功能,用户能够添加分组,修改分组,删除分组;
5.系统采用windows图形化编程方式实现。
扩展要求:
1.对于查询实现模糊查询功能(10分);
2.实现多种查询条件的组合查询功能(20分);
(10分)
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.如何来存储你的数据,用文件的话如何设计数据格式?
2.如何实现对数据的查询?
3.图形界面如何组织用户用起来会感觉方便好用?
【待补充】
3、仿真模拟类
【题目1】
名称:
ATM机仿真程序
描述:
模仿ATM机功能界面功能
功能:
基本要求(70分):
1.系统分为ATM机功能界面与银行管理员界面两个软件;
2.银行管理员界面负责创建用户账户、用户存款、取款、查账、销户功能;
3.ATM机功能界面实现用户登录、取款、查账、转账功能,要求尽可能模拟真实的ATM机功能;
4.要求采用Windows图形界面编程,界面风格要求尽量模拟真实的ATM机界面机功能;
扩展要求:
1.模拟ATM机的现金流过程,ATM机模块需要保存本机可提供的现金额度(用户取现时如果现金不足,则会报错),另外单独提供ATM机管理模块,提供登录、补充现金、查询流水帐目、与银行对账功能(30分)。
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.各个界面如何设计,界面之间如何跳转?
2.在各个界面之间需要传递哪些数据?
如何传递?
3.怎样将数据保存在文件中,以什么样的格式进行保存?
【题目2】
名称:
电梯仿真程序
(1)
描述:
编写程序模仿单部电梯的运行
功能:
基本要求(65分):
1.采用Windows图形界面实现;
2.仿真单部电梯的运行过程,包括楼层按钮、梯内按钮等。
3.仿真电梯开门关门以及人员进出电梯过程。
扩展要求:
1.设计电梯仿真任务生成器,可以编辑批量的电梯请求命令,实现对任务的整体仿真。
2.电梯任务可以保存为文件,任务文件可以加载到仿真程序中来。
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.用什么表示电梯,如何表示电梯移动?
2.电梯有哪些状态?
电梯需要接收哪些命令?
3.电梯内部命令与外部命令之间有什么关系?
有什么约束?
4.如何展现电梯开关门动作?
如何展现人员进出电梯动作?
【题目3】
名称:
电梯仿真程序
(2)
描述:
编写程序模仿多部电梯联动运行
功能:
基本要求(65分):
1.采用Windows图形界面实现;
2.仿真多部电梯联动运行,有2个电梯同时服务,根据乘梯指令自动选择电梯服务。
3.仅考虑电梯外部楼层命令,不考虑电梯内部命令。
4.设计实现电梯仿真任务生成器,可以编辑批量的电梯请求命令,实现对任务的整体仿真。
扩展要求:
1.实现仿真3个以上电梯联动服务,根据乘梯指令自动选择电梯服务。
2.实现对每部电梯的运行限制约束设置功能,可以考虑的约束有:
单双楼层可达,部分楼层可达。
3.实现在具备约束条件下的多部电梯联动运行仿真。
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.用什么表示电梯,如何表示电梯移动?
2.电梯有哪些状态?
电梯需要接收哪些命令?
3.多部电梯之间的联动规则是什么?
【题目4】
名称:
交大校园门卫机制仿真程序
描述:
编写程序对我校南门警卫机制进行仿真,提示如下:
1.门口可通行对象为人和车
2.警卫会要求骑车人下车
3.带电脑或其它设备的人要求出示出门条
4.携物进入可以申领进门条
5.普通行人放行
6.早上六点开门,十二点关门,其它时间叫门开关
7.警卫换班
8.可疑人物盘问
9.接受咨询
10.可能会产生纠纷、纠缠
功能:
基本要求(65分):
1.采用Windows图形界面实现;
2.需设计实现校园出入人员随机生成模块,负责不断生成出入校门请求;
3.也可以实现手工编辑出入校门请求。
4.界面可以简单,有能力也可以模仿实景。
扩展要求:
1.实现对出入们规则的可编辑功能。
如可添加临时规则,允许某时间段汽车可以出入,可添加临时规则封闭校门等等。
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.门卫判断进出的规则有哪些?
是否可以用计算机的方式进行表达?
2.如何实现出入校门请求的随机生成?
3.如何实现规则通用化表示及可扩展机制?
【待补充】
4、专用软件、工具类
【题目1】
名称:
函数曲线绘制工具
描述:
一款能够绘制各类函数的小工具
功能:
基本要求(70分):
1.能够绘制正弦、余弦、正切、余切曲线,用户能够自定义曲线参数(频率、振幅、相位);
2.能够绘制标准直线函数发f(x)=ax+b,用户能够自定义参数a和b;
3.能够绘制标准抛物线曲线,用户能够自定义参数p及指定绘制的抛物线类型;
【参考】抛物线的标准方程有四种形式,参数
的几何意义,是焦点到准线的距离,掌握不同形式方程的几何性质(如下表):
4.要求软件采用Windows图形界面,功能布局合理,操作简便易用。
扩展要求:
1.能够绘制标准指数函数f(x)=ax,用户能够自定义参数a;(10分)
2.用户能够将自己定义好参数的函数保存起来(自己给函数起个函数名),并能够打开之前保存的函数,查看其函数图形;(10分)
3.用户能够将自己保存的两个或多个函数的图形进行叠加,例如用户之前定义了两个函数:
f1(x)=2x+3,f2(x)=sin(x),软件能够将两个函数的图像叠加,即绘制函数f(x)=f1(x)+f2(x)=2x+3+sin(x)的图形;(10分)
4.在要求3的基础上,软件能够实现多个基础函数的加、减、乘、除四种不同组合。
(10分)
【考核说明】
1.程序编写规范,注释清晰;
2.类设计合理,编程思路清晰;
3.界面布局整齐合理,能够从用户角度出发,进行友好性设计;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC单文档工程实现,开发者需要通过自己努力解决以下技术问题:
1.如何用VC6.0进行MFC单文档工程开发?
2.如何在单文档对话框上绘制线条?
【注】计算机中没有真正意义上的光滑曲线,都是由若干条小直线段连接成一条曲线,线段越短数量越多,看起来越光滑;线段绘制可以通过LineTo函数实现。
3.如何将界面上已经绘制好的图形清除?
4.在何时开始绘制曲线,绘制曲线是需要什么前提条件?
【题目2】
名称:
世界时钟&万年历
描述:
制作一款具备万年历和世界时钟功能的软件
功能:
基本要求(70分):
1.采用Windows图形界面实现软件;
2.时钟采用表盘和指针方式展现;
3.时钟以读取的计算机时间为基础,具备时区设置,可以根据不通时区设置调整时间
4.用图形化的方式展示日历,类似下图所示:
扩展要求:
1.提供不同时区时间日期比对功能,系统能够将用户关心的两个或多个不同时区时间日期同时展示出来,供用户进行对比查看;(20分)
2.在日历中提供农历查看功能;(10分)
3.增加校历导入与展示功能;(10分)
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.如何用VC6.0进行MFC单文档工程开发?
2.用什么来表示表盘?
可以找一张背景图片作为表盘,或者使用vc的绘图函数直接绘制表盘。
这需要如何将一张图片显示到图形界面上的问题,或者解决如何用vc++的绘图函数进行绘制表盘的问题。
3.用什么来表示表的指针?
可采用VC++的绘图函数,绘制不同粗细的线段作为指针。
4.如何实现指针的移动?
需要用到VC++的定时器,学会如何创建定时器、如何响应定时器定时事件、如何清除定时器。
5.如何实现日历的展示?
可采用VC++的绘图函数在窗体上绘制文字(这种方式科研定义绘制文字的样式、颜色等)
【题目3】
名称:
校园路径导航
描述:
用户来到交大校园,利用本程序选择在校内行走的路线。
用户选择当前所在位置,以及想要到达的目的地,程序计算出最短路线。
功能:
基本要求:
1.采用Windows图形界面实现;
2.用户输入起点和目的地,系统帮其将路径计算并显示出来;
3.用户可以选择运动模式,包括步行/自行车、驾车两个个模式;
扩展要求:
1.考虑做到不同粒度级的导航,比如我需要从学校西门到九教401,系统应该可以首先从学校地图层面指引用户从西门走到九教,然后在切换至九教内部地图,指引用户走到九教401房间。
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
1.如何搭建问题模型?
用什么表示路径?
如何表示各个地点?
2.如何寻路?
3.如何将交大地图显示在窗体上?
4.如何在窗体上的交大地图内绘制路径?
【题目4】
名称:
描述:
基本要求:
扩展要求:
【考核说明】
1.界面友好大方,布局合理;
2.类设计合理,编程思路清晰;
3.代码编写规范,注释清晰充分;
4.如果能够根据题目要求自己对程序功能进行扩展可以加分。
【解题思路】
这个程序可以采用VC6.0的MFC基本对话框工程实现,开发者需要通过自己努力解决以下技术问题:
【题目4】
名称:
录音机
描述:
采用媒体控制接口(MCI)编写一个录音机程序。
功能:
基本要求:
扩展要求: