3. 五子棋的设计与实现
3.1. 问题描述
五子棋是起源于中国古代的传统黑白棋种之一,五子棋专用棋盘为十五路(15*15),盘面上横竖各15条、平行线、纵横、线路为黑色,构成225个交叉点。国际规则为:
(1):对局人数: 2人。一人持黑子,一人持白子。 (2):对局方式: 2人轮流一子一子的将棋子置於棋盘的点上。先着者持黑,后着者持白。 (3):胜利条件:先下出连五者则为胜利。 试用相应的数据结构描述,并编程实现。
3.2. 功能描述
程序运行时,可以选择电脑和人对弈或者人人对弈,并设定先下着,通过一些简单的输入进行对弈;
该程序的基本要求为上面所述,如有其他问题,自行规定,将其设计到程序中,并在报告中声明;
鼓励学生上网查找相关的算法,但是严禁不加思考和修改,直接拷贝使用,最后的文档中必须包含对本程序使用的核心数据结构的评价(优缺点等),若有,应包含改进的地方。
3.3. 选作要求
? 为程序提供悔棋等功能;
? 如果条件允许,可以为程序增加简单的界面,但是不要因为界面,而延
误了程序基本的功能实现。
3.4. 设计报告格式及主要内容
(1)需求分析说明文档
(2)概要设计(系统的总体结构、功能模块之间接口) (3)详细设计(模块功能说明,主要数据结构的说明)
(4)测试计划与报告:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
(5)源程序清单和执行结果:源程序清单中每个类和方法都应有足够的注释。
4. 学生成绩管理系统
4.1. 问题描述
在年级成绩管理系统中,希望处理各班信息及各班每个学生的学习情况信息,其中班级信息包括班号和名称,学生学习情况信息包括学号,姓名,班号等,及已学课程的课程号及成绩,并能使管理人员通过界面完成对班级、学生信息的录入及对数据的查找和浏览。
4.2. 功能描述
? ? ? ? ? ? ? ?
登记各班的学生基本情况(学号,姓名,性别,年龄,电话等信息) 插入某班某个学生的基本情况 修改各班学生基本情况
删除某班某个学生或某班所有学生基本情况 登记各班所有学生各门课的成绩 修改某个学生某门功课的成绩 浏览各班信息
查找,浏览每个学生的基本信息 ? 查找,浏览每个学生的全部成绩信息
4.3. 设计要求
1. ? ? ? ?
分4个功能模块实现
班级管理模块:主要实现的功能为添加,删除某个班级
学生管理模块:实现的功能为登记,修改,删除某班某个学生的基本情况 成绩管理模块:实现的功能为登记,修改某个学生某门课的成绩
查选浏览模块:实现的功能为浏览各个班级信息,查找,浏览每个学生的基本信息,和全部成绩信息 2. 为用户操作提供人机界面。
4.4. 实现提示
本系统可以看作是一个树结构的应用问题,可考虑采用树的左孩子右兄弟存储结构:
Head
学生1 学生2 班级1 班级2
班级n 学生n ???? ????
成绩1 成绩2 成绩n 4.5. 设计报告格式及主要内容
(1)需求分析说明文档
(2)概要设计(系统的总体结构、功能模块之间接口) (3)详细设计(模块功能说明,主要数据结构的说明)
(4)测试计划与报告:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
(5)源程序清单和执行结果:源程序清单中每个类和方法都应有足够的注释。
5. 城市导游咨询
5.1. 问题描述
设计一个城市导游程序,为来旅游的游客提供景点和道路信息查询服务。
5.2. 功能描述
? ? ? ? ? ?
设计一个你所在城市的旅游景点和道路平面图,所含景点不少于10个。 可以添加、修改和删除景点以及景点的信息。
可以添加和删除连接景点的道路及道路长度信息。 景点信息包括景点的介绍、位置、道路等信息。 为游客提供图中任意景点相关信息查询。
为游客提供图中任意景点问路查询,即查询任意两个景点之间的一条最短的简单路径。
? 提供图中任意景点问路查询,即求任意两个景点之间的所有路径。
? 提供图中多个景点的最佳访问路线查选,即求途经这个景点的最佳(短)路
径。
5.3. 实现提示
? 以图中顶点表示校内各景点,存放景点名称,代号,简介等信息,以边表示
道路,存放道路长度等相关信息。
? 一般情况下,校园的道路是双向通行,可设校园平面图是一个无向网。顶点
和边均含有相关信息。
5.4. 选作要求
? 求城市景点图的关节点。
? 扩充道路信息,如道路类别(车道,人行道等),沿途景色等级,以至可按
游客所需分别查询人行路径或车行路径或观景路径。
? 考虑增加公交车查询,可添加公交车的名称、站名和途经的道路、票价等信
息,方便游客查询景点的公交车路线。
5.5. 设计报告格式及主要内容
(1)需求分析说明文档
(2)概要设计(系统的总体结构、功能模块之间接口) (3)详细设计(模块功能说明,主要数据结构的说明)
(4)测试计划与报告:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
(5)源程序清单和执行结果:源程序清单中每个类和方法都应有足够的注释。 (参考数据结构题集(C语言版)P 151)