如何在输入整数时中断for循环?

时间:2017-03-27 07:00:18

标签: c++ iphone for-loop

#include <iostream>
#include <stdlib.h>

using namespace std;

int i;
int e;
int p;

char name[10] = {};
cout<<endl<<"Please enter the letters of your name separated by enter, when you are done, type 'quit' "<<endl;

for (e=0; e <= 10; e++)
{
    cin>>name[e];
    if (name[e] == 'quit')
    {
      break;

    }
}
for (p=0; p < ; p++)
{
    cout<<name[p];
}
return 0;
}

我希望用户输入的名称不超过10个字符,但如果用户输入quit,我想结束循环。请帮助解决我的问题。提前谢谢。

3 个答案:

答案 0 :(得分:0)

喜欢 -

#include <iostream>
#include <stdlib.h>
#include <vector>

using namespace std;

int i;
int e;
int p;

vector<string> name;
cout<<endl<<"Please enter the letters of your name separated by enter, when you are done, type 'quit' "<<endl;

while(1)
{
    string tmp;
    cin>>tmp;
    if (tmp == "quit")
    {
      break;

    }
    else if(tmp.size()>10)
    {
       cout<<"Enter name with less then 11 character"<<endl;
    }
    else
    {
       name.push_back(tmp);
    }
}
for (auto n : name)
{
    cout<<n<<endl;
}
return 0;
}

答案 1 :(得分:0)

使用getline。此外,您可以更轻松地使用std :: string来收集数据并检查输入的大小

答案 2 :(得分:0)

&#34;退出&#34;是一个字符串,它包含4个字符。你不能把它当成一个单一的角色。所以你必须使用双引号&#34;&#34;而不是单引号&#39;。 此外,此字符串保存在字符数组中,而不是单个char变量。所以

if (name[e] == 'quit')

完全错了。