用Hangman C++中的字母替换占位符
Replacing place holders with letter in Hangman C++
现在我正在用C++制作一款Hangman游戏。我目前的问题是,我有一个字符串,它将替换文件中随机选择的单词,并将其替换为"*"。不幸的是,我的代码没有用正确的字母/单词替换它们,我已经用断点检查了单词是什么。请暂时忽略HANGMAN绘图,除非你已经指出如何在这个程序中执行它。如有任何帮助,我们将不胜感激。我的文本文件中包含以下单词:苹果橙色汽车卡车自行车猫狗蛇岩石短袜蓝色红色彩色
我的代码如下:
int wordFill(char guess, string theWordSecret, string&guessWord) //function for determing if you guess a letter contained
{
int i;
int hits = 0; //letter hits within the word
int many = theWordSecret.length();
for (i = 0; i < hits; i++)
{
if (guess == guessWord[i])
return 0;
if (guess == theWordSecret[i])
{
guessWord[i] == guess;
hits++;
}
}
return hits;
}
对于wordFill函数内部的启动器,For循环应该说
for (i = 0; i < many; i++)
代替
for (i = 0; i < hits; i++)
要替换神秘中的星号,如果用户猜测正确的字母,请添加以下代码
for (int replace = 0; replace < mystery.length(); replace++)
{
if (theWord[replace] == letter)
{
mystery[replace] = letter;
}
}
这应该(暂时)解决你所有的问题。
正如Rafi所指出的,您正在比较i < hits
,它当然相当于i < 0
还要注意你的代码行:
guessWord[i] == guess;
不是赋值:它是比较-小心==
而不是=
。
相关文章:
- 将模板与类模板扣除占位符参数匹配
- C++初始化 std::function 时如何将占位符绑定到引用/引用参数?
- Tensorflow C++ 占位符初始化
- std::bind 不会接受 bind 占位符的 std::cref - 为什么?
- qt 中的占位符
- 我可以在 c++ 中使用占位符作为数组的索引吗?
- 为什么协程不允许使用占位符返回类型?
- TensorFlow类占位符以及其他定义输入张量的方法
- QtLineEdit 占位符:如何让用户在插入模式下将字符 1 替换为 1
- 非类型模板参数中的占位符类型是否涉及作为模板参数传递的函数的重载解析?
- 是否可以使用自动占位符来推断非类型模板参数中的函数结果
- 如何使用 msgfmt 验证格式字符串中的位置表示法占位符
- 无法推断出占位符的概念
- 编译器错误boost :: asio ::占位符:: boost v1.69的错误
- std::绑定可变参数模板、绑定参数和占位符
- 尾随返回类型中的占位符类型的用途是什么
- 如何在折叠过程中获取成员类型的提升::mpl 占位符
- 将具有任意参数和占位符的函数存储在类中,然后再调用它
- MPL占位符在默认模板参数中替换
- 用Hangman C++中的字母替换占位符