卡在 if 语句中,以检查列表中的数字
Stuck in an if Statement, to check Numbers which are in a List
我是C++的新手,但我希望每个人都能理解问题。所以我用数字制作了一个列表,可以存储在该列表中。但是每次我想用 KeyState 检查我的列表中有什么时,它都会一直循环。
cout << "Which Number do you want to Store?" << endl;
int newNum;
cin >> newNum;
numberContainer.push_front(newNum);
cout << "To Show Numbers you stored press N" << endl;
if (GetKeyState(0x4E))
{
//Show all Numbers which are stored
Dump();
}
这就是我的转储方法
for (int i = 1; i < numberContainer.size(); i++)
{
cout << "Position: " << i;
for (it = numberContainer.begin(); it != numberContainer.end(); it++)
{
cout << " stored Number: " << *it << endl;
break;
}
}
最后我有一个 GameLoop 方法,它有一个 while,其中是我存储数字的第一种方法
GetKeyState
没有阻塞。因此,在您的程序中,用户必须在提交号码后立即按键。如果用户未能执行此操作,则会提示下一个数字。
也许这给了你想要的:
cout << "Which Number do you want to Store?" << endl;
int newNum;
cin >> newNum;
numberContainer.push_front(newNum);
char key;
do {
cout << "Enter 'N' to show the numbers you have stored or 'C' to continue adding numbers." << flush;
cin >> key;
if (key == 'N') {
//Show all Numbers which are stored
Dump();
}
} while (key != 'C');
此外,我建议您添加一些退出选项,例如if (key == 'Q') exitOuterLoop = true;
。
顺便说一句,您的Dump()
函数是完全错误的。
(次,因为它从 1 循环到(大小-1(,并在无条件脱离内部循环之前输出内部循环中的第一个元素。这完全没有意义。
我想它应该看起来像这样:
for (size_t i = 0; i < numberContainer.size(); i++) {
cout << "Position: " << (i+1)
<< " stored Number: " << numberContainer[i] << endl;
}
或者 - 如果您的容器不支持随机访问:
{
unsigned int i = 0;
for (auto const & element : numberContainer) {
++i;
cout << "Position: " << i
<< " stored Number: " << element << endl;
}
}
相关文章:
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 试图在c++中对数字列表进行排序
- 如果我不知道每个列表中有多少个数字,我如何将给定数量的数字列表作为输入?
- 如何优化代码以返回最接近给定整数的数字,但给定列表中不存在?
- 按唯一标识符描述数字列表
- 从小于或等于某个 N 的数字列表中最小化或找到 n 个理想的子集和
- C++ 分段错误:11 错误,同时编码将两个数字相加的链接列表
- 用于筛子的最佳数据结构是什么(即一些被划掉的数字列表)?
- 最大数量.给定一个非负整数列表,排列它们以使它们形成最大的数字
- 从(排序的)数字列表中获取数字范围
- 如何在C++中创建 2d 数组,其中一部分包含循环计数器,另一部分包含数字列表?
- 如何在C++中创建数字列表,以便它可以选择一个随机数?
- C - 将数字添加到列表中?(就像python)
- 可以将数字的大括号列表用作传递给可变参数函数(或构造函数)的参数吗?
- 输入正整数或负整数列表,以使用开关函数 c++ 确定数字是偶数还是奇数
- 使用数字列表和算术运算获取目标数字
- 如何通过C 从数字列表中以3位数字生成数字
- 成员初始化列表中初始化的向量与传递给构造函数的数字不同
- 卡在 if 语句中,以检查列表中的数字
- 在 c++ 中将数字从列表排序到数组中的气泡排序问题