- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
~正文模板.doc
北京理工大学珠海学院
课程设计说明书
2011—2012学年 第 二 学期
题目: 马踏棋盘和学生成绩管理
学 院: 计算机学院
专业班级: 软件4班
学 号: 100202041018
学生姓名: 朱建伟
指导教师: 钱锋
成 绩:
时 间: 2012 年 6 月 30日
2012 年 6 月 30 日
马踏棋盘和学生成绩管理
【问题描述】
将马随机放在国际象棋的8* 8棋盘Bord[8Ⅱ8]的某个方格中,马按走棋规则进行移动。要求每个方格上只进入一次,走遍棋盘上全部64个方格。
【任务要求】
编制非递归程序,求出马的行走路线 ,并按求出的行走路线,将数字1,2,…,64依次填入一个8 8的方阵,输出之。
测试数据:由读者指定,可自行指定一个马的初始位置。
实现提示:每次在多个可走位置中选择一个进行试探,其余未曾试探过的可走位置必须用适当结构妥善管理,以备试探失败时的“回溯”(悔棋)使用。
【测试数据】
自行设定,注意边界等特殊情况。
【问题描述】
本例对学生的成绩管理做一个简单的模拟,用菜单选择方式完成下列功能: 登记学生成绩;查询学生成绩;插入学生成绩;删除学生成绩。
【任务要求】
算法输入:操作要求,学生信息
算法输出:操作结果
算法要点:把问题看成是对线性表的操作。将学生成绩组织成顺序表,则登记学生成绩即是建立顺序表操作;查询学生成绩、插入学生成绩、删除学生成绩即是在顺序表中进行查找、插入和删除操作。
【测试数据】
自行设定,注意边界等特殊情况。
1
目录
题 目 ……………………………………………………1
1.初步设计……………………………………………………2
2.详细设计……………………………………………………3
3.测试分析……………………………………………………4
参考文献……………………………………………………6
心得体会……………………………………………………7
教师评语……………………………………………………8
附 录……………………………………………………9
初步设计
1.1 顺序栈的抽象数据类型定义:
ADT Stack{
数据对象:D={ai| ai∈(0,1,…,9),i=0,1,2,…,n,n≥0}
数据关系:R={ ai-1, ai | ai-1, ai∈D,i=1,2,…,n}
} ADT Stack
1.2 本程序包含三个模块:
(1)、主程序模块:
void main(){
定义变量;
接受命令;
处理命令;
退出;
}
(2)、起始坐标函数模块——马儿在棋盘上的起始位置;
(3)、探寻路径函数模块——马儿每个方向进行尝试,直到试完整个棋盘;
(4)、输出路径函数模块——输出马儿行走的路径;
2
详细设计
马踏棋盘代码
(1)、定义头文件和预定义
#includestdafx.h
#includestdio.h
#define MAXSIZE 100
#define N 8
(2)、数据类型定义
int board[8][8]; //定义棋盘
int Htry1[8]={1,-1,-2,2,2,1,-1,-2};
/*存储马各个出口位置相对当前位置行下标的增量数组*/
int Htry2[8]={2,-2,1,1,-1,-2,2,-1};
/*存储马各个出口位置相对当前位置列下标的增量数组*/
struct Stack{ //定义栈类型
int i; //行坐标
int j; //列坐标
int director; //存储方向
}stack[MAXSIZE]; //定义一个栈数组
int top=-1; //栈指针
(3)、函数声明
void InitLocation(int xi,int yi); //马儿在棋盘上的起始位置坐标
int TryPath(int i,int j); //马儿每个方向进行尝试,直到试完整个棋盘
void Display(); //输出马儿行走的路径
(4)、起始坐标函数模块
void Ini
文档评论(0)