Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a program that calculates information about sales during a year. This prog

ID: 671863 • Letter: W

Question

Write a program that calculates information about sales during a year. This program will have an array that will hold the sales totals for 4 divisions
(North, South, East and West, stored in an array as strings for the output) and for 4 quarters. This array will also hold the total for each division and for each quarter.
These totals will be calculated by the program once the values have been inputted by the user. So this array will be a 2-dimensional array with the quarters as the columns and the divisions as the rows.
The last column will hold the totals for the rows (division totals) and the last row will hold the totals for the columns (quarter totals). The program must use/create the following functions:

    double getTotal(double [][COLS]) // gets the total of the complete array except for the totals in the last column and last row.
    double getAverage(double [][COLS]) // return the average of all the values in the array except for the column and row with the totals in them.
    double getRowTotal(double [][COLS], int) // returns the total for row that is specified by the second parameter to the function.
    double getColumnTotal(double [][COLS], int) // returns the total for a column that is specified by the second parameter to the function.
    double getHighest(double [][COLS], int&, int&) //returns the highest value in the array. Last two parameters are the index values of where the highest value is located in the 2D array, these can then be used to display which division and quarter.
    double getLowest(double [][COLS], int&, int&) //returns the lowest value in the array. Last two parameters are the index values of where the highest value is located in the 2D array; these can then be used to display which division and quarter.

    The program should output a table in the same format as below which will then be followed by the division and quarter with the highest value and the division and quarter with the lowest value.

Explanation / Answer

#include <iostream>

#include <iomanip>

#include <cmath>

using namespace std;

char again;

const int COLS = 4;

const int ROWS = 3;

void showArray(const int [][COLS],int);

int getTotal(const int[][COLS]);

double getAverage(const int [][COLS]);

int getRowTotal(const int[ROWS][COLS],int);

int getColumnTotal(const int[ROWS][COLS],int);

int getHighest(const int[][COLS],int);

int getLowest(const int[][COLS],int);

int main()

{

int a = 1;

int table1[ROWS][COLS] = {{12,11,10,9},{8,7,6,5},{4,3,2,1}};

int total = 0;

double average = 0;

int rowTotal = 0;

int columnTotal = 0;

int highestRow = 0;

int lowestRow = 0;

do

{

total = getTotal(table1);

average = getAverage(table1);

rowTotal = getRowTotal(table1,a);

columnTotal = getColumnTotal(table1,a);

highestRow = getHighest(table1,a);

lowestRow = getLowest(table1,a);

cout<<"The contents of table1 are: ";

showArray(table1,ROWS);

cout<<"The total is:" << total << end1;

cout<<"The average is:" << average << end1;

cout<<"The total of row" << a+1 <<"is:"<< rowTotal <<end1;

cout<<"The total of column" << a+1 <<"is:"<<columnTotal<<endl;

cout<<"The height amount in row "<<a+1<<"is: "<<highestRow<<endl;

cout<<"The lowest amount in row "<<a+1<<"is: "<<lowestRow<<endl;

cout<<"Do you want to run this program again? Y/N";

cin>>again;

}while(again == 'y' || again == 'Y');

return 0;

}

void showArray(const int arrray[][COLS],int rows)

{

for(int x=0; x < ROWS; x++)

{

for(int y=0;y<COLS;y++)

{

cout<<setw(4)<<array[x][y]<<" ";

}

cout<<endl;

}

}

int getTotal(const int array[][COLS])

{

int total = 0;

for(int r = 0; r<ROWS;r++)

{

for(int c = 0;c<COLS;c++)

{

total += array[r][c];

}

}

return total;

}

double getAverage(const int array[][COLS])

{

double total = getTotal(array);

return total / (ROWS * COLS);

}

int getRowTotal(const int array[ROWS][COLS],int a)

{

int sum = 0;

for(int c = 0; c < COLS ;c++)

{

sum += array[a][c];

}

return sum;

}

int getColumnTotal(const int array[ROWS][COLS],int a)

{

int sum = 0;

for(int r = 0; r<ROWS ;r++)

{

sum += array[r][a];

}

return sum;

}

int getHighest(const int array[][COLS], int a)

{

int highest = 0;

highest = array[a][0];

for(int c = 1;c<COLS;c++)

{

if(array[a][c] > highest)

{

highest = array[a][c];

}

}

return highest;

}

int getLowest(const int array[][COLS],int a)

{

int lowest = 0;

lowest = array[a][0];

for(int c = 1;c<COLS;c++)

{

if(array[a][c] < lowest)

{

lowest = array[a][c];

}

}

return lowest;

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote