Для циклических и параллельных массивов: необъявленный идентификатор - PullRequest
0 голосов
/ 11 февраля 2019

Я только начал изучать массивы, и у меня есть слабое представление о них.Попробовал сделать эту программу в лаборатории сегодня и продолжаю получать ошибку , что numJarsSold, typesOfSalsa и totalJarsSold являются необъявленными идентификаторами в MyFunctions.cpp .В Интернете я уже обнаружил, что у людей был один и тот же проект и они видели свой код, и я написал свой собственный, чтобы запускать только основной, но каким-то образом запустив его отдельно, мне удалось его сломать.Любая помощь будет оценена.Спасибо.

Main.cpp

#include "MyFunctions.h"
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;


int main()
{
const int SIZE = 5;

string typesOfSalsa[SIZE] = { "Mild", "Medium", "Sweet", "Hot", "Zesty" };
int numJarsSold[SIZE]; // Holds Number of Jars of Salsa sold for each type

int totalJarsSold = getJarSalesData(typesOfSalsa, numJarsSold);

displayReport(typesOfSalsa, numJarsSold, totalJarsSold);

system("pause");
return 0;
}

MyFunctions.cpp

#include "MyFunctions.h"
using namespace std;


int getJarSalesData(string typesOfSalsa[], int numJarsSold[])
{
    int totalJarsSold = 0;

    for (int type = 0; type < SIZE; type++)
    {
        cout << "Jars sold last month of " << typesOfSalsa[type] << ": ";
        cin >> numJarsSold[type];


        while (numJarsSold[type] < 0)
        {
            cout << "Jars sold must be 0 or more. Please re-enter: ";
            cin >> numJarsSold[type];
        }
        // Adds the number of jars sold to the total
        totalJarsSold += numJarsSold[type];
    }
    return totalJarsSold;
}

int posOfLargest(int array[])
{
    int indexOfLargest = 0;

    for (int pos = 1; pos < SIZE; pos++)
    {
        if (array[pos] > array[indexOfLargest])
            indexOfLargest = pos;
    }
    return indexOfLargest;
}

 int posOfSmallest(int array[])
{
    int indexOfSmallest = 0;
    for (int pos = 1; pos < SIZE; pos++)
    {
        if (array[pos] < array[indexOfSmallest])
            indexOfSmallest = pos;
    }
    return indexOfSmallest;
}

void displayReport(string[], int[], int)
{
    int hiSalesProduct = posOfLargest(numJarsSold);
    int loSalesProduct = posOfSmallest(numJarsSold);

    cout << endl << endl;
    cout << "     Salsa Sales Report \n\n";
    cout << "Name              Jars Sold \n";
    cout << "____________________________\n";
    cout << typesOfSalsa[0] << "                  " << numJarsSold[0] << "\n";
    cout << typesOfSalsa[1] << "                " << numJarsSold[1] << "\n";
    cout << typesOfSalsa[2] << "                 " << numJarsSold[2] << "\n";
    cout << typesOfSalsa[3] << "                   " << numJarsSold[3] << "\n";
    cout << typesOfSalsa[4] << "                 " << numJarsSold[4] << "\n";

    for (int type = 0; type < SIZE; type++)
    {
        cout << left << setw(25) << typesOfSalsa[type] << setw(10) << numJarsSold[type] << endl;
        cout << "\nTotal Sales: " << totalJarsSold << endl;
        cout << "High Seller: " << typesOfSalsa[hiSalesProduct] << endl;
        cout << "Low Seller: " << typesOfSalsa[loSalesProduct] << endl;
    }

}

MyFunctions.h

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;


int getJarSalesData(string[], int[]);
int posOfLargest(int[]);
int posOfSmallest(int[]);
void displayReport(string[], int[], int);

1 Ответ

0 голосов
/ 11 февраля 2019
In MyFunctions.cpp file the function := void displayReport(string[], int[], int) you didn't declared any variable name 
it should be like 
void displayReport(string typesOfSalsa[], int numJarsSold[], int totalJarsSold)
{
    // copy the code 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...