Arrays Pointers and Functions II

I am trying to learn about pointers and arrays. In this program I playing with several concepts, however, I dont have the funtion right (I only included 1 of several). What am I doing wrong? Thanks much, Annie
#include <iostream>
#include "inputarray.cpp"
           /*struct input{double numCostPerPart; int numPublished;
            //double numSalCost; int numSold; double numRoyalPercent;
           double numHolePrice;};*/
#include "outputarray.cpp"
          /*struct output
          {double numTotalCost; double numSalValue; double numGrossProfit;
           double numRoyalty; double numProfit;};*/

using namespace std;
const int SIZE =3;  
void makeCalculations(input ainput[], int nSize);

int main()
{
      int n;
      
      input ainput[SIZE];    //declare array input
      output aoutput[SIZE];  //decalre array output
      
      
      for(n=0; n<SIZE; n++)  //loops  array
      {
            cout<<endl;

            cout<<"Enter cost of parts: ";
            cin>>ainput[n].numCostPerPart;
            cout<<"Enter number of parts published: ";
            cin>>ainput[n].numPublished;
            cout<<"Enter salvation cost of parts: ";   //inputs
            cin>>ainput[n].numSalCost;
            cout<<"Enter number of parts sold: ";
            cin>>ainput[n].numSold;
            cout<<"Enter Royalty Percentage: ";
            cin>>ainput[n].numRoyalPercent;
            cout<<"Enter wholesale cost of parts: ";
            cin>>ainput[n].numHolePrice;
      }
      cout << endl;
      makeCalculations(ainput, 1);
      
      for( n=0; n<SIZE; n++)  //loops  output array
      
      {
      cout << "Total Cost"<<aoutput[n].numTotalCost<<endl;
      cout <<"Salvation Value" <<aoutput[n].numSalValue<<endl;   // outputs
      cout <<"Gross Profit" << aoutput[n].numGrossProfit<<endl;
      cout <<"Royalty" << aoutput[n].numRoyalty<<endl;
      cout <<"Profit" << aoutput[n].numProfit<<endl;
      }
      system("pause");
      return EXIT_SUCCESS;
}

 
  void makeCalculations(input ainput[], int nSize)
  {

      double totalCost = 0;
     
        for (int n = 0; n < nSize; ++n)
        {
          totalCost += ainput[n].numCostPerPart;
             
         }
            ainput[n].numCostPerPart* totalCost;
  }
bananaamyAsked:
Who is Participating?
 
rstaveleyConnect With a Mentor Commented:
Start by passing your output array as a parameter to makeCalculations. When you pass an array as a parameter to a function, it is "passed by reference", which means that your function isn't passed a copy of the array, it is passed a reference to the array itself.
0
 
pankajtiwaryCommented:
Hi bananaamy,

I found many errors in the code. It seems to be written in Dev-C++ (just a thought). In the function why is the line 'ainput[n].numCostPerPart* totalCost;' out of the for loop? I think it should be calculated as a part of the loop. The error comes because the 'n' used in the line is finishes as soon as the loop finished. So, I take it inside the loop.

Please explain the problem that you are facing. Are you getting wrong results??

Cheers!
0
 
rstaveleyCommented:
Your makeCalculations doesn't store totalCost anywhere.

Try changing...

    ainput[n].numCostPerPart* totalCost

...to...

    ainput[n].numCostPerPart = totalCost;

Note also that you are passing size as 1 to this fnction in the calling code, which means that it will only operate on the first index of the array.
0
 
bananaamyAuthor Commented:
I am trying to learn this languge and have been experimenting with it for about 4 weeks. What I am tring to do is to see how  several things work together(pointers,arrays and functions). . I want to enter in data into an "input array" a specific amount of times,  I then want to pass the value to a function, preform several calculations, and pass the value of the output of that function to the "output array". I want the output array to display the answers to my calculations. What  I cant figure out is  how to make my functions work with pointers.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.