0

私は自分の機能を練習するために絞首刑執行人プログラムを作っています。これは、関数をテストするための私のスタートアップです。何らかの理由で、彼は関数charguessing(charguess)をスキップします。彼が画面に表示するのは、「WelcometoHangman2.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メンバー変数は必要なく、関数に引数を渡す必要もありません。

それとは別にchar guessing(char guess);、C++で関数sayを呼び出すと次のようになります。

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()、パラメータを受け入れるべきではなく、charを返すだけです。

于 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 に答える