我正在制作一个刽子手程序来练习我的功能。 这是我的测试功能的启动。 由于某种原因,他跳过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;
}
答案 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;
}
但你的函数猜测的参数是没用的......