1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
#include <iostream>
using namespace std;
// Class declaration
class DivSales
{
private:
// Holds the total corporate sales for all divisions
static int Year_Sales;
int Qtrsale[4]; // Elements for sale figures, 4 quarterly sales
public:
void AddSales(int, int, int, int); // calculates annual ammount
int Sales(int); // output
int getvalue() { return Year_Sales; }
};
// This member function takes arguments and is copied into array holding sales data
// Year_Sales contains total of the 4 sales
void DivSales::AddSales(int sale1, int sale2, int sale3, int sale4)
{
// arrays 0 through 3 store the quarterly sales
Qtrsale[0] = sale1;
Qtrsale[1] = sale2;
Qtrsale[2] = sale3;
Qtrsale[3] = sale4;
// private variable access
// combines the 4 arguments
Year_Sales = Year_Sales + sale1 + sale2 + sale3 + sale4;
}
// returns values of quarterly sales for each division
// Used for table formatting in main
int DivSales::Sales(int n)
{
// Qtrsale[n] holds value from input to return for output
// returns sale(n)
int value = Qtrsale[n];
return value;
}
// this function is triggered if user enters a negative quarterly sale value
void error()
{
system("cls");
cout << "You have entered a negative value. Restart program and try again";
cout << "Press any key to restart programn";
system("pause");
exit(0);
}
// Overload constructer
// Definition of the static member of DivSales class
// for access to the private static variable
int DivSales::Year_Sales;
// Start main function
int main()
{
// insurance for protecting the array storage(s)
const int DS = 6;
DivSales DivisionSale[DS]; // 6 division with each of their own array
int quarter, division; // quarter = 4; division = 6
// This will pass quarter sales to AddSales
for (division = 0; division < 6; division++)
{
// 4 quarters for array storage
int Qrt1, Qrt2, Qrt3, Qrt4;
int Q; // used to check for negative input
// Prompts the user for quarter sales of each division
// divisions 1 - 6
cout << "Enter Sales of Division: " << division + 1 << endl;
// Each quarter is assigned to Q which is used for error checking.
// Error checking occurs when negative value is detected
cout << "Enter Q1 Sales: ";
cin >> Qrt1;
Q = Qrt1;
if (Q < 0)
error();
cout << "Enter Q2 Sales: ";
cin >> Qrt2;
Q = Qrt2;
if (Q < 0)
error();
cout << "Enter Q3 Sales: ";
cin >> Qrt3;
Q = Qrt3;
if (Q < 0)
error();
cout << "Enter Q4 Sales: ";
cin >> Qrt4;
Q = Qrt4;
if (Q < 0)
error();
// passes Qrt1 through Qrt4 to AddSales
DivisionSale[division].AddSales(Qrt1, Qrt2, Qrt3, Qrt4);
}
cout << "\n----------------------------------------\n";
cout << "\t" << "Q1" << "\t" << "Q2" << "\t" << "Q3" << "\t" << "Q4" << endl;
// table for quarterly sales of each division
for (division = 0; division < 6; division++)
{
cout << "Div " << division + 1;
for (quarter = 0; quarter < 4; quarter++)
{
// calling function Sales 6 times
cout << "\t$" << DivisionSale[division].Sales(quarter);
}
cout << endl;
}
cout << "----------------------------------------\n";
cout << "\nTotal corporate sales for the year: ";
cout << "$" << DivisionSale[0].getvalue() << endl;
system("pause");
return 0;
}
|