#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,我想结束循环。请帮助解决我的问题。提前谢谢。
答案 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')
完全错了。