当按enter键时,停止向数组中输入值
Stop entering values into array when enter is pressed
大家好,我在尝试实现程序的回车键部分时遇到了麻烦
int list[50];
int i = 0;
while (/*enter key has not been pressed*/&& i < 50){
cin>>list[i];
i++;
}
它的工作原理是,它将接受由空格分隔的整数并将它们存储到数组中。当按下回车键时,它应该停止接受输入。
PS我从我的手机发布这就是为什么我不能正确格式化文本。如果有任何语法问题,它可能只是被忽略设置,因为我只关心"enter key"部分。
你可以使用字符串流,基本上你将整行读入字符串,然后开始从字符串中读取整数到你的数组中。
当你按回车键时,读取字符串将终止,所以我认为这对你来说是可行的
#include <iostream>
#include <string>
#include <sstream>
using namespace :: std; // bad idea, I am just lazy to type "std" so much
int main (){
const int arrSize = 5;
int arr [arrSize] = {0}; //initialize arr zeros
string line;
getline(cin,line);
cout <<"you entered " << line<<endl; // just to check the string you entered
stringstream ss (line);
int i = 0;
while ( ss>>arr[i++] && i < arrSize); // this might look a bit ugly
for (int i =0; i < arrSize; i++) // checking the content of the list
cout<<arr[i]<<" ";
getchar();
return 0;
}
请注意,它不会测试用户的错误输入(如字母而不是数字)。
这里的关键是使用break
关键字。
int list[50];
int i = 0;
int input;
while (i < 50){
cin >> input;
if(input == 'n') break;
list[i] = input;
i++;
}
我猜你是编程新手,所以比较int
和char
对你来说可能有点奇怪。基本上,所有chars
也都是ASCII形式的int
。
相关文章:
- 检查TCHAR数组输入是否为带符号整数C++
- C++数组输入不接受一定数量的整数
- 为什么我的代码无法处理大型数组输入(>10000)?
- 我正在努力处理多维数组输入和输出,我管理输入,但是打印无法按计划工作
- 使用无符号字符数组输入十六进制数
- C++用用户输入在循环中填充 char 数组:输入整个字符串时到底发生了什么?
- 如何从用户获取数组输入
- C 2x2数组输入线
- 字符数组输入限制
- 将字符串数组输入到函数C++
- C++:如何将普通话(字符串)分配给用户使用数组输入的数字 &运算符问题
- 数组排序、数组输入、数组输出
- 将字符数组输入stdin
- 如何在 c++ 中为对象数组输入字符串
- 如何在c++ mex文件中访问多维数组输入
- 读取文件并将其作为整型数组输入
- 从c++文件中获取输入(矩阵数组输入)
- 数组输入不工作
- 函数结构数组输入cin问题
- 结束数组输入(c++行业标准)