日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2024/1/1 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 扑克牌接龙游戏代码c语言,C++点扑克牌游戏(含源码).doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗設計方案

實驗內容與目的(簡單介紹實驗內容,說明實驗目的)

實驗目的:實現撲克牌游戲:對于任意的四個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]=='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

總結

以上是生活随笔為你收集整理的扑克牌接龙游戏代码c语言,C++点扑克牌游戏(含源码).doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。