将 cin 与数组一起使用
Using cin with arrays
我正在尝试获取两个数组的用户输入。我收到错误,没有运算符匹配这些操作数。为什么我的 cin 函数不起作用?
#include <iostream>
using namespace std;
int main()
{
string canadates[5];
int votes[5];
double percent[5];
int i;
while (i <= 5) {
cin<< canadates << votes;
}
}
你的代码有很多问题。
首先,cin
使用与 cout
不同的运算符。
cin >> canadates >> votes;
其次,也是编译器错误的一部分 - 您无法读入整个数组。您需要读入数组的 单个元素 。如何访问单个数组元素?
cin >> canadates[i] >> votes[i];
第三,你的循环是无限循环,因为i
永远不会改变。
while (i <= 5) {
cin >> canadates[i] >> votes[i];
i++;
}
第四,i
被单元化了——它有不确定的值。总是初始化你的变量。
int i = 0;
while (i <= 5) {
cin >> canadates[i] >> votes[i];
i++;
}
第五,C++中的数组使用从零开始的索引,这意味着第一个可能的索引是0
,最后一个可能的索引是arraySize - 1
。访问 5
元素数组中的元素 5
是错误的。
int i = 0;
while (i < 5) {
cin >> canadates[i] >> votes[i];
i++;
}
如果使用 for
循环,第 3 点和第 4 点更容易避免。它的语法让您记住所有这些小事。
for(int i = 0; i < 5; i++) {
cin >> canadates[i] >> votes[i];
}
看到了吗?两个问题都在一行中解决,你需要 3 个语句,编译器会检查(但编译器不会阻止你搬起石头砸自己的脚——3 个语句中的每一个都可能是空的,或者你仍然可能错误地使用它们)。如果你在心理上定下 i <= something
高度可疑的规则,你也可以更轻松地避免第 5 次。
我不想阻止您编程,但 C++ 是一种很难的语言。如果没有 a good book/tutor,你将无法学习它,尤其是“代码看起来合理”或“代码编译”在这里毫无意义。
我正在尝试获取两个数组的用户输入。我收到错误,没有运算符匹配这些操作数。为什么我的 cin 函数不起作用?
#include <iostream>
using namespace std;
int main()
{
string canadates[5];
int votes[5];
double percent[5];
int i;
while (i <= 5) {
cin<< canadates << votes;
}
}
你的代码有很多问题。
首先,cin
使用与 cout
不同的运算符。
cin >> canadates >> votes;
其次,也是编译器错误的一部分 - 您无法读入整个数组。您需要读入数组的 单个元素 。如何访问单个数组元素?
cin >> canadates[i] >> votes[i];
第三,你的循环是无限循环,因为i
永远不会改变。
while (i <= 5) {
cin >> canadates[i] >> votes[i];
i++;
}
第四,i
被单元化了——它有不确定的值。总是初始化你的变量。
int i = 0;
while (i <= 5) {
cin >> canadates[i] >> votes[i];
i++;
}
第五,C++中的数组使用从零开始的索引,这意味着第一个可能的索引是0
,最后一个可能的索引是arraySize - 1
。访问 5
元素数组中的元素 5
是错误的。
int i = 0;
while (i < 5) {
cin >> canadates[i] >> votes[i];
i++;
}
如果使用 for
循环,第 3 点和第 4 点更容易避免。它的语法让您记住所有这些小事。
for(int i = 0; i < 5; i++) {
cin >> canadates[i] >> votes[i];
}
看到了吗?两个问题都在一行中解决,你需要 3 个语句,编译器会检查(但编译器不会阻止你搬起石头砸自己的脚——3 个语句中的每一个都可能是空的,或者你仍然可能错误地使用它们)。如果你在心理上定下 i <= something
高度可疑的规则,你也可以更轻松地避免第 5 次。
我不想阻止您编程,但 C++ 是一种很难的语言。如果没有 a good book/tutor,你将无法学习它,尤其是“代码看起来合理”或“代码编译”在这里毫无意义。