1、 课程设计报告 课程名称: C 语言程序设计 课题名称: 二十四点速算王游戏 专 业: 通信工程专业 班 级: 12 级通信工程 1 班 学 号: 姓 名: 指导教师: 目录目录 一、项目总体介绍一、项目总体介绍 二、需求分析二、需求分析 三、总体设计三、总体设计 四、详细设计四、详细设计 五、系统测试及结果分析五、系统测试及结果分析 六、总结六、总结 七、附件七、附件 八、参考文献八、参考文献 、 一、一、 项目总体介绍项目总体介绍 本项目主要设计一个 24 点游戏程序。 程序主 要负责实现随即发给出 4 个数,表达式运算,利 用加减乘除和括号基本算法来实现,计算机给出 解答,结果统计分析等
2、基本功能。游戏者先开始 游戏之后,系统随机给出 4 个整数,这 4 个整数 在 013 之间, 游戏者可输入算术运算表达式 (利 用+ - * / 运算) ,先判断表达式是否正确,计算是 否满足 24, 不正确的话游戏将给出正确的表达式 和结果,游戏者也可以放弃输入由游戏给出答案 或者退出游戏。 二、二、 需求分析需求分析 1 程序的功能程序的功能 游戏运行后自动产生 4 个数, 其中每个数字只 能用一次,任意使用+ - * /() ,构造出一个表达 式,使得起结果等于 24,这就是我的 24 点游戏。 在游戏者输入表达式的同时程序自动检测用户的 输入是否正确,是否是游戏给出的 4 个数,如果
3、 不是游戏会给出提示,重新输入或者退出游戏。 2输入和输出的要求输入和输出的要求 输入的运算符只能是+ - * /()这 6 个,输入 的整数必须是程序随机给出的 4 个数,并且每个 数都要用一次不能重复出现。当用户正确输入算 式后,游戏自动判断,判断完毕后求出结果并判 断是否为 24 ,给出游戏者是“对”还是“错” , 输入结束后问游戏者是否继续游戏,是则继续游 戏,否则退出游戏。 3.用户计算 24 点,计算机计算 24 点 三、三、 总体设计总体设计 1.算法描述算法描述 主要方法:主要方法:遍历和递归 2.主要思路主要思路 把输入的 4 个数放在一个数组 n【4】中,然后任取 2 个数
4、 (不能取同一个数) , 然后用一个 for 和一个 switch 语句来实现这两个数的加减乘除运算,然后把运算结 果放到另一个数组【4】中记录此运算的表达式(放到 一个大一点的数组 tm【4】 【25】中) ,同时把其他两 个没用到的数也该放在该数组中,然后重复以上过程 (用遍历来实现) , 最后判定是不是最后一层运算, 是 的话在判定最后结果是不是等于 24,等于 24 的话就 把运算式输出。 3.主要函数与数组主要函数与数组 主要有两个函数, 一个主函数, 用来输入 4 个数, 并且完成初始化, 还有一个 COUNT (float a ,char tem25,int n)函数,用来完成遍历,递归与输 出,其中 a中要存放输入的 4 个数,tem25中放计算步 骤,n 是 a中元素的个数。 四、四、 详细设计详细设计 本项目主要设计一个 24 点游戏程序。 程序主要负责实