淮海工学院计算机工程学院课程设计报告数据结构课程设计

合集下载

数据结构课程设计报告模板

数据结构课程设计报告模板

课程设计报告课程名称:专业:班级:姓名:学号:成绩:完成日期:年月日任务书摘要本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。

所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。

关键词:黑白棋编程设计目录1.引言 (3)2.课题分析 (6)3.具体设计过程 (7)3.1设计思路 (7)3.2程序设计流程图 (8)3.3.函数实现说明 (12)4.程序运行结果 (14)5.软件使用说明 (18)6.结论 (21)参考文献 (23)1.引言数据结构在计算机科学界至今没有标准的定义。

个人根据各自的理解的不同而有不同的表述方法:Sartaj Sahni在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。

这些联系可以通过定义相关的函数来给出。

”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。

Clifford A.Shaffer在《数据结构与算法分析》一书中的定义是:“数据结构是 ADT(抽象数据类型Abstract Data Type)的物理实现。

”Lobert L.Kruse在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。

其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。

淮海工学院大数据结构第一次实验资料报告材料

淮海工学院大数据结构第一次实验资料报告材料

淮海工学院计算机科学系实验报告书课程名:《数据结构》题目:线性数据结构试验班级:软嵌151学号: 2015123352姓名:吉线性表实验报告要求1目的与要求:1)掌握线性表数据结构的基本概念和抽象数据类型描述;2)熟练掌握线性表数据结构的顺序和链式存储存表示;3)熟练掌握线性表顺序存储结构的基本操作算法实现;4)熟练掌握线性表的链式存储结构的基本操作算法实现;5)掌握线性表在实际问题中的应用和基本编程技巧;6)按照实验题目要求独立正确地完成实验容(提交程序清单及相关实验数据与运行结果);7)按照报告格式和容要求,认真书写实验报告,并于下周周二前统一提交实验报告电子版文档(每次实验全体同学必须提交实验报告电子版,实验报告文档文件命名方式:+学号+数据结构第X次实验报告)提交给学委,而后由学委以班为单位统一打包(包文件名为:软件14X 班-数据结构第X次实验报告)用发给老师;提交纸质报告(每班每次收5份,学委安排,保证每学期每个同学至少提交一次)一起提交给老师。

每次提交电子文档时,学委务必统计和上报未交报告人数和具体;凡逾期不交报告者,不再推迟提交,一律按照旷交处理。

8)积极开展实验组组交流和辅导,严禁直接复制和剽窃他人实验成果,一旦发现严肃处理;9)上实验课前,要求每个同学基本写好程序,并存储在自己的U盘上,用于实验课堂操作时调试和运行。

2实验容或题目(在一个主程序中实现全部题目容)一、顺序表的基本操作实现实验要求:数据元素类型ElemType取整型int。

按照顺序存储结构实现如下算法:1)创建任意整数线性表(即线性表的元素值随机在键盘上输入)的顺序存储结构(即顺序表),长度限定在25之;2)打印/显示(遍历)该线性表(依次打印/显示出表中元素值);3)在顺序表中查找第i个元素,并返回其值;4)在顺序表第i个元素之前插入一已知元素;5)在顺序表中删除第i个元素;6)求顺序表中所有元素值(整数)之和;二、链表(带头结点)基本操作实验要求:数据元素类型ElemType取字符型char。

表达式求值实验报告

表达式求值实验报告

淮海工学院计算机工程学院课程设计报告设计名称:数据结构课程设计选题名称:表达式求值姓名:学号:专业班级:系(院):计算机工程学院设计时间:设计地点:软件工程实验室、教室指导教师评语:成绩:签名:年月日1.课程设计目的1、训练学生灵活使用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。

2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。

2.课程设计任务和要求:任务根据教材《数据结构-C语言描述》(耿国华主编)和参考书《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择使用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。

设计题目从任务书所列选题表中选取,每班每题不得超过2人。

学生自选课题学生原则上可以结合个人爱好自选课题,要求课题有一定的深度和难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。

学生自选课题需在18周前报课程设计指导教师批准方可生效。

要求:1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。

前期准备工作完备和否直接影响到后序上机调试工作的效率。

在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。

2、.设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。

3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;4、每位同学需提交可独立运行的程序;5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算);6、课程设计实践作为培养学生动手能力的一种手段,单独考核。

数据结构课程设计报告

数据结构课程设计报告

《数据结构》课程设计报告姓名:潘庆专业:计算机科学与技术班级: J1401学号: 4141110020指导老师:王新宇2016年1月15日目录一、需求分析 (2)二、设计说明 (3)1. 算法设计的思想 (3)2. 主要的数据结构设计说明 (4)3. 程序的主要流程图 (5)4. 程序的主要模块 (6)5. 程序的主要函数及其伪代码说明 (6)三、上机结果及体会 (13)1.实际完成情况说明 (13)2.程序运行结果及图示 (13)3.问题及解决方案 (16)4.收获及体会 (16)附录(源程序) (17)一、需求分析1. 程序所实现的功能:七种排序算法的演示:(1)直接插入排序;(2)冒泡排序;(3)选择排序;(4)快速排序;(5)归并排序;(6)堆排序;(7)基数排序。

要求:(1)设计一个人机交互界面;(2)给出从初始开始时每一趟排序的结果。

2. 程序的输入:用户开始时自行输入排序个数和具体数字(须为整数)void input_int(SqList &L){int i;printf("请输入排序个数:");scanf("%d",&L.length);printf("请输入%d个整数:",L.length);for(i=1;i<=L.length;i++)scanf("%d",&L.r[i].key);}3. 程序的输出:用户选择具体排序方法后,程序将每一趟排序的输出结果一次性输出,最后一趟即为最终排序结果void output_int(SqList L){int i;for(i=1;i<=L.length;i++)printf("%d ",L.r[i].key);}4. 测试数据:12 2 16 30 8 28 4 10 20 6 18二、设计说明1. 算法设计的思想(1). 插入排序基本思路:向有序表中插入新的元素(或记录),使之仍有序,此时表的长度也相应地发生变化。

车牌号管理系统

车牌号管理系统

车牌号管理系统淮海工学院计算机工程学院课程设计报告设计名称: 数据结构课程设计选题名称: 车牌号管理系统姓名: 学号:专业班级: 软件工程系 (院): 计算机工程学院设计时间: 2011.12.19~2011.12.30 设计地点: 软件工程实验室、教室指导教师评语:成绩:签名:年月日数据结构课程设计报告第 1 页,共页1(课程设计目的1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。

2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。

2(课程设计任务与要求:任务根据教材《数据结构-C语言描述》(耿国华主编)和参考书《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。

设计题目从任务书所列选题表中选取,每班每题不得超过2人。

学生自选课题学生原则上可以结合个人爱好自选课题,要求课题有一定的深度与难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。

学生自选课题需在18周前报课程设计指导教师批准方可生效。

要求:1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。

前期准备工作完备与否直接影响到后序上机调试工作的效率。

在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。

2、.设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。

3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;4、每位同学需提交可独立运行的程序;5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算);6、课程设计实践作为培养学生动手能力的一种手段,单独考核。

6数据结构课程设计报告

6数据结构课程设计报告
淮阴工学院 数据结构课程设计报告
选题名称:
五子棋人机对战
系(院):
计算机工程学院
专 业:
计算机科学与技术
班 级:
姓 名:
学 号:
指导教师: 周海岩 单劲松
学年学期: 2012 ~ 2013 学年 第 1 学期
2012 年 12 月 20 日
1
设计任务书
课题 名称
1.掌握关键数据结构,如线性表、树、图建立过程及操作算法;
7
一个获胜组合。这样一直到最后一种为(1,15),(1,16),(1,17),(1,18), (1,19)这五个格子组成一个获胜组合。即第一行有 15 种获胜的组合。总的有 19 行。可得,对于行中,我们有 19X15=285 种获胜组合。
3.2.2 计算垂直方向的获胜组合数
同理对于垂直的获胜组合中第一种为第一列的 1,2,3,4,5 可组成一个获 胜组合。总的获胜组合也是 19X15=285 种。
3.1 系统流程图
程序流程图如图 3-1 所示。首先看到的界面是我们熟悉的棋盘。可看到下面 有一行文字。当用户按 F1 时,则游戏开始,这时用户先下子。电脑此时先根据 算法计算下,是否和棋,是否电脑获胜,是否玩家获胜,若有一种情况发生,则 进入暂停阶段,此时下子则无效,电脑显示相应的结果,否则电脑就根据自己的 得分算法,计算出最佳位置。电脑下子了后,则电脑继续判断是否和棋,是否电 脑获胜,是否玩家获胜,若有一种情况发生,同样进入到暂停阶段,显示相应的 结果。若用户按了 F12,则整个系统退出结束。若在开始后,又按了 F11,则显 示提示功能。这对于新手来说是很好的功能。
3.2.4 计算反斜方向的获胜组合数
依据上一种正斜,同理可推知反斜也有 15X15=225 种。

淮海工学院数据结构第二次实验

淮海工学院数据结构第二次实验

淮海工学院计算机科学系实验报告书课程名:《数据结构》题目:线性数据结构实验(栈与队列及其应用)班级:软嵌151学号:2015123352姓名:韩吉线性表算法实现与应用报告要求1目的与要求:1)掌握栈与队列的数据类型描述及特点;2)掌握栈的顺序和链式存储存表示与基本算法的实现;3)掌握队列的链式和循环存储表示与基本操作算法实现;4) 掌握栈与队列在实际问题中的应用和基本编程技巧;5)按照实验题目要求,独立完成实际程序的编写编写、调试和运行,并通过用例的运行过程抓获相关屏面验证程序设计的正确性;7)希望大家过一个丰富多彩的国庆节,抽出一定时间圆满完成实验,并于第6周周二以前按时提交实验报告,逾期按照旷交处理。

2 实验内容或题目(一)必做题:1、实现顺序栈的创建(初始化)、压入(插入)操作(数据、弹出(删除)元素类型自己选取,如整型、字符型等,或参照书上算法选取数据类型),并给出栈的每次操作变化状态;2、实现链栈的创建(初始化)、压入(插入)、弹出(删除)操作(数据元素类型自己选取,如整型、字符型等,或参照书上算法选取数据类型),要求给出栈的操作变化过程;3、实现循环队列的创建、进队、出队等基本操作(数据元素类型自己选取,如整型、字符型等,或参照书上算法选取数据类型),并实时给出队列的操作变化状态;4、实现链式队列的创建、进队、出队等基本操作(数据元素类型自己选取,如整型、字符型等,或参照书上算法选取数据类型),并实时给出队列的操作变化状态;(注意:必做题需用一个主程序实现所有功能)(二)选做题(视自己能力而定,数量不限):任选下列一个或多个栈或队列应用源程序(已经发给学委),并阅读、调试和运行程序,而后给出程序功能分析和实例运行演示;1、实现表达式求值算法程序;2、用递归算法实现汉诺塔问题算法程序;3、使用循环队列实现打印杨辉三角形算法程序。

3 实验步骤与源程序#include<stdio.h>#include<stdlib.h>#include <windows.h>#define TRUE 1#define FALSE 0#define Stack_Size 50#define MAXSIZE 5void mainmenu();/*********************************************//*顺序栈*/typedef struct{int elem[Stack_Size];int top;}SeqStack;/*链栈*/typedef struct node{int data;struct node *next;}LinkStackNode;/*循环队列*/typedef struct{int element[MAXSIZE];int front;int rear;}SeqQueue;/*链式队列*/typedef struct Node{int data;struct Node *next;}LinkQueueNode;typedef struct{LinkQueueNode *front;LinkQueueNode *rear;}LinkQueue;/*********************************************//********************顺序栈************************/ /*构造一个空栈S*/void InitStack(SeqStack *S){S->top = -1;}/*进栈*/int Push(SeqStack *S,int x){if(S->top==(Stack_Size-1))return(FALSE); /*栈已满*/S->top++;S->elem[S->top]=x;return(TRUE);}/*出栈*/int Pop(SeqStack *S,int *x){/* 将栈S的栈顶元素弹出,放到x所指的存储空间中 */if(S->top==-1) /*栈为空*/return(FALSE);else{*x=S->elem[S->top];S->top--; /* 修改栈顶指针 */return(TRUE);}}/*取栈顶元素*/int GetTop(SeqStack *S, int *x){/* 将栈S的栈顶元素弹出,放到x所指的存储空间中,但栈顶指针保持不变 */ if(S->top==-1) /*栈为空*/return(FALSE);else{*x = S->elem[S->top];return(TRUE);}}/**************************************************//********************链栈**************************//*初始化*/void InitStack1(LinkStackNode *top){ //构造一个空栈top = (LinkStackNode *)malloc(sizeof(LinkStackNode));if(!top)printf("OVERFLOW\n");top = NULL;}/*进栈操作。

淮海工学院-数据库课程设计

淮海工学院-数据库课程设计

淮海工学院计算机工程学院实验报告书课程名:《数据库课程设计》题目:员工管理系统班级:软件142学号:***********名:***目录1 引言 (3)1.1 背景 (3)1.2 系统简介 (3)2 需求分析 (3)2.1 功能需求 (3)2.2 可行性分析 (4)3 系统总体设计 (5)3.1 数据库设计 (5)3.2 界面设计 (10)3.3 时序设计 (10)3.4 接口设计 (16)3.5 代码设计 (16)3.6 测试用例 (20)4 总结 (21)1 引言1.1 背景随着知识经济的来临,计算机技术,网络技术和信息技术已经广泛的应用于社会的各个方面,给现代人的生活、工作带来了巨大的变化。

企业的员工管理正朝着追求高效,低成本,稳定可靠的发展方向。

为此目的,企业需要一个功能完善,性能稳定的员工管理系统。

其主要目的是通过计算机对员工的各种信息进行管理和维护。

员工管理系统共完成了员工资料情况进行添加、查询、修改和删除操作。

员工名册信息的报表查询可添加新的用户以及修改用户原有的用户名、删除原有用户,查询员工基本信息等功能。

达内科技的老师带领我们做了这样一个基于C/S架构数据库设计的员工管理系统。

1.2系统简介开发环境:Windows操作系统、Eclipse、Mysql和Navicat for Mysql软件架构:C/S架构适用对象:小型企业或学校2需求分析2.1 功能需求员工管理系统能够实现登录、添加/删除用户、修改密码、切换用户、退出登录、员工信息管理和员工信息查询等功能。

运行系统,在登录页面可以进行身份验证,登录成功后可以修改密码和用户信息,用户不想使用时可以点击退出系统结束操作。

功能图如图2.1所示。

员工管理系统是将企业的人事管理、工资管理、考勤管理有机相合,综合运用的一个企业管理软件,它使企业的人事管理由以往的手工作业,向自动化、网络化、现代化迈进了一大步。

从而使企业的人事管理人员从繁重的人事管理中解放出来,大大提高了工作效率,减轻了管理人员的工作量。

数据结构课程设计报告——二叉排序树(用顺序表结构存储)

数据结构课程设计报告——二叉排序树(用顺序表结构存储)

淮阴工学院数据结构课程设计报告选题名称:二叉排序树(二叉链表结构存储)系(院):计算机工程系专业:计算机科学与技术班级:计算机1091姓名:黄磊学号:1091301108指导教师:张亚红周海岩学年学期:2010 ~ 2011 学年第 1 学期2010 年12 月31 日设计任务书摘要:数据结构是研究与数据之间的关系,我们称这一关系为数据的逻辑结构,简称数据结构。

当数据的逻辑结构确定以后,数据在物理空间中的存储方式,称为数据的存储结构。

相同的逻辑结构可以具有不同的存储结构,因而有不同的算法。

本次课程设计,程序中的数据采用“树形结构”作为其数据结构。

而二叉搜索树又是一种特殊的二叉树。

本课程设中的二叉排序树是基于二叉链表作存储结构的,一共要实现五项基本的功能。

它们分别是二叉搜索树的创建、中序遍历、查找结点、删除结点和计算二叉排序树搜索成功时的平均查找长度。

关键词:二叉排序树;中序遍历;搜索结点;删除结点;平均查找长度目录1需求分析 (1)1.1课程设计题目、任务及要求 (1)1.2课程设计思想 (1)2概要设计 (2)2.1 二叉排序树的定义 (2)2.2二叉链表的存储结构 (2)2.3建立二叉排序树 (2)2.4二叉排序树的生成过程 (3)2.5中序遍历二叉树 (3)2.6二叉排序树的查找 (3)2.7二叉排序树的插入 (4)2.8平均查找长度 (4)3详细设计和实现 (4)3.1主要功能模块设计 (4)3.2主程序设计 (5)4调试与操作说明 (12)4.1程序调试 (12)4.2程序操作说明 (12)总结 (16)致谢 (17)参考文献 (18)1需求分析1.1课程设计题目、任务及要求二叉排序树。

用二叉链表作存储结构(1)以(0)为输入结束标志,输入数列L,生成一棵二叉排序树T;(2)对二叉排序树T作中序遍历,输出结果;(3)计算二叉排序树T查找成功的平均查找长度,输出结果;(4)输入元素x,查找二叉排序树T:若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”;1.2课程设计思想建立二叉排序树采用边查找边插入的方式。

实验4淮海工学院

实验4淮海工学院

淮海工学院计算机工程学院实验报告书课程名:《计算机组成原理》题目:实验四基本模型机实验班级:学号:姓名:1、目的与要求1)在掌握部件单元电路实验的基础上,进一步将其组成系统以构造一台基本模型实验计算机。

2)设计五条机器指令,并编写相应的微程序,具体上机调试,掌握整机软硬件组成概念。

2、实验设备1) ZYE1601B 计算机组成原理教学实验箱一台,排线若干。

2) PC 机一台。

3、实验步骤与源程序l) 实验接线方法如下:(1)跳线器J1~J12全部拨在右边(自动工作方式); (2)跳线器J16、J18、J23、J24全部拨在左边; (3)跳线器J13~J15、J19、J25拨在右边; (4)跳线器J20~J22、J26、J27连上短路片; (5)UJ1连UJ2,JSE1连JSE2,SJ1连SJ2; (6)MBUS 连BUS2; (7)REGBUS 连BUS5; (8)PCBUS 连EXJ2; (9)ALUBUS 连EXJ3; (10)ALUO1连BUS1; (11)EXJ1连BUS3;2) 根据机器指令画出对应的微程序流程图, 当拟定“取指”微指令时,该微指令的判别测试字段为P (1)测试。

由于“取指”微指令是所有微程序都使用的公用微指令,因此P (1)的测试结果出现多路分支。

本机用指令寄存器的前4位I7~I4作为测试条件,出现5路分支,占用5个固定微地址单元。

实验机控制操作为P (4)测试,它以控制开关SWC 、SWA 作为测试条件,出现了3路分支,占用3个固定微地址单元。

当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。

注意:微程序流程图上的单元地址为16进制。

运 行 微 程 序微程序流程图↓ PC →AR0B PC+1↓ RAM →BUS 0E BUS →AR ↓ RAM →BUS 0FBUS →DR1↓DR1→LED1501↓ PC →AR0C PC+1↓RAM →BUS 16BUS →PC01↓ PC →AR09 PC+1↓ RAM →BUS 03 BUS →AR ↓ 04 RAM →BUS BUS →DR2 ↓ 05RO →DR1 ↓ 06(DR1)+(DR2) 01→ROSW →R0↓ 0801↓ 01 PC →AR PC+1↓↓ PC →AR0A PC+1↓ RAM →BUS 07 BUS →AR↓ RO →BUS0DBUS →RAM01控 制器十六进制微地址3)根据微程序流程图设计微指令并转换成16进制代码文件。

数据结构课程设计报告(井字棋)(大全)

数据结构课程设计报告(井字棋)(大全)

数据结构课程设计报告(井字棋)(大全)第一篇:数据结构课程设计报告(井字棋)(大全)目录一、设计课题名 (1)二、设计目的 (1)三、问题描述及需求分析 (1)四、概要设计………………………………………………五、详细设计………………………………………………六、测试数据及测试结果…………………………………七、课程设计小结…………………………………………八、用户手册……………………………………………… 1 5 7 8一、设计课题名井字棋(人机对弈)二、设计目的1、课程设计是《数据结构》课程教学必不可缺的一个重要环节;2、通过课程设计加深课堂教学内容的理解和巩固;3、将《数据结构》课程的教学内容与解决实际问题结合起来,培养理论联系实际的学风;4、提高程序设计能力、培养自学能力;5、提高分析问题、解决问题的能力;6、提高收集资料、查找参考书的能力;7、锻炼书写报告的能力。

三、问题描述及需求分析本设计的主要完成的是井字棋的人机对弈问题,即计算机与人交替落子,当行、列或对角有连续三个相同一方棋时,则判定一方胜利,若无此情形则为和局。

要完成此设计则需一判定胜负函数及一计算机自行落子函数,一旦这两个函数完成则此程序主要部分可完成。

四、概要设计完成此程序需一合理数据结构,因其为井字棋游戏程序则此结构中应包含一存储当前棋局的数组;又因计算机在判定在何位置落子最佳时,需一搜索树因而我在设计时设置了一PARENT域和CHILD域;除了主程序外,它还包括具有以下功能的函数:(1)棋盘初始化函数:void Init();(2)打印棋盘函数:void PrintQP();(3)用户输入落子位置函数:void UserInput();(4)判断当前棋局是否有一方获胜,并判断哪一方获胜的函数:int IsWin(State s);(5)评估函数值计算函数:int e_fun(State s);(6)极大极小值算法主函数:int AutoDone()。

数据结构课程设计实践报告

数据结构课程设计实践报告

淮阴工学院实践报告数据结构课程设计设计题目:纸牌游戏系别:江淮学院专业:计算机科学与技术班级:计算机3111学生姓名: 卞玲玲学号:********** 起止日期:2012年12月24日~2013年1月6日指导教师:寇海洲、龚乐君摘要:纸牌游戏是一副或多幅纸牌提供娱乐的牌戏,是大家熟知的益智游戏。

早期的纸牌大部分为数码牌,中国的玩法通常是高点数胜低点数,或以特殊组合牌型取胜,此二原则仍为两大牌戏派别中论计胜负的标准。

而在当今社会,纸牌游戏已成为高雅的社交与智力活动,是我们娱乐休闲的方式之一,所以在游戏之余,我们不但要学会怎么玩纸牌游戏,而且更要尝试去做一种纸牌游戏。

关键词:纸牌游戏,翻牌,流程图,数据结构,C语言目录1需求分析 (4)1.1课题设计目的 (4)1.2课程设计任务 (4)2 概要设计 (4)2.1设计思路 (4)2.2设计流程 (4)2.2.1主要步骤 (4)2.2.2流程图 (5)3 详细设计 (5)3.1定义单链表结点 (5)3.2.主要函数功能 (5)3.2.1创建链表函数 (5)3.2.2创建翻牌函数 (6)3.2.3输出结果函数 (7)3.3主函数 (7)4 调试与操作说明 (8)5 总结 (10)6 致谢 (11)参考文献 (11)附录 (12)1需求分析1.1课题设计目的纸牌游戏是一种休闲娱乐方式,通过与《数据结构》课程的联系,设计一段完整的程序,开发一种新的游戏玩法,使学生在掌握数据结构的同时,懂得怎样去开发,去实际应用所学到的知识。

1.2课程设计任务:编号为1-52 张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4 为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6 的,7的直到以52为基数的翻过,输出:这时正面向上的牌有哪些?2概要设计2.1 设计思路编号为1的牌没有进行翻牌,所以仍然是正面向上,当从第二个编号开始的每张牌每次遇到是其倍数时,都会相应的翻一次,比如24,第一次它是2的倍数时要从正面翻到背面,当进行到3时,就又要从背面翻回来,而到4时还要在翻,以此类推,到6.8.12…它都要来回的翻。

数据库原理课程设计报告

数据库原理课程设计报告

淮海工学院计算机工程学院课程设计报告设计名称:数据库原理及应用设计课程设计姓名:薛沈晨学号: 110831223 专业班级:软件工程082 系(院):计算机工程学院设计时间:2010.12.20~~2011.12.31设计地点:计算机楼一楼机房一、概述1、项目背景:数据库原理课程设计2、编写目的:掌握数据库设计原理及相关软件的使用3、软件定义:宾馆房间管理系统4、开发环境:java,netbeans,sql server2005二、需求分析随着全国宾馆数量的增加和越来越自动化的宾馆设施,对于宾馆的信息管理也越来越复杂,要求也越来越高,因此需要一个全面、详细的宾馆信息管理系统,以便完成对宾馆信息的管理。

基于发票、表格等纸介质的手工处理,宾馆信息管理员信息处理工作量大,容易出错。

本系统是为了实现宾馆信息管理自动化,更高效、准备地管理,而开发的宾馆信息管理系统。

宾馆信息管理系统,可以用集中的数据库将与人力资源管理相关的信息全面、有机地联系起来,有效地减少了信息更新和查找中的重复劳动,保证了信息的相容性,从而大大地提高了工作效率在采用和实施宾馆信息管理系统之后,就会将依赖于人的过程改为依赖于计算机系统的过程。

宾馆管理人员只要获取了相应的权限,就可以随时进入系统,直接查阅相应的信息。

采用和实施宾馆信息管理系统不仅仅是为了提高工作效率。

同时在使用该系统后,宾馆相关人员可以较为全面、准确的了解到房间和房客们的综合信息,然后方便更具各种信息对宾馆的管理做出各种决策。

建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。

从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。

系统主要包括的功能有:#实现房间预定功能#实现房间类型以及相应收费的管理#实现住客收费账目的管理#实现房间状态的管理三、系统设计1.要求管理员可以增加和删除操作员的帐户。

计算机网络课程设计报告.doc

计算机网络课程设计报告.doc

计算机网络课程设计报告淮海工学院计算机工程学院课程设计报告设计名称计算机网络课程设计姓名学号专业班级系(院)计算机工程学院设计时间2008.12.182009.1.4 设计地点计算机网络实验室指导教师评语成绩签名年月日1.课程设计目的计算机网络课程设计是计算机及相关专业的实践环节之一,是学习完计算机网络课程后进行的一次全面的综合练习。

其目的在于加深对OSI七层模型、TCP/IP模型的各层功能和设计思想的理解,掌握组建计算机网络的基本技术,特别是网络规划、路由器的基本配置,提高学生的应用能力和动手实践能力。

2.课程设计任务与要求1.设计任务以淮海工学院本部校园为背景,设计一个校园网方案。

淮海工学院的本部分为办公区、教学区和生活区三部分。

现假设办公区中各楼宇名及需要信点为教务处(25),党政办公楼(26),图书馆(60),教学区中,除计算机系大楼需要120个信息点外,其余个系部大楼及教学楼(包括讲堂楼、机械楼、土木楼、海洋学院楼、大学生活动中心楼、教学主楼等)各需设置信息点的个数为40,生活区中每个建筑物里每个门洞设置1个信息点。

假设使用预留的INTERNET地址,试根据本部校园网的应用需求和管理需求、各建筑物的地理分布、信息点分布,设计出本部的校园网方案。

方案中应明确学院网管中心的位置,确定拓扑方案,完成设备选型,注明各种设备、设施和软件的生产商、名称、型号、配置与价格,并分别给出其价格的出处(如网站等),基本确定方案的预算。

2.设计要求(1)通过资料查阅和学习,了解园区网络规划、设计的一般方法。

(2)参考和研究一些公司和高校/企业园区网的规划和建设方案,结合计算机网络课程中所学知识,积极完成设计任务。

(3)认真完成需求分析,并根据需求分析完成园区网络的总体方案设计,确定网络逻辑拓扑结构和所采用的网络技术、主要设备的性能指标,进而完成设备的选型和经费预算。

(4)动手够架一个具体的LAN,要求实现WEB服务器、FTP服务器的安装,并能实现WEB信息发布。

04淮海工学院软件工程课程设计数据库设计说明书

04淮海工学院软件工程课程设计数据库设计说明书

文档编号:HHIT-SECD-SE142-06T-04版本号:V1.0网上书店管理系统数据库设计说明书项目名称网上书店管理系统项目负责人史祥平项目开发单位淮海工学院计算机工程学院软件142班第6项目组项目组成员仕宇阳张梓涵徐圣钦黄楷2017年6月15日软件工程课程设计项目组任务分派单(组长用)班级:软件142 组别:第6组组长姓名:史祥平时间:2017年06月15日1、本表由组长为其组员每次上机实践分派任务使用,应认真填写相关任务名称、内容、完成标准等信息;2、本表在每次任务完成后,由组长按照完成标准验收,并给出每个组员成绩评定(每人平均70分制),除组长保留一份外,应及时上报任课老师(电子和纸质文档同时上报)。

目录1.引言 [徐圣钦] (4)1.1编写目的 (4)1.2背景 (4)1.3定义 (4)1.4参考资料 (4)2.外部设计 [史祥平] [黄楷] (5)2.1 标识符和状态 (5)2.2使用它的程序 (5)2.3约定 (5)2.4专门指导 (6)2.5支持软件 (8)3.结构设计 [史祥平] (9)3.1 概念结构设计 (9)3.2 逻辑结构设计 (10)3.3 物理结构设计 (10)4.运行设计 [张梓涵] (15)4.1数据字典设计 (15)4.2安全保密设计 (16)4.2. 1登录用户的安全性 (16)4.2. 2维护设计 (16)1.引言[徐圣钦]1.1编写目的本数据库设计说明书是对网上书店而进行的数据库设计的定义,包括本系统数据逻辑结构设计、数据字典以及运行环境、安全保密设计等。

本数据库设计说明书适合以下读者:用户、系统设计人员、系统系统测试人员、系统维护人员1.2背景用户的需求具体体现在各种信息的操作方面,主要包括保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。

所以应该收集各种数据,组成一份详细的数据字典,为后面的设计打下坚实的基础。

本系统面向的是浏览用户和系统管理员,所有在数据库需求分析是主要考虑这些方面的因素。

淮海工学院大数据结构第3次实验-树型大数据结构

淮海工学院大数据结构第3次实验-树型大数据结构

淮海工学院计算机科学系实验报告书课程名:《数据结构》题目:树型数据结构试验班级:学号:姓名:树结构算法实现与应用报告要求1目的与要求:1)熟练掌握二叉树的二叉链表表示及前序创建算法与实现;2)熟练掌握二叉树的前序、中序和后序递归遍历算法与实现;3)掌握中序遍历线索二叉树的基本算法与实现4)掌握中序遍历线索化二叉树的算法与实现;5)按照实验题目要求独立完成实验内容(提交程序清单及相关实验数据与运行结果);6)认真书写实验报告,并按时提交(本次实验第9周周三以前提交,不得延误)。

2 实验内容或题目实验内容:1)按照先序序列建立下图所示二叉树的二插链表树,结点元素类型取字符型,树的字符序列从键盘逐个动态输入。

2)在第1)步建立好的二叉链表树上实施前序、中序和后序递归遍历,并输出相应遍历序列。

3) 在第1) 步建立好的二叉链表树上实施前序遍历的叶子结点输出及其个数统计。

4)在第1) 步建立好的二叉链表树上实施二叉树性质三的验证;5)在第1)步建立好的二叉链表树上实施中序非递归遍历,并输出相应遍历序列(选做) 6)中序线索化第1)步所建立的二叉链表树(选做)。

7)中序遍历第6)步所建立的线索二叉树,并输出遍历结果(选做)(注释:实验要求完成的任务(各个实验内容)应以菜单机制显示和运行来逐项完成,即整个实验题目写一个主程序完成所有实验内容,并以菜单机制实施交互运行,而不要一个实验内容写一个主程序)ABC DE FG3 实验步骤与源程序#include <stdio.h>#include <malloc.h>#include <conio.h>typedef struct Node{char data;struct Node *LChild; struct Node *RChild;}BiTNode, *BiTree;void CreateBiTree(BiTree *bt){char ch;ch = getchar();if(ch=='.')*bt=NULL;else{*bt=(BiTree)malloc(sizeof(BiTNode));(*bt)->data=ch;CreateBiTree(&((*bt)->LChild));CreateBiTree(&((*bt)->RChild));}void Visit(char ch){printf("%c ",ch);}void PreOrder(BiTree root){if (root!=NULL){Visit(root ->data);PreOrder(root ->LChild);PreOrder(root ->RChild);}}void InOrder(BiTree root){if (root!=NULL){InOrder(root ->LChild);Visit(root ->data);InOrder(root ->RChild);}}void PostOrder(BiTree root){if(root!=NULL){PostOrder(root ->LChild);PostOrder(root ->RChild);Visit(root ->data);}}void Pre(BiTree root){if (root!=NULL){if(root->LChild==NULL&&root->RChild==NULL){printf("%c ",root->data);}Pre(root ->LChild);Pre(root ->RChild);}}int LeafCount(BiTree &T){int num1,num2,num3;if(!T) return 0;if(T->LChild==NULL && T->RChild==NULL) return 1;num1=LeafCount(T->LChild);num2=LeafCount(T->RChild);num3=num1+num2;return (num3);}void main(){int i;BiTree T;printf("创建先序遍历序列二插树");CreateBiTree(&T);star:printf("\n请选择您要进行的操作:\n");printf("1,显示先序遍历序列\n");printf("2,显示中序遍历序列\n");printf("3,显示后序遍历序列为\n");printf("4,显示前序叶子节点及其个数\n");scanf("%d",&i);switch (i){case 1:printf("先序遍历序列为:"); PreOrder(T);printf("\n");goto star;break;case 2:printf("中序遍历序列为:"); InOrder(T);printf("\n");goto star;break;case 3:printf("后序遍历序列为:"); PostOrder(T);printf("\n");goto star;break;case 4:printf("前序遍历的叶子结点个数是:"); printf("%d",LeafCount(T));printf("\n");printf("\n");goto star;break;}}4 测试数据与实验结果(可以抓图粘贴)5 结果分析与实验体会主要遇到的问题就是用switch语句时不知道怎么反回主菜单,后来查找看书了解到可以用goto 语句跳出返回到主菜单。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机工程学院
课程设计报告
设计名称:数据结构课程设计
选题名称:简单行编辑
姓名:侯耀生学号: 2012122694 专业班级:软件工程软件121
系(院):计算机工程学院
设计时间:2013.12.23~2013.1.5
设计地点:软件工程实验室、教室
数据结构课程设计报告第 4 页,共页
数据结构课程设计报告第 5 页,共页{printf("%s\n",p->data);}
while((p=p->next)!=NULL);//遍历链表
}
四设计与调试分析
(1)系统起始界面,要求输入字符串文章
(2)系统主界面
(3)统计字母数
(4)统计数字数
(5)统计空格数
(6)统计文章总字数
(7)统计某个字符串出现的次数
(8)删除指定字符串
(9)退出该系统
(10)未按指定要求输入编号
五用户手册
1.进入用户界面,输入一篇文章,可以包括字母数字以及空格符,完成后按Ctrl+E键。

2.输入完成后,进入用户主界面,在选项1~7内进行选择。

(1)若按1键,统计该篇文章的全部字母数。

(2)若按2键,统计该篇文章的全部数字数。

(3)若按3键,统计该篇文章的全部空格数。

(4)若按4键,统计该篇文章的总字数。

(5)若按5键,统计某个字符串在文章中出现的次数。

(6)若按6键,删除该文章中的指定字符串。

(7)若按7键,退出该系统。

(8)若按8键,则返回异常,提示输入键为1~7键。

六测试成果
七附录(源程序清单)
#include <iostream.h>
#include <string.h>
#include <stdio.h>
//文本每行以字符串形式存储,行与行之间以链表存储。

相关文档
最新文档