C ++跳过功能

时间:2012-05-03 16:01:44

标签: c++ function

我正在制作一个刽子手程序来练习我的功能。 这是我的测试功能的启动。 由于某种原因,他跳过char猜测函数(char猜测); 他在屏幕上唯一放置的是“欢迎使用Hangman 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 个答案:

答案 0 :(得分: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 ++中调用函数说char guessing(char guess);将类似于:

char res = guessing('a');

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

您需要致电

 guessing(guess);

不是

char guessing(char guess);

答案 3 :(得分:0)

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

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

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