计算机科学与技术

打印

您当前的位置: 建设成果

收集整理了一批课程设计题目

  • 发布日期:2015-01-27
  • 浏览次数:249

课程设计题目:
序号
题目名称
题目要求
1
马踏棋盘
设计一个国际象棋的马踏棋盘的演示程序
要求:将马随机放在国际象棋的8×8棋盘的某个方格中,马按照走棋的规则进行移动。要求每个方格只进入一次,走遍棋盘的全部64个方格。编制非递归程序,求出马的行走路线,并按求出的行走路线,将1,2,…,64依次填入一个8×8的方阵,并输出。
2
五子棋小游戏
设计实现基于命令行的五子棋小游戏
1、实现五子棋的人人对局功能
2、实现五子棋的人机对局功能
3、实现两机对局
要求:1、2必须实现,第3不做要求,根据个人能力自己决定是否实现(不实现不影响成绩,如果能实现将得到加分)。
3
俄罗斯方块游戏
设计实现一个具有基本形状的俄罗斯方块游戏
要求:随机给出不同的形状(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充给定的区域,若填满一条便消掉,记分,当达到一定的分数时,过关,每关方块下落的速度加快,若在游戏中各形状填满了给定区域,为输者。方块下落时,可通过键盘方向键(上、下、左、右键)对该方块进行向上(变形),向下(加速)、向左、向右移动。显示:消行后,剩余上方方块向下移动并统计和显示分数。每隔一段时间,方块自动下移一行,并显示。
4
扑克牌24点游戏
用扑克牌实现24点游戏。
巧算24点”的游戏内容如下:一副牌中抽去大小王剩下52张,任意抽取4张牌(称牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。每张牌必须用一次且只能用一次,如抽出的牌是3、8、8、9,那么算式为(9—8)×8×3或3×8+(9—8)或(9—8÷8)×3等。
要求:能够随机抽取4张牌,并且得出所有的24点的算式。
5
迷宫游戏
迷宫实验是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。老鼠经多次试验终于得到它学习走迷宫的路线。设计一个计算机程序对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
要求:在给出入口和出口的前提下,给出动态的迷宫行走路线。
6
猴子选大王游戏
编写程序实现找到猴子大王。
题目内容:一堆猴子都有编号,编号是1,2,3...m,这群猴子(m个)按照1到m的顺序围坐一圈,从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
要求:输入数据:输入m,n其中m,n为整数,n输出形式:提示按照m个猴子,数n个数的方法,输出为大王的猴子是几号。
7
约瑟夫生死者游戏
问题:约瑟夫问题的一种描述是:编号为1,2,....,N的N个人按顺时针方向围坐一圈,每人持有一个密码(正整数).一开始任选一个正整数作为报数上限值M,从第一个人开始按顺时针方向自1开始顺序报数,报到M时停止报数.报M的人出列,将他的密码作为新的M值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止.试设计一个程序求出出列顺序.
要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。
8
贪吃蛇游戏
贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。
要求:使用二维数组设计和实现贪吃蛇游戏
 
序号
题目名称
题目要求
1
停车场管理(1)
设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后近来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟停车场管理。
实现提示:汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。
例如:('A',1,5)表示一号牌照车5这个时刻到达,而('D',5,20)表示5号牌照车在20这个时刻离去,整个程序可以在输入信息为('E',0,0)时结束。
基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。
2
停车场管理(2)
1.有一个两层的停车场,每层有6个车位,当第一层车停满后才允许使用第二层.(停车场可用一个二维数组实现,每个数组元素存放一个车牌号)每辆车的信息包括车牌号,层号,车位号,停车时间共4项.其中停车时间按分钟计算
2.假设停车场初始状态为第一层已经停有4辆车,其车位号依次为1—4,停车时间依次为20,15,10,5.即先将这四辆车的信息存入文件”car.dat”中(数组的对应元素也要进行赋值)
3.停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号(分配前先查询车位的使用情况,如果第一层有空则必须停在第一层),停车时间设为5,最后将新停入的汽车的信息添加文件”car.dat”中,并将在此之前的所有车的停车时间加5.
4.收费管理(取车):当有车离开时,输入其车牌号,先按其停车时间计算费用,每5分钟0.2元.(停车费用可设置一个变量进行保存),同时从文件”car.dat”中删除该车的信息,并将该车对应的车位设置为可使用状态(即二维数组对应元素清零).按用户的选择来判断是否要输出停车收费的总计.
5.输出停车场中全部车辆的信息.
6.退出系统.
3
电梯运行控制
某校教学楼有一个自动电梯,能在每层停留,五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层。楼层由下至上依次编号为0,1,2,3,4。每层有要求Up(上)和Down(下)的两个按钮,对应10个变量CallUp[0..4]和CallDOWN[0..4]。一层是电梯的“本垒层“,电梯“空闲“时,将来到该层候命。乘客可随机地进出于任何层,对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。即给出一个时间常量T,当等待时间大于T时,电梯按无人进入处理。
有人进出时,电梯每隔40t测试一次,若无人进出,则关门;关门和开门各需要20tg;每个人进出电梯均需要25h;如果电梯在某层静止时间超过300t,则驶回1层候命。按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。梯处于三种状态之GoingUp(上行)、GoingDown(下行)和Idle(停候)。
实现要求:演示程序以从文件读取输出方式执行,即在计算机硬盘上建新的文件,将想要输入的信息事先存在此文件里;运算结果显示在其后。
4
景区导游
设计一个景区导游程序,为游客提供各种信息查询服务。
(1)设计景区平面图,所含景点不少于6个。以图中顶点表示景区各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为游客提供图中任意景点相关信息的查询。
(3)提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径。
5
交通咨询模拟
建立一个模拟的交通网络(用有向网来表示),编程实现从某个城市出发到另一个城市所需的最短的时间及路径。
要求:城市不少于8个。
6
救护车调度
实现一个用事件驱动的“救护车调度”离散模型,模拟120急救中心响应每个病人的呼救信号统一调度救护车运行的情况。问题假设:某城市共有m个可能的呼救点(居民小区、工厂、学校、公司、机关、单位等),分布着n所医院(包含在m个点中),有k辆救护车分派在各医院待命,出现呼救病人时,由急救中心统一指派救护车接送至最近的医院救治。救护车完成一次接送任务后即消毒,并回原处继续待命。假定呼救者与急救中心、急救中心与救护车之间的通讯畅通无阻,也不考虑道路交通堵塞的影响。可以用m个顶点的无向网来表示该城市的各地点和道路。时间可以分钟为单位,路段长可表示为救护车行驶化费的分钟数。
7
交通信号灯
在多叉路口设计几种颜色的信号灯才能使车辆间不相撞,且达到车辆最大流。设如图的五叉路口,其中,C和E为单行线,设计程序实现将如何设置交通灯
8
一元多项式简单的计算器
(1)输入并建立多项式;
(2)输出多项式;
(3)两个多项式相加,建立并输出和多项式;
(4)两个多项式相减,建立并输出差多项式。
实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。
9
设计一个简单计算器
要求:在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做
10
用指针优化学生成绩排名
1. 定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现
2. 将数组stu[10]的内容输出到屏幕上,要求用指针实现
3. 将成绩数组按照从高到低进行排序,要求用指针实现
4. 将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单
5.采用指针方法,输入字符串“studentscore”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)
 
序号
题目名称
题目要求
1
哈夫曼编码器
要求:打开一篇英文文章,统计该文章中每个字符出现的次数,然后以它们作为权值,对每一个字符进行哈夫曼编码,编码完成后再对其编码进行译码。
2
最小生成树
给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。
基本要求:
1、城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。
2、表示城市间距离网的邻接矩阵(要求至少6个城市,10条边)
3、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。
3
运动会成绩统计
参加运动会的N个学校编号为1—N。比赛分为M个男子项目和W个女子项目,项目编号分别为1—M和M+1—M+W。由于各项目的参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。
基本要求:
产生各校的成绩单,内容包括各学校所取得每项成绩的项目号,名次(成绩),姓名和得分;产生团体总分报表,内容包括校号,男子团体总分,女子团体总分和团体总分。
4
二叉排序树的实现
用顺序和二叉链表作存储结构
1)以回车('\n')为输入结束标志,输入数列L,生成一棵二叉排序树T;
2)对二叉排序树T作中序遍历,输出结果;
3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”;
5
排序算法综合
利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。
要求:
1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。
2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
3)如果采用4种或4种以上的方法者,可适当加分。
6
树的应用
要求:实现树与二叉树的转换的实现。以及树的前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现。
7
打印年历
1)良好的用户界面。
2)输入元旦是星期几,能打印该年的年历,分屏显示。
3)输入年月,输出该月的月历,并将该天的日历反显。
参考界面如下:
*********2000年年历************
=========1月份===========
sonmontuewedthurfrisat
1
2345678
9101112131415
16171819202122
232425262728293031
 
8
编辑器
1)良好的用户界面。
2)至少有一级和二级菜单
3)有简单的编辑功能和文件操作。
9
内存分配
要求模拟内存空间的分配和回收,可以根据用户输入的文件名称和文件大小为用户分配一块内存。具体要求如下:
1、为用户的文件分配内存。
2、删除用户指定的文件,并释放相应内存。
3、用户可以查看已经创建的文件。
4、用户可以查看内存使用情况。
 
10
数据清洗
要求对文件里的客户基本信息进行验证,并将数据转换为标准的格式后存入另一个文件。具体要求如下:
1、按一定的规则实现客户数据的验证,例如身份证号码的验证等。
2、实现客户数据格式的转换,包括日期格式、字符、数字等。
3、要求实现批量写入,并用管道-过滤器模式。
11
大文件排序
有1个大文件userInfo,内存不能全部读入该文件,要求排成有序的1个文件,按字典顺序倒序排,要求采用归并排序。
12
双向链表的排序
要求:输入一个双向链表,显示双向链表并对此双向链表排序
 
 
序号
题目名称
题目要求
1
自动贩卖机
主要功能:
某公司请你为其生产的自动贩卖机编写软件。这种无人值守自动贩卖机贩卖价值为ABC三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动贩卖机吐出商品,并且找给用户零钱。如果商品用完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。自然,你的贩卖机用户希望尽可能地给用户找零,以免流失顾客。为了调查用户的喜好,希望得到三种商品的每日消费数据,由此来调整货柜中三种货物的存贮量。你的程序将实现以下功能:
(1)库存查询:检索当前三种商品的储存量
(2)商品上架:为三种商品增加或者减少储量
(3)销售查询:分别统计今天每种商品的销售量和销售额
(4)会计查询:当天的往来帐目以及剩余零钞数目
2
校际运动会管理系统
1)良好的用户界面。
2)功能至少包括:
由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
.所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等.
问题描述:
初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数;
各项目名次取法有如下几种:
取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名得分1;
取前3名:第1名得分5,第2名得分3,第3名得分2;
用户自定义:各名次权值由用户指定。
3
奥运售票系统
任务:通过此系统可以实现如下功能:
1.加载
系统在启动时加载要销售的门票(数据可以存储在一个数据文件中,数据结构、具体数据自定)
2.查询售票情况
可以查询门票的销售情况;
3.订购门票(订票情况可以存在一个数据文件中,结构自己设定)
4.退门票
可退门票。
基本要求:
1.根据以上功能说明,设计奥运门票系统,定义存储结构,设计程序完成功能;
2.界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。