| | |
Need Help Revising Array program: Visual C++
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Feb 2005
Posts: 7
Reputation:
Solved Threads: 0
i got the program to work without any errors before i started to try to get the sort function to work in the main. function.
I need to get the function call for the sortIndex.cpp to work so i can sort the user output by descending order of profit.
The sort function has 5 arguments and i am getting confused on how to get it to work right.
I also need to get the numbers that print out the Average to have only two places after the decimal. The last problem is getting the columns of numbers in the tables to line up.
The errors im getting are:
G:\CSIS240\LAB 04\main.cpp(115) : error C2660: 'sortIndex' : function does not take 3 parameters i know there are 5 paramaters
sortIndex.cpp
G:\CSIS240\LAB 04\sortIndex.cpp(9) : error C2082: redefinition of formal parameter 'k'
Here is my code:
I need to get the function call for the sortIndex.cpp to work so i can sort the user output by descending order of profit.
The sort function has 5 arguments and i am getting confused on how to get it to work right.
I also need to get the numbers that print out the Average to have only two places after the decimal. The last problem is getting the columns of numbers in the tables to line up.
The errors im getting are:
G:\CSIS240\LAB 04\main.cpp(115) : error C2660: 'sortIndex' : function does not take 3 parameters i know there are 5 paramaters
sortIndex.cpp
G:\CSIS240\LAB 04\sortIndex.cpp(9) : error C2082: redefinition of formal parameter 'k'
Here is my code:
C++ Syntax (Toggle Plain Text)
// Output needs to be sorted // Need to document function arguments and return values #include <iostream> using std::cin; using std::cout; using std::endl; #include <iomanip> using std::setprecision; // sets numeric output precision using std::setw; float boxSurfaceArea(float, float, float); float calcTotal(float[], int); float calcAverage (float[], int, int); float boxCost (int, float); float boxProfit (float, float); float boxPrice (int, float, float); void sortIndex (int[], float [], int, int); int number = 0; int main() { const int arraySize = 25; int i, type, numberOfBoxes = 0, boxType[arraySize]; int index[arraySize]; float length[arraySize], width[arraySize], height[arraySize]; float surfaceArea[arraySize]; float cost[arraySize]; float profit[arraySize]; float price[arraySize]; float hold[arraySize]; //just added do { cout << "Enter a box type ( 1 - 4) or 0 to exit: "; cin >> type; switch(type) { case 0: for(i = 0; i < numberOfBoxes; i++) index[i] = i; cout << "Type Length Width Height Area Cost Price Profit"<< endl; for(i = 0; i < numberOfBoxes; i++) cout << setw(2) << boxType[index[i]] << setw(8) << length[index[i]] << setw(8) << width[index[i]] << setw(8) << height[index[i]] << setw(8) << surfaceArea[index[i]] << setw(8) << cost[index[i]] << setw(8) << price[index[i]] << setw(8) << profit[index[i]] << endl; cout << "Totals" // calculates totals for box values << setw(28)<< calcTotal(surfaceArea, numberOfBoxes)//area << setw(8) << calcTotal(cost, numberOfBoxes) //cost << setw(8) << calcTotal(price, numberOfBoxes)//price << setw(8) << calcTotal(profit, numberOfBoxes)//profit << endl; cout << "Average" //setprecision( 2 ) // calculates averages for box values << setw(28) << calcAverage(surfaceArea, numberOfBoxes, number)//area << setw(8) << calcAverage(cost, numberOfBoxes, number) //cost << setw(8) << calcAverage(price, numberOfBoxes, number)//price << setw(8) << calcAverage(profit, numberOfBoxes, number) //profit << endl; break; case 1: case 2: case 3: case 4: boxType[numberOfBoxes] = type; cout << "Enter length: "; cin >> length[numberOfBoxes]; cout << "Enter width: "; cin >> width[numberOfBoxes]; cout << "Enter height: "; cin >> height[numberOfBoxes]; surfaceArea[numberOfBoxes] = boxSurfaceArea(length[numberOfBoxes], width[numberOfBoxes], height[numberOfBoxes]); cost[numberOfBoxes] =boxCost(boxType[numberOfBoxes], surfaceArea[numberOfBoxes]); //type //area price[numberOfBoxes] =boxPrice(boxType [numberOfBoxes],surfaceArea[numberOfBoxes],cost [numberOfBoxes]); //type //area profit[numberOfBoxes] =boxProfit(cost[numberOfBoxes], price[numberOfBoxes]); sortIndex(profit [numberOfBoxes],hold[numberOfBoxes],number); //to sort by profit // int n - the number of values ; int k - sort type 1. ascending , 2. descending numberOfBoxes++; break; default: cout << "\n\n***Invalid box type***\n" << endl; } // end switch number = number+1; // I couldn't figure out any other way to get the average to work } while (type != 0); return 0; }
C++ Syntax (Toggle Plain Text)
// Lab 4 - boxSurfaceArea Function float boxSurfaceArea(float length, float width, float height) //function for area of box. { float surfaceArea = 2 * ( (length * width) + (width * height) + (length * height) ); return surfaceArea; } // end surfaceArea function // Lab 4 - boxCost Function //type //area float boxCost (int type, float surfaceArea) { float cost = 0; //type switch (type) { case 1: cost = (.11 * surfaceArea)//Wood cost + (.09 * surfaceArea) //Labor cost + (2.25); //Hardware cost break; case 2: cost = (.13 * surfaceArea)//Wood cost + (.11 * surfaceArea) //Labor cost + (3.15); //Hardware cost break; case 3: cost = (.14 * surfaceArea)//Wood cost + (.26 * surfaceArea) //Labor cost + (4.00); //Hardware cost break; case 4: cost = (.17 * surfaceArea)//Wood cost + (.22 * surfaceArea) //Labor cost + (4.95);//Hardware cost break; } //type while (type !=0) return cost; } // end Boxcost function // Lab 4 - boxPrice Function float boxPrice (int type, float area, float cost) //Function prototype { float price = 0; switch (type) { case 1: price = (cost + (.25 * area)); break; case 2: price = (.50 * area) + 5.25; break; case 3: price = cost + (.36 * area) + 7.50; break; case 4: price = cost + (.32 * area) + 6.25; break; } return price; } // end boxPrice function // Lab 4 - Profit Function float boxProfit (float cost, float price) //Function prototype { float profit = 0; profit = ( price - cost); return profit; } // end boxProfit function //Function to calculate the average of a list of variables float calcAverage (float a[], int n, int number)// float a[] - a list of values to total // int n - number of values { float total = 0; int numberOfBoxes = 0; for (int i =0; i < n; i++) total+= a[i]; float average = (total / (number)); return average; }//end calcAverage function // Function to calculate the total of a list of values. float calcTotal (float a[], int n) // float a[] - a list of values to total // int n - number of values { float total = 0; for (int i =0; i < n; i++) total+= a[i]; return total; } // end calcTotal function
C++ Syntax (Toggle Plain Text)
// function to sort table of values void sortIndex (int[], float a[], int n, int k)// int[] - a list of indexes that will be sorted with the sort values. { // float [] - the list of values to sort. // int n - the number of values ; int k - sort type 1. ascending , 2. descending int m; int k = 0, number = j; float hold; if(number == 2) { //ascending sort //k temprorary location of array in order swap for (m = 0; k < n; m++) { for (k = 0; k < n; k++) // { if ( a[k] > a[k+1] ) { hold = a[k]; a[k] = a[k+1]; a[k+1] = hold; } // end if }//end for }//end for } if(number == 1) { //descending sort for (m = 0; k < n; m++) { for (k = 0; k < n; k++) // { if ( a[k] < a[k+1] ) { hold = a[k]; a[k] = a[k+1]; a[k+1] = hold; } // end if }//end for } //end for } //end if num == 1 }
C++ Syntax (Toggle Plain Text)
int number = 0; float profit[arraySize]; float hold[arraySize]; //just added
C++ Syntax (Toggle Plain Text)
sortIndex(profit [numberOfBoxes],hold[numberOfBoxes],number); //to sort by profit
C++ Syntax (Toggle Plain Text)
void sortIndex (int[], float a[], int n, int k)// int[] - a list of indexes that will be sorted with the sort values. { // float [] - the list of values to sort. // int n - the number of values ; int k - sort type 1. ascending , 2. descending
Regarding the redefinition...
void sortIndex (int[], float a[], int n, int k)// int[] - a list of indexes that will be sorted with the sort values. { // float [] - the list of values to sort. // int n - the number of values ; int k - sort type 1. ascending , 2. descending int m; int k = 0, number = j;
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
![]() |
Similar Threads
- array program, dont know where to even begin! (C)
- Need help displaying my array (C++)
- Array program (C++)
- First program in a long time, need help (C++)
- help...one-dimensional array averaging program (C++)
- Is This an Array Program??? (C++)
- Visual C++ program compiles, but won't run (C++)
Other Threads in the C++ Forum
- Previous Thread: having trouble with arrays
- Next Thread: How do I...call other programs?
| Thread Tools | Search this Thread |
Tag cloud for C++
api application array arrays assignment beginner binary bitmap c++ c/c++ calculator char char* class classes code coding compile compiler console conversion convert count data database delete developer display dll email encryption error file forms fstream function functions game generator getline givemetehcodez graph homeworkhelper iamthwee ifstream image input int java lazy lib loop looping loops map math matrix memory multidimensional multiple newbie news node number numbertoword output parameter pointer problem program programming project proxy python random read recursion recursive reference return sorting string strings struct template templates text tree url variable vector video visual visualstudio win32 windows winsock word wordfrequency wxwidgets






