数据结构课程设计+24点游戏源代码结构设计

数据结构课程设计+24点游戏源代码结构设计

ID:6289908

大小:171.50 KB

页数:50页

时间:2018-01-09

数据结构课程设计+24点游戏源代码结构设计_第1页
数据结构课程设计+24点游戏源代码结构设计_第2页
数据结构课程设计+24点游戏源代码结构设计_第3页
数据结构课程设计+24点游戏源代码结构设计_第4页
数据结构课程设计+24点游戏源代码结构设计_第5页
资源描述:

《数据结构课程设计+24点游戏源代码结构设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构课程设计+24点游戏源代码结构设计1.需求分析24点游戏主要有两个功能:(1)用户记算24点程序随机产生四个1-13的数,分别代表4张牌,提示用户输入算式。如果用户认为程序给出的一组数字不能算出24点(如1,1,2,2),则输入‘?’,然后程序对四个数字进行计算,如果真的不能算出24点,则输出用户正确的信息,否则给出一个正确的算式,并显示用户错误的信息。(2).程序计算24点用户输入四个1-13的数,代表4张牌,程序需要通过一定的规则添加括号和运算符来使算式的值等于24,如果用户给出的四个数字不能算出24点,则输出错误信息!2.概要设计抽象数

2、据结构定义:ADT{数据对象:D={a

3、a为大于0小于14的整数}push(sqstack*s,inte)//压栈gettop(sqstack*s)//取得栈顶元素pop(sqstack*s,int*e)//出栈randomm()//产生四个随机数EvaluateExpression(char*MyExpression)//课本算法3.4---计算表达式的值init_sq(sqlist*l)//初始化链表insert_sq(sqlist**p,inte,intbl)//链表插入操作chang(char*s,sqlist*l)//将用户的输入转化为单链

4、表check(sqlistl)//保证输入的数字是给出的四个数字Operate(inta,inttheta,intb)//计算49precede(charAop,charBop)//求运算符优先级ReturnOpOrd(charop,char*TestOp)//返回运算符优先级CalcOneExpress(intexpression[][2])//课本算法3.4--计算表达式的值Calc24(intnumber[2][4])//包含下面五个函数,即表达式的五种形式CalcArray1(intiNumInput[2][4])//a*b*c*d//7个字

5、符CalcArray2(intiNumInput[2][4])//(a*b)*c*d//9numberCalcArray3(intiNumInput[2][4])//(a*b*c)*d//9numberCalcArray4(intiNumInput[2][4])//(a*b)*(c*d)//11numbersCalcArray5(intiNumInput[2][4])//((a*b)*c)*d//11numbersEqual24(intn)//判定结果是否等于24gameinformation()//游戏介绍menu()//菜单main()//主函数

6、}ADT模块划分49Main()游戏介绍人算24点程序算24点计算24点并输出算式用户输入算式用户认为无法算出24点程序验证,输出正确或错误信息,用户继续玩程序验证,若能算出24点,则输出正确算式无法算出24点,输出错误信息3运行环境硬件环境:PC机软件环境:WindowsXPMicrosoftVisualC++6.04开发工具和编程语言开发工具:MicrosoftVisualC++6.0编程语言:C语言5详细设计(1)全局变量和栈,链表的定义intnumber[2][4];enum{eNumber=0,//操作数eOperator=1//算子};4

7、9intoper[7]={43,45,42,47,40,41,35};课本表3.1算符间的优先关系:unsignedcharPrior[7][7]={'>','>','<','<','<','>','>','>','>','<','<','<','>','>','>','>','>','>','<','>','>','>','>','>','>','<','>','>','<','<','<','<','<','=','','>','>','>','>','','>','>','<','<','<','<','<','','='};线性表的定义:ty

8、pedefstructsqlist{intbol;//bol是0时,num-ch是数字;bol是1时num_ch是运算符intnum_ch;structsqlist*next;}sqlist;栈的定义:typedefstructsqstack{int*base;int*top;intstacksize;}sqstack;49(2)main()函数及用户界面voidmain(){gameinformation();//输出作者信息menu();//输出功能菜单,游戏开始}用户界面如图1所示。(3)由程序计算24点的算法分析:用户输入四个1-13的数,代

9、表4张牌,程序算24点。这要考虑到各种情况。首先是加入括号,有以下5种可能的形式:.abcd.(ab)cd同

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。