算24游戏c语言程序报告,c程序课程设计报告(24点游戏).doc

c程序课程设计报告(24点游戏)

课程设计报告

课程名称: C语言程序设计

课题名称: 二十四点速算王游戏

专 业: 通信工程专业

班 级: 12级通信工程1班

学 号: 2012167144

姓 名: 杨发斌

指导教师: 董万归

数学与计算机学院

目录

一、项目总体介绍

二、需求分析

三、总体设计

四、详细设计

五、系统测试及结果分析

六、总结

七、附件

八、参考文献

项目总体介绍

本项目主要设计一个24点游戏程序。程序主要负责实现随即发给出4个数,表达式运算,利用加减乘除和括号基本算法来实现,计算机给出解答,结果统计分析等基本功能。游戏者先开始游戏之后,系统随机给出4个整数,这4个整数在0~13之间,游戏者可输入算术运算表达式(利用+ - * / 运算),先判断表达式是否正确,计算是否满足24,不正确的话游戏将给出正确的表达式和结果,游戏者也可以放弃输入由游戏给出答案或者退出游戏。

需求分析

程序的功能

游戏运行后自动产生4个数,其中每个数字只能用一次,任意使用+ - * /(),构造出一个表达式,使得起结果等于24,这就是我的24点游戏。在游戏者输入表达式的同时程序自动检测用户的输入是否正确,是否是游戏给出的4个数,如果不是游戏会给出提示,重新输入或者退出游戏。

2.输入和输出的要求

输入的运算符只能是+ - * /()这6个,输入的整数必须是程序随机给出的4个数,并且每个数都要用一次不能重复出现。当用户正确输入算式后,游戏自动判断,判断完毕后求出结果并判断是否为24 ,给出游戏者是“对”还是“错”,输入结束后问游戏者是否继续游戏,是则继续游戏,否则退出游戏。

3.用户计算24点,计算机计算24点

总体设计

算法描述

主要方法:遍历和递归

主要思路

把输入的4个数放在一个数组n【4】中,然后任取2个数(不能取同一个数),然后用一个for和一个switch语句来实现这两个数的加减乘除运算,然后把运算结果放到另一个数组【4】中记录此运算的表达式(放到一个大一点的数组tm【4】【25】中),同时把其他两个没用到的数也该放在该数组中,然后重复以上过程(用遍历来实现),最后判定是不是最后一层运算,是的话在判定最后结果是不是等于24,等于24的话就把运算式输出。

3.主要函数与数组

主要有两个函数,一个主函数,用来输入4个数,并且完成初始化,还有一个COUNT(float a[] ,char tem[][25],int n)函数,用来完成遍历,递归与输出,其中

a[]中要存放输入的4个数,tem[][25]中放计算步骤,n是a[]中元素的个数。

详细设计

本项目主要设计一个24点游戏程序。程序主要负责实现随即发给出4个数,表达式运算,利用加减乘除和括号基本算法来实现,计算机给出解答,结果统计分析等基本功能。游戏者先开始游戏之后,系统随机给出4个整数,这4个整数在0~13之间,游戏者可输入算术运算表达式(利用+ - * / 运算),先判断表达式是否正确,计算是否满足24,不正确的话游戏将给出正确的表达式和结果,游戏者也可以放弃输入由游戏给出答案或者退出游戏。

#include

#include

#include

#include

#include

#include

#define MAX 4;

int k=0;char tp[4]={0,0,0,0},tpt[2000]={0},tptt[2000]={0},tre[2000]={0};char op[4]={'+','*','-','/'};

void count(float a[],char tem[][25],int n);

int q=0,p=0,e=0,w=0,t=0,r=0,g=0,h=0,v=0,u=0,tu=0,te=0;

float group[2]={0,0},flow[20]={0},flo[20]={0};

void main()

{

char br=1;

int d;

while (br==1)

{ float number[4];

char temp[4][25];

cout<

cout<

for(d=0;d<4;d++)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值