我正在尝试使用数组存储大量数据。这是我的代码:
#include "stdafx.h"
#include <iostream>
using namespace std;
void main(){
char number[10];
int size = 0;
for (int i = 0; i < 10; i++){
std::cin >> number[i];
size++;
}
for (int i = 0; i < size; i++){
std::cout << "number[" << i << "]: " << number[i] << endl;
}
}
当我输入一个只有10位数的数字时,这样可以正常工作,但是如果我输入的数字小于那个数字,那么我的程序就会挂起,因为它等着我输入所有10位数字。
有没有办法检测用户按Enter键的时间?或者当用户输入整个数字时,某种方式告诉for循环中断?
答案 0 :(得分:0)
最好不带循环输入,因为这是一个数字,否则用户必须输入一个数字,然后输入一个空格或输入以输入下一个数字,依此类推。相反,用户希望在没有空格的情况下随时输入数字并输入。
但是在这种方法中,您将无法检查用户在输入期间是否提供有效数字!您必须再次遍历数字数组以检查每个数字!
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char number[10];
int size = 0;
cin >> number;
size=strlen(number); // number of digits entered
cout << "Number of digits entered: " << size << endl;
cout << "Entered Number is: " << number;
}