我正在编写一个代码来计算使用数组的七名员工的总薪酬。这是我到目前为止所拥有的
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
//Set all constants and variables
const int SIZE = 7; //Size of all arrays
int emID[SIZE] = {1234, 4563, 8765, 4568, 9867, 9235, 7684};
double Hours[SIZE],
Rate[SIZE],
Gross[SIZE];
int index;
Gross[index] = (Hours[index] * Rate[index]);
//Explain Program
cout << "This program calculates an employees gross pay\n";
for (Hours[index];index <= 6; index++)
{
cout << "How many hours did employee " << emID[index] << " work?\n";
cin >> Hours[index];
}
for (Rate[index]; index <= 6; index++)
{
cout << "Enter the pay rate for " << emID[index] << endl;
cin >> Rate[index];
}
for (Gross[index]; index <=6 ; index++)
{
cout << "The gross pay for " << emID[index] << " is " << Hours[index] * Rate[index];
}
}
不幸的是,程序在第一个“for”循环后终止。有什么建议吗?
答案 0 :(得分:2)
您的代码中似乎有一些错误,我在下面指出。
index
是单元化的,您使用它的方式会导致未定义的行为。我认为你的意思是初始化为0.
您应该在index
循环之间将0
的值重置为for
。目前,您将在第一个for
循环中进行迭代。之后,由于index
将为> 6
,因此您的代码不会执行其他两个for
循环。
for
循环声明中的第一个术语是错误的。我想你打算在那里宣布index = 0
。如果没有,你应该把它留空。
您计算Gross[index]
的开头附近的行是错误且多余的。