C++点扑克牌游戏(含源码).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验设计方案 实验内容与目的(简单介绍实验内容,说明实验目的) 实验目的:实现扑克牌游戏:对于任意的四个1到13的整数(四张扑克牌),求能算出24的表达式;运算符有()+-*/;若无解则输出相应的信息。 实验内容:你的具体选择(要详细) 文件输入(input.txt)输出(output.txt),输出全部结果; —————————————————————————————————————— 2、实验准备工作(阐述解决问题所涉及的算法思想,至少要画一个算法流程图来说明) 本次实验相当于,给出四个数字,要求,在其间添加运算符和括号,使得计算结果等于24。 括号的放置即为决定哪几个数先进行计算。所以,我们先确定首先进行计算的两个相邻的数,计算完成后,就相当于剩下三个数字,仍需要在它们之间添加符号;然后再决定在这三个数中哪两个相邻的数先计算。由此,我们就成功解决了数字的运算次序问题,此时不需要再考虑不同运算符号的优先级问题,因为括号的优先级高于加减乘除。 通过循环,我们可以得到第一第二第三次计算的运算符,再通过计算,就可以得出和,若和等于24,即为所求解。 在输出格式中,由于括号的放置共六种情况,故根据计算先后顺序的不同,输出时在不同地方放置括号; 以下为循环计算的流程图: 表示循环获取; 表示计算数值 以下为计算函数的流程图: —————————————————————————————————————— 二、实验步骤、测试与结果分析 1、源程序的设计(在此附上源程序(cpp文件)清单) #includeiostream #includefstream #includecmath 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打开文件input.txt失败!endl; exit(1); } for(int i=0;i4;i++) infilech[i]; //在input文件中读取数据 cout ##########################################endl; cout ## ##endl; cout ## 正在从input.txt中读取数据 ##endl; cout ## ##endl; cout ##########################################endl; for(i=0;i4;i++) { if(ch[i]==A) a[i]=10; else if(ch[i]==J) a[i]=11; else if(ch[i]==Q) a[i]=12; else if(ch[i]==K) a[i]=13; else if(ch[i]==1) a[i]=1; else if(ch[i]==2) a[i]=2; else if(ch[i]==3) a[i]=3; else if(ch[i]==4) a[i]=4; else if(ch[i]==5) a[i]=5; else if(ch[i]==6) a[i]=6; else if(ch[i]==7) a[i]=7; else if(ch[i]==8) a[i]=8; else if(ch[i]==9) a[i]=9; else { cout第

文档评论(0)

ipad0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档