好文档 - 专业文书写作范文服务资料分享网站

数据结构课程设计

天下 分享 时间: 加入收藏 我要投稿 点赞

24点游戏 一、课程设计的目的和要求 本课程设计是为了配合《数据结构》课程的开设,通过设计一完整的程序,使学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C程序并用TC上机调试的基本方法。使学生了解并掌握数据结构与算法的设计方法,并且 具备初步的独立分析和设计能力。通过这个课程的学习,让学生们初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能,还可以提高综合运用所学的理论知识和方法独立分析和解决问题的能力。 课程设计的要求即为:1、要充分认识课程设计对自己的重要性,认真做出设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性相结合课题,独立思考,努力钻研,勤于实践,勇于创新。 3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容。则成绩以不及格计。 4、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 二、设计的主要内容 24点游戏是一种简单的益智类游戏 游戏内容为:从1—13中,任意抽取4个数字,运用加、减、乘、除和括号等运算符把这些数字进行一系列的运算,运算得到的结果应为24。并且每个数都必须参与运算,每个数字只能运算一次,运算符可多次重复使用。当用户正确输入算式后,程序根据“堆栈来求表达式的值” 的原理,求出结果并判断是否为24,得出用户是输是赢的结论。输出结果后,询问用户是否继续,是则重新启动程序,否则结束程序。 沈阳大学

三、概要设计 1.模块分析 24算法游戏的功能模块不多,也比较容易实现。基本思想就是由程序先随机产生4张扑克牌,每张扑克牌对应一个整数,所以首先要有一个随机产生扑克牌的模块。接下来就是用户用程序产生的扑克牌来算24点了,所以要有一个输入用户去接表达式的模块。用户输入完成后,判断输入表达式是否合法,所以要有一个判断表达式合法与否的模块。如果表达式合法程序就开始计算表达式了,所以要有一个计算表达式的模块。程序计算完表达式后就要判断用户输入的表达式是不是为24点了,所以还有一个判断表达式正误的模块。这5个模块是逐步 递进的,是要前一个模块的功能完成后,才能执行后一个模块,否则程序就将出错。程序所涉及的数据结构主要为整形和字符型,整形数据结构主要是用来计算表达式的,字符型数据结构主要是用来输入表达式的。程序所涉及的数据库结构主要有数组和栈,数组在计算表达式和产生扑克牌是都要用到,栈只是用来计算表达式的。判断表达式是否合法。 2.功能模块图 图1.功能模块图 随机取数 输入求解表达式 判断表达式是否合法 计算表达式 判断表达式的正误 24点游戏 沈阳大学

四、运行环境 硬件环境:PC机 软件环境:Windows XP Microsoft Visual C++ 6.0 五、详细设计 1.运行程序: enum { eNumber = 0, //操作数 eOperator = 1 //算子 }; int oper[7]={43,45,42,47,40,41,35}; typedef struct sqlist{ int bol;//bol is 0 when num_ch is a number;bol is 1 when the num_ch is a oprater int num_ch; struct sqlist *next; }sqlist; typedef struct sqstack{ int *base; #include #include #include #include #define MAX 13 #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR 0 #define OVERFLOW -2 #define OPSETSIZE 7 #define STACK_INIF_SIZE 50 #define STACKINCREMENT 10 typedef int status; int number[2][4]; int *top; int stacksize; }sqstack; unsigned char Prior[7][7] = { // 表3.1 算符间的优先关系 '>','>','<','<','<','>','>', '>','>','<','<','<','>','>', '>','>','>','>','<','>','>', 沈阳大学

数据结构课程设计

24点游戏一、课程设计的目的和要求本课程设计是为了配合《数据结构》课程的开设,通过设计一完整的程序,使学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C程序并用TC上机调试的基本方法。使学生了解并掌握数据结构与算法的设计方法,并且具备初步的独立分析和设计能力。通过这个课程的学习,让学生们初步掌握软件开发
推荐度:
点击下载文档文档为doc格式
0g0t51sl9s44p5c1cp2i5zpak1cslt00dcc
领取福利

微信扫码领取福利

微信扫码分享