字符数组格式
Char Array Formatting
我正在开发一款hangman游戏,其中错误的字母猜测存储在一个名为wrongletters
的字符数组中。当然,用户以零个错误字母开始游戏,因此wrongletters
数组在声明时保持为空。我遇到的问题是,当我试图显示错误的字母时,由于数组中的所有其他非值元素,字母向右间隔很远
预期:(猜测字母:A B C D)
当前:(猜测字母:(额外空格)A B C D)
有什么想法吗?(我知道游戏还不能正常运行):
void gameSequence() // Runs the hangman game loop
{
// Local and Global Variable Declaration and Initialization
char guessLetter = ' ';
guessWord = strToUpper(getNextWord());
string maskedWord(guessWord.size(), '_');
char wrongLetters[26] = {};
int numWrongLetters = sizeof(wrongLetters) / sizeof(wrongLetters[0]);
// Input, Process, and Output
cout << "nLet's PLAYnn";
for (int i = 0; i < maskedWord.length(); i++)
cout << maskedWord[i] << " ";
while (incorrectCount < 6)
{
drawHangman(incorrectCount);
cout << "<<<<<<<<<< MAKE A GUESS >>>>>>>>>>nn";
cout << "Guessed Letters: ";
for (int i = 0; i < 26; i++)
cout << wrongLetters[i] << " ";
cout << "nnEnter a letter to guess: ";
cin >> guessLetter;
cout << endl;
guessLetter = toupper(guessLetter);
for (int i = 0; i < maskedWord.length(); i++)
cout << maskedWord[i] << " ";
if (guessWord.find(guessLetter) != string::npos)
{
for (int i = 0; i < maskedWord.length(); i++)
{
if (maskedWord[i] == guessLetter)
maskedWord[i] = guessLetter;
}
}
else
{
incorrectCount++;
wrongLetters[incorrectCount] = guessLetter;
bubbleSort(wrongLetters, numWrongLetters);
}
if (incorrectCount == 6)
{
drawHangman(incorrectCount);
cout << "Sorry you lose - the word was: " << guessWord << endl << endl;
}
}
incorrectCount = 0;
}
据我所知,数组wrongletters
的开头包含迄今为止猜测的错误字母。因此,打印所有内容是没有意义的,尤其是对所有内容进行排序。
因此,您应该更改:
for (int i = 0; i < incorrectCount; i++) // incorrectCount replaced 26
cout << wrongLetters[i] << " ";
...
else
{
incorrectCount++;
wrongLetters[incorrectCount] = guessLetter;
bubbleSort(wrongLetters, incorrectCount+1); // incorrectCount replaced numWrongLetters
}
否则,当对所有数组进行排序时,空格会先出现在错误的字母之前。
因为即使您的char序列为空,您也会在循环中要求在错误的Letters[i]后面显示一个空格。将"替换为endl,您将拥有
A
B
C
D
相关文章:
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- 浮点格式数组的平均值
- 将'\x00\x00\x00'格式的字符串转换为无符号字符数组
- 如何将 numpy 二维数组作为一种可以用C++读取的二进制格式存储在磁盘上
- 如何将 2d 数组转换为 svg 或 png 格式的数独图像?
- 如何以指针格式表示多维数组?
- 如何使用 PPM 格式的 uchar* 数组填充 QPixmap
- 在格式正确的 char 数组中构造对象
- Python API用于解析包含数组格式的protobuf数据的二进制文件
- 从字节数组加载 QImage,而无需知道格式
- 如何从文件中读取并将内容存储在动态 2D 数组中并以网格格式显示
- 如何将WSTRING中的Unix时间戳转换为char数组中格式的日期
- 具有挑战性的数据文件格式,需要将其读取为包含类对象的数组的VAR
- LLDB数据格式和C数组
- 使用特定格式检查字符数组值
- 以树格式打印堆数组
- 格式化二维数组的标准偏差代码时遇到问题
- 函数模板中数组的 C/C++ 格式正确
- 基本数组格式的二叉搜索树
- 二维数组C++中的输入格式