C++ 我在玩掷硬币游戏,但我不知道我的错误在哪里

C++ 我在玩掷硬币游戏,但我不知道我的错误在哪里,c++,C++,您的代码中有相当多的错误,任何编译器都应该准确地告诉您这些错误是什么。首先,在cointost函数的末尾缺少一个}。类似地,您有这样一个if语句: #include <string.h> #include <iostream> #include <ctime> using namespace std; void CoinToss(int num, int &head, int &tail); int main() { sran

您的代码中有相当多的错误,任何编译器都应该准确地告诉您这些错误是什么。首先,在cointost函数的末尾缺少一个}。类似地,您有这样一个if语句:

#include <string.h>

#include <iostream>

#include <ctime>

using namespace std;

void CoinToss(int num, int &head, int &tail);

int main() {
    srand(time(0));

    int head = 0, tail = 0, count;
    string player1, player2;

    cout << "------------------Lets play coin toss!-------------\n";
    cout << "How many times do you want to toss?: "; cin >> count;
    cout << "Player1 do you want to be head or tails?: "; cin >> player1;
    //please type only heads or tails with s

    CoinToss(int count, &heads, tails);

    cout << "Heads:" << heads << "";
    cout << "Tails: " << tails << "";
    if (player1 == tails) {
        player2 = heads;
    }
    if (tail > head) {
        cout << "Player1 wins!"
    else {
        cout << "Player 2 wins!";
    }
    }

    else
    {
        player1 = heads;
        player2 = tails;
        {
            if (tail > head) {
                cout << "Player2 wins!";
            }
            else {
                cout << "Player 1 wins!";
            }
        }
    }
}

void CoinToss(int num, int &head, int &tail) {
    int random = rand() % 2 + 1;

    for (int i = 1; i < num; ++i) {
        random = rand() % 2 + 1;
        if (random == 1) {
            ++heads;
        }
        else {
            ++tails
        }
    }
这不是您调用方法的方式。应该是

CoinToss(int count, &heads, tails);
第三个问题,你似乎一直把头和头、尾巴和尾巴混在一起。在你的主要功能中,它被定义为头部;您可以保留此定义并修复其他引用,也可以将其更改为head并修复属于head的引用。尾巴/尾巴也一样,在你的硬币投掷方法中,你也有同样的问题

第四,你有

CoinToss(count, heads, tails);
其中player1是字符串,tail是int。不能将字符串与整数进行比较。这需要修正


还有更多,但在这一点上,我将让您使用编译器查找其余部分。

Hi Zaid,请你编辑一下你的问题,描述一下你遇到的错误,以及你到目前为止所做的尝试。很抱歉,这是我第一次来这里,我遇到了一个错误,说expected},但是我不知道这个}应该用在哪里,包括修复缩进,你可能会看到一些有趣的东西。我喜欢使用++头;-你是说++头;?尾巴也是。嗨,克里斯,非常感谢你的回答。我该怎么处理这些弦呢?我试图写的是,如果player1选择正面,player2选择反面,然后进行if语句。我也不确定Cointoswell的第二点,你可以完全去掉player2,然后对于你的if语句,你可以做if player1==tails…好的,至于函数调用,我是否在定义和声明中保留-,是的。所以,您仍然有空cointosint num、int&head、int&tail;对于声明/定义,但在调用它时,不需要再次指定类型(&R)。
CoinToss(count, heads, tails);
if (player1 == tail)