当答案错误时重复一个问题
Repeating a question when answer is wrong
所以我基本上必须创建一个小测验,但我不确定当答案错误时,我会如何重新提问。我相信这是一个循环,但我不知道是哪一个。这就是我目前拥有的
#include <iostream>
using std::cin;
using std::cout;
int main() {
std::string answer;
cout << "Is K before T in the alphabet ?";
cin >> answer;
if (answer == "y") {
cout << "Well done!";
}
else {
cout << "Try again";
}
您可以使用一个简单的布尔控制变量:来执行类似的操作
int main()
{
std::string answer;
bool isCorrect = false;
while(isCorrect == false)
{ std::cout << "Is K before T in the alphabet ?";
std::cin >> answer;
if (answer == "y")
{
isCorrect = true;
std::cout << "Well done!";
}
else
{
std::cout << "Try again";
}
}
}
如果你计划有几个问题,你可以创建一个助手函数,然后为每个问题调用它:
bool inputValidation(std::string strQuestion, std::string strAnser) {
std::string userInput;
std::cout << strQuestion;
std::cin >> userInput;
while (true) {
if (userInput == strAnswer)) {
return true;
}
else {
std::cout << strQuestion;
std::cin >> userInput;
}
}
}
int main() {
bool correct = InputValidation("What is the answer?","42");
correct = InputValidation("Is K before T in the alphabet?", "yes");
}
然后,你可以把所有的问题和答案放在一张地图上,并使用for each循环来循环浏览每个问题和答案对。如果你需要多个输出,比如说;y"=="是=="1〃;,你可以通过vector<std::string>
作为答案。
相关文章:
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- 我在使用 boost::serialization 时遇到了一个问题,我的代码在 Linux 中运行良好,但在 Wind
- 在C++,重复申报仍然是一个问题吗?
- "Memory Fragmentation"这仍然是一个问题?
- 缺少类型说明符和另一个问题
- 在浮点精度成为一个问题之前,可以将多少个浮点值加在一起
- 关于使用C++结构的一个问题
- 关于骰子概率计算的一个C++问题
- 我想知道我将如何实现 + 运算符重载.我已经从我上一个问题中计算出 += 运算符重载
- 组合理论的一个问题
- 我有一个问题,创建了C 中阻塞队列的向量
- CreateFileWindows XP和7中存在一个问题
- 我是编码新手,我面临一个问题
- 在添加新记录和访问记录时有一个问题
- 专用纯虚拟模板函数(未定义引用)的另一个问题
- 在C++中,这个Eigen::张量的声明是安全的,还是有缺陷的?我应该为它提交一个问题吗
- 我如何让我的部分代码循环并重复一个问题,直到答案是有效的输入C++
- 我的程序停止工作,因为检测到一个问题