C++ 我在玩掷硬币游戏,但我不知道我的错误在哪里
您的代码中有相当多的错误,任何编译器都应该准确地告诉您这些错误是什么。首先,在cointost函数的末尾缺少一个}。类似地,您有这样一个if语句: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
#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)