我試着去編譯這個和它說 (43):警告C4101:「工作」:未引用的局部變量陣列結構 - 未引用的局部變量的
我試圖工結構的陣列 寫4個功能 1.一個輸入工人結構數組 2.一個計算每個工人 結構在陣列中獲得的收益 3.一個輸出工人結構數組 4.一個用於統計已經工作的工人數量隨着時間的推移。返回答案通過函數調用
我不能刪除INT主)工作(否則它不會編譯的一切,這是我到目前爲止有:
#include <iostream>
using namespace std;
struct Worker
{
int idNumber;
int hoursWorked;
double hourlyRate;
double earned;
};
// function prototypes
void input(Worker [], const int);
void earnings(Worker [], const int);
void output(Worker [], const int);
int over(Worker [], const int);
int main() {
int overtime;
//const int numWorkers = number;
//work[];
//work[numWorkers];
Worker work;
int numWorkers;
cout << "How many workers are there?";
cin >> numWorkers;
Worker * workers = new Worker[numWorkers];
input(workers, numWorkers);
earnings(workers, numWorkers);
output(workers, numWorkers);
overtime = over(workers, numWorkers);
cout << "The number of workers who worked overtime is " << overtime << endl;
delete[] workers;
return 0;
}
void input(Worker f[], const int numPeople) {
for (int i = 0; i < numPeople; i++) {
cout << "Worker # " << i << endl;
cout << "Enter the id number: ";
cin >> f[i].idNumber;
cout << "Enter the hourly rate: ";
cin >> f[i].hourlyRate;
cout << "Enter the hours worked: ";
cin >> f[i].hoursWorked;
}
}
void earnings(Worker e[], const int numPeople) {
for (int i = 0; i < numPeople; i++) {
if (e[i].hoursWorked <= 40) {
e[i].earned = e[i].hourlyRate * e[i].hoursWorked;
}
else {
e[i].earned = (40 * e[i].hourlyRate) + ((e[i].hoursWorked - 40
((e[i].hourlyRate/2) + e[i].hourlyRate));
}
}
}
void output(Worker end[], const int numPeople) {
for (int i = 0; i < numPeople; i++) {
cout << "-------------------------" << endl;
cout << "Worker # " << i << endl;
cout << "Id number: " << end[i].idNumber << endl;
cout << "Hours worked: " << end[i].hoursWorked << endl;
cout << "Hourly rate: " << end[i].hourlyRate << endl;
cout << "Earned: " << end[i].earned << endl;
}
}
int over(Worker o[], const int numPeople) {
int overWorked = 0;
for (int i = 0; i < numPeople; i++) {
if (o[i].hoursWorked > 40) {
overWorked += 1;
}
}
return overWorked;
}
'工人工作;'你不使用'work' anywhere.Then你爲什麼不刪除此。 –
你使用什麼編譯器?我同意高拉夫,只是刪除工人的工作,並修正收入方法中不匹配的括號。 –
附註:使用'std :: vector'而不是原始數組 – UnholySheep