我刚开始学习编程,我有两个问题:
for
循环中,它表示下标值不是数组,
指针或矢量。-
#include <iostream>
#include <iomanip>
#include <stdio.h>
using namespace std;
const int SIZE = 100;
string inputString(string, int, int);
void clearCIN();
double inputDouble(string, double, double);
int inputInt(string, int, int, int);
int main(int argc, const char * argv[]) {
int empNo [SIZE];
string empName [SIZE];
double empPay[SIZE];
int userEntry = 0;
int count = 0;
int secom
cout << "Welcome to Employee management program";
for (count = 0 ; count < SIZE; count ++) {
userEntry = inputInt("please enter a employee number;", 0, 1000, -999);
if (userEntry == -999)
break;
else
empNo[count] = userEntry;
empName[count] = inputString ("Please enter a name (1-15 characters)", 1, 15);
empPay[count] = inputDouble ("Please enter the employee's pay)", 0, 100000);
}
cout << setw(9) << left << "Employee ID" << setw(9) << right << "Employee Name" << setw(9) << "Employee Salary" << endl;
cout << setw(9) << left << "======================" << setw(9) << right << "=========" << setw(9) << "=========" << endl;
cout << setw(9) << left << userEntry << setw(9) << right << empName << setw(9) << empPay << endl;
for (int secondCount = 0 ; secondCount < count; secondCount++) {
cout << setw(9) << left << userEntry [secondCount] << setw(9) << right << empName [secondCount] << setw(9) << empPay [secondCount] << endl;
return 0;
}
}
答案 0 :(得分:1)
您将userEntry
声明为int但尝试将其作为数组进行访问。这就是错误告诉你的。
答案 1 :(得分:0)
您打算打印empno[secondCount]
吗?
for (int secondCount = 0 ; secondCount < count; secondCount++) {
cout << setw(9) << left << empno [secondCount] << setw(9) << right << empName [secondCount] << setw(9) << empPay [secondCount] << endl;
应该编译。
作为旁注,您从未加入<string>
。您的程序可能并不抱怨,因为您所包含的标题中有一个包含它,但通常最好包含您正在使用的所有stl类型的标题。
答案 2 :(得分:0)
变量userEntry
被定义为标量对象
int userEntry = 0;
因此,在此语句中将下标运算符应用于此变量是没有意义的。
cout << setw(9) << left << userEntry [secondCount] << setw(9) << right << empName [secondCount] << setw(9) << empPay [secondCount] << endl;
考虑到这个陈述
cout&lt;&lt; setw(9)&lt;&lt;左&lt;&lt; userEntry&lt;&lt; setw(9)&lt;&lt;对&lt;&lt; empName&lt;&lt; setw(9)&lt;&lt; empPay&lt;&lt; ENDL;
除非你输出数组的第一个元素的地址,否则也没有任何意义。