gpt4 book ai didi

c++ - break 退出程序 - C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:04 39 4
gpt4 key购买 nike

我是C++初学者,下面的程序很简单,但我不知道为什么当输入“EXIT”时,程序终止了,虽然它应该打印出之前输入的名字!

代码如下:

#include <iostream>
#include <string>
#include <set>

using namespace std;

int main()
{
set <string> myset;
set <string> :: const_iterator it;
it = myset.begin();

string In;
int i=1;

string exit("EXIT");

cout << "Enter EXIT to print names." << endl;

while(1)
{
cout << "Enter name " << i << ": " ;
cin >> In;

if( In == exit)
break;

myset.insert(In);
In.clear();
i++;
}


while( it != myset.end())
{
cout << *it << " " ;
it ++ ;
}

cout << endl;
}

提前致谢。

最佳答案

完成插入后,您需要再次确定集合的开头:

it = myset.begin();

应该在第二个 while 循环之前进行。


如果您能够使用 C++11 功能,请考虑使用基于范围的 for 循环。请注意,它不需要使用任何迭代器:

for( auto const& value : myset )
std::cout << value << " ";
std::cout << "\n";

如果您无法使用 C++11 功能,请考虑使用常规 for 循环。请注意,迭代器的范围仅限于 for 循环:

for(std::set<std::string>::const_iterator it=myset.begin(), end=myset.end(); 
it != end; ++it)
std::cout << *it << " ";
std::cout << "\n";

关于c++ - break 退出程序 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423402/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com