Question
need this c++ program to replace its function's parameters with pointers except the array dimension. /* // This program produces a sales report for DLC,
need this c++ program to replace its function's parameters with pointers except the array dimension.
/* // This program produces a sales report for DLC, Inc. #include
// Function prototypes void calcSales(const int[], const double[], double[], int); void showOrder(const double[], const int[], int); void dualSort(int[], double[], int); void showTotals(const double[], const int[], int);
// NUM_PRODS is the number of products produced. const int NUM_PRODS = 9;
int main() { // Array with product ID numbers int id[NUM_PRODS] = { 914, 915, 916, 917, 918, 919, 920, 921, 922 }; // Array with number of units sold for each product int units[NUM_PRODS] = { 842, 416, 127, 514, 437, 269, 97, 492, 212 }; // Array with product prices double prices[NUM_PRODS] = { 12.95, 14.95, 18.95, 16.95, 21.95, 31.95, 14.95, 14.95, 16.95 }; // Array to hold the computed sales amounts double sales[NUM_PRODS]; // Calculate each product's sales. calcSales(units, prices, sales, NUM_PRODS); // Sort the elements in the sales array in descending // order and shuffle the ID numbers in the id array to // keep them in parallel. dualSort(id, sales, NUM_PRODS); // Set the numeric output formatting. cout << setprecision(2) << fixed << showpoint; // Display the products and sales amounts. showOrder(sales, id, NUM_PRODS); // Display total units sold and total sales. showTotals(sales, units, NUM_PRODS);
system("pause"); return 0; }
//**************************************************************** // Definition of calcSales. Accepts units, prices, and sales * // arrays as arguments. The size of these arrays is passed * // into the num parameter. This function calculates each * // product's sales by multiplying its units sold by each unit's * // price. The result is stored in the sales array. * //****************************************************************
void calcSales(const int units[], const double prices[], double sales[], int num) { for (int index = 0; index < num; index++) sales[index] = units[index] * prices[index]; }
//*************************************************************** // Definition of function dualSort. Accepts id and sales arrays * // as arguments. The size of these arrays is passed into size. * // This function performs a descending order selection sort on * // the sales array. The elements of the id array are exchanged * // identically as those of the sales array. size is the number * // of elements in each array. * //***************************************************************
void dualSort(int id[], double sales[], int size) { int startScan, maxIndex, tempid; double maxValue; for (startScan = 0; startScan < (size - 1); startScan++) { maxIndex = startScan; maxValue = sales[startScan]; tempid = id[startScan]; for (int index = startScan + 1; index < size; index++) { if (sales[index] > maxValue) { maxValue = sales[index]; tempid = id[index]; maxIndex = index; } } sales[maxIndex] = sales[startScan]; id[maxIndex] = id[startScan]; sales[startScan] = maxValue; id[startScan] = tempid; } }
//**************************************************************** // Definition of showOrder function. Accepts sales and id arrays * // as arguments. The size of these arrays is passed into num. * // The function first displays a heading, then the sorted list * // of product numbers and sales. * //****************************************************************
void showOrder(const double sales[], const int id[], int num) { cout << "Product Number\tSales "; cout << "---------------------------------- "; for (int index = 0; index < num; index++) { cout << id[index] << "\t\t$"; cout << setw(8) << sales[index] << endl; } cout << endl; }
//***************************************************************** // Definition of showTotals function. Accepts sales and id arrays * // as arguments. The size of these arrays is passed into num. * // The function first calculates the total units (of all * // products) sold and the total sales. It then displays these * // amounts. * //***************************************************************** void showTotals(const double sales[], const int units[], int num) { int totalUnits = 0; double totalSales = 0.0; for (int index = 0; index < num; index++) { totalUnits += units[index]; totalSales += sales[index]; } cout << "Total Units Sold: " << totalUnits << endl; cout << "Total Sales: $" << totalSales << endl; } /* Program Output Product Number Sales ---------------------------------- 914 $10903.90 918 $ 9592.15 917 $ 8712.30 919 $ 8594.55 921 $ 7355.40 915 $ 6219.20 922 $ 3593.40 916 $ 2406.65 920 $ 1450.15 Total Units Sold: 3406 Total Sales: $58827.70 */
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started