C++跳过功能

C++ skips function

本文关键字:功能 C++      更新时间:2023-10-16

我正在制作一个刽子手程序来练习我的功能。这是我测试函数的启动。出于某种原因,他跳过了字符猜测(字符猜测)函数;他唯一放在屏幕上的是"欢迎来到刽子手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!!nn";
    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;
}

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

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++中调用函数 say char guessing(char guess); 将是这样的:

char res = guessing('a');

调用函数时,无需指定返回类型或参数类型。

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

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

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

你需要调用

 guessing(guess);

char guessing(char guess);

试试这个,用这个替换你的检查函数:::

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

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