热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

扑克牌接龙游戏代码c语言,C++点扑克牌游戏(含源码).doc

实验设计方案实验内容与目的(简单介绍实验内容,说明实验目的)实验目的:实现扑克牌游戏:对于任意的四个1到13的整数(四张扑克牌)ÿ

实验设计方案

实验内容与目的(简单介绍实验内容,说明实验目的)

实验目的:实现扑克牌游戏:对于任意的四个1到13的整数(四张扑克牌),求能算出24的表达式;运算符有()+-*/;若无解则输出相应的信息。

实验内容:你的具体选择(要详细)

文件输入(input.txt)输出(output.txt),输出全部结果;

——————————————————————————————————————

2、实验准备工作(阐述解决问题所涉及的算法思想,至少要画一个算法流程图来说明)

本次实验相当于,给出四个数字,要求,在其间添加运算符和括号,使得计算结果等于24。

括号的放置即为决定哪几个数先进行计算。所以,我们先确定首先进行计算的两个相邻的数,计算完成后,就相当于剩下三个数字,仍需要在它们之间添加符号;然后再决定在这三个数中哪两个相邻的数先计算。由此,我们就成功解决了数字的运算次序问题,此时不需要再考虑不同运算符号的优先级问题,因为括号的优先级高于加减乘除。

通过循环,我们可以得到第一第二第三次计算的运算符,再通过计算,就可以得出和,若和等于24,即为所求解。

在输出格式中,由于括号的放置共六种情况,故根据计算先后顺序的不同,输出时在不同地方放置括号;

以下为循环计算的流程图:

表示循环获取;

表示计算数值

以下为计算函数的流程图:

——————————————————————————————————————

二、实验步骤、测试与结果分析

1、源程序的设计(在此附上源程序(cpp文件)清单)

#include

#include

#include

using namespace std;

char sign[4]={'+','-','*','/'};

//定义一个全局变量,用于储存加减乘除符号,方便下面符号判断

class game24point

//24点纸牌游戏类

{

private:

double a[4];

//为实现精确计算,防止计算结果为小数却被强制转换为整数,采用double变量

public:

game24point();

//构造函数

double calcute(double,double,char);

//计算函数,给出一个符号两个有顺序的数,计算结果

void search();

//搜索函数,用于寻找合适的解

void print();

//打印得到的四张纸牌的数值

};

game24point::game24point()

{

char ch[4];

//由于纸牌中除了数字还有AJQK等字符,故使用字符数组

ifstream infile("input.txt");

if(!infile)

//若打开失败

{

cout<

exit(1);

}

for(int i=0;i<4;i++) infile>>ch[i];

//在input文件中读取数据

cout<

cout<

cout<

cout<

cout<

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

{

if(ch[i]==&#39;A&#39;) a[i]=10;

else if(ch[i]==&#39;J&#39;) a[i]=11;

else if(ch[i]==&#39;Q&#39;) a[i]=12;

else if(ch[i]==&#39;K&#39;) a[i]=13;

else if(ch[i]==&#39;1&#39;) a[i]=1;

else if(ch[i]==&#39;2&#39;) a[i]=2;

else if(ch[i]==&#39;3&#39;) a[i]=3;

else if(ch[i]==&#39;4&#39;) a[i]=4;

else if(ch[i]==&#39;5&#39;) a[i]=5;

else if(ch[i]==&#39;6&#39;) a[i]=6;

else if(ch[i]==&#39;7&#39;) a[i]=7



推荐阅读
  • 《2017年3月全国计算机等级考试二级C语言上机题库完全版》由会员分享,可在线阅读,更多相关《2017年3月全国计算机等级考试二级C语言上机题库完全版( ... [详细]
  • C语言判断正整数能否被整除的程序
    本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ... [详细]
  • C语言自带的快排和二分查找
    Author🚹:CofCaiEmail✉️:cai.dongjunnexuslink.cnQQ😙:1664866311personalPage&#x ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • C语言常量与变量的深入理解及其影响
    本文深入讲解了C语言中常量与变量的概念及其深入实质,强调了对常量和变量的理解对于学习指针等后续内容的重要性。详细介绍了常量的分类和特点,以及变量的定义和分类。同时指出了常量和变量在程序中的作用及其对内存空间的影响,类似于const关键字的只读属性。此外,还提及了常量和变量在实际应用中可能出现的问题,如段错误和野指针。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • c语言基础编写,c语言 基础
    本文目录一览:1、C语言如何编写?2、如何编写 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
author-avatar
手机用户2502860763
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有