Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <math.h>
- double getAmount ();
- double roundAmount (double exactAmount);
- double calcAverage (double sum , int count);
- double calcStdDev (double sum , double sumSquared , int count);
- double calcDif (double exactSum , double roundedSum);
- using namespace std;
- //******************************************************
- int main ()
- {
- double count = 0;
- double exactAmount = 0;
- double exactSum = 0;
- double roundedAmount = 0;
- double roundedSum = 0;
- double exactSumSquared = 0;
- double roundedSumSquared = 0;
- double exactStdDev;
- double roundedStdDev;
- double exactAverage;
- double roundedAverage;
- double percentDif;
- exactAmount = getAmount ();
- roundedAmount = roundAmount (exactAmount);
- exactSumSquared = exactSum * exactSum;
- roundedSumSquared = roundedSum * roundedSum;
- while (exactAmount > 0)
- {
- count++;
- exactSum = exactSum + exactAmount;
- roundedSum = roundedSum + roundedAmount;
- exactAverage = calcAverage (exactSum , count);
- roundedAverage = calcAverage (roundedSum , count);
- exactStdDev = calcStdDev (exactSum , exactSumSquared , count);
- roundedStdDev = calcStdDev (roundedSum , roundedSumSquared , count);
- percentDif = calcDif (exactSum , roundedSum);
- exactAmount = getAmount ();
- }
- cout << setiosflags(ios::fixed|ios::showpoint) << setprecision(2) << exactSum
- << exactAverage << exactStdDev;
- cout << endl;
- cout << "Calculation Exact Rounded" << endl;
- cout << "---------------------------------------" << endl;
- cout << "Sum: " << exactSum << " " << roundedSum << endl;
- cout << "---------------------------------------" << endl;
- cout << "Average: " << exactAverage << " " << roundedAverage << endl;
- cout << "---------------------------------------" << endl;
- cout << "Std Dev: " << exactStdDev << " " << roundedStdDev << endl;
- return 0;
- }
- //****************************************************
- double getAmount ()
- {
- double userVal;
- cout << "Enter a number (0 to quit): ";
- cin >> userVal;
- return userVal;
- }
- //*****
- double roundAmount (double exactSum)
- {
- double roundedAmount;
- roundedAmount = int((exactSum + 5) / 10) * 10;
- return roundedAmount;
- }
- //*****
- double calcAverage (double sum , int count)
- {
- double Average;
- if (count > 0)
- {
- Average = sum / count;
- return Average;
- }
- else
- {
- return -1;
- }
- }
- //*****
- double calcStdDev (double sum , double sumSquared , int count)
- {
- double StdDev;
- if (count > 1)
- {
- StdDev = sqrt ((sumSquared) * (sum * sum)) / count;
- return StdDev;
- }
- else
- {
- return -1;
- }
- }
- //*****
- double calcDif (double exactSum , double roundedSum)
- {
- double Difference;
- Difference = ((fabs(exactSum - roundedSum)) / (exactSum)) * 100;
- return Difference;
- }
- //*****
Add Comment
Please, Sign In to add comment