我试图在 while 循环中输入 if 和 else 语句来读取数据。
以下是简化代码:
char customColor;
cin >> customColor;
while (!ws(file).eof())
{
file >> color;
if (customColor == color)
{
//////////////////
}
else
cout << "invalid color" << endl;
}
问题是控制台写了&#34;无效的颜色&#34;每当我输入的内容与文件中的内容不匹配时,我想要做的就是写出#34;无效的颜色&#34;只有当文本文件中的结果与我输入的颜色不匹配时。
我想知道是否有办法将其他语句放在 while 循环之外。
答案 0 :(得分:3)
您可以使用if else语句设置bool来检查文本文件中的结果是否与您输入的颜色相匹配。
char customColor;
cin >> customColor;
bool check = false;
while (!ws(file).eof())
{
file >> color;
if (customColor == color)
{
check = true;
}
}
if (!check)
{
cout << "invalid color" << endl;
}
答案 1 :(得分:2)
如果有任何方法将else语句放在while循环之外。
你不能直接这样做,但是你可以制作一个标志变量并为它做一些记账。
char customColor;
cin >> customColor;
bool matched = false;
while (!ws(file).eof())
{
file >> color;
if (customColor == color)
{
//////////////////
matched = true;
}
}
if (!matched) {
cout << "invalid color" << endl;
}