0

我正在制作一个刽子手程序来练习我的功能。这是我开始测试一个功能。出于某种原因,他跳过了函数 char guessing(char guess); 他在屏幕上放的唯一的东西是“欢迎来到刽子手2.0”这句话和“这就是你输入的”这句话。如果你知道什么是错的,你能告诉我为什么它是错的。因为我 15 岁,我喜欢学习东西。

这是我的代码:

#include <iostream>
#include <string>
#include <ctime>
#include <cctype>
#include <vector>
#include <algorithm>

using namespace std;


char guess;

char guessing(char guess);
void check();

int main()
{
    cout <<"Welcome to Hangman 2.0. Enjoy, have fun and good luck!!\n\n";

    check();

    return 0;
}



char guessing(char guess)
{
    cout <<"Enter a guess: ";
    cin >> guess;

    return guess;
}

void check()
{
    char guessing(char guess);
    cout <<"This is what you entered: ";
    cout << guess;
}
4

4 回答 4

1

您没有正确调用您的函数,请尝试:

void check()
{
    char ch = guessing();
    cout <<"This is what you entered: ";
    cout << ch;
}

并像这样修改您的猜测功能:

char guessing()
{
    char guess;
    cout <<"Enter a guess: ";
    cin >> guess;

    return guess;
}

这样您就不需要guess成员变量,也不需要将参数传递给您的函数。

除此之外,在 C++ 中调用函数 saychar guessing(char guess);将类似于:

char res = guessing('a');

调用函数时不指定返回类型或参数类型。

于 2012-05-03T16:06:03.593 回答
1

你的check()函数不正确,你在这里定义了一个函数而不是调用一个函数。你要:

void check()
{
    char c = guessing();
    cout << "This is what you entered: " << c;
}

然后guessing()不应该接受参数,它应该只返回一个字符。

于 2012-05-03T16:06:32.400 回答
0

试试这个,用这个:::替换你的检查功能

void check()
{
    char guess;
    guess = guessing(guess);
    cout <<"This is what you entered: ";
    cout << guess;
}

但是你的函数猜测的参数是没用的......

于 2012-05-03T16:15:42.763 回答
0

你需要打电话

 guessing(guess);

不是

char guessing(char guess);
于 2012-05-03T16:05:48.260 回答