From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../Prog1/examples/ch06/Fig06_09_11/Salesp.cpp | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Bachelor/Prog1/examples/ch06/Fig06_09_11/Salesp.cpp (limited to 'Bachelor/Prog1/examples/ch06/Fig06_09_11/Salesp.cpp') diff --git a/Bachelor/Prog1/examples/ch06/Fig06_09_11/Salesp.cpp b/Bachelor/Prog1/examples/ch06/Fig06_09_11/Salesp.cpp new file mode 100644 index 0000000..4c05a6d --- /dev/null +++ b/Bachelor/Prog1/examples/ch06/Fig06_09_11/Salesp.cpp @@ -0,0 +1,86 @@ +// Fig. 6.10: salesp.cpp +// Member functions for class SalesPerson. +#include + +using std::cout; +using std::cin; +using std::endl; +using std::fixed; + +#include + +using std::setprecision; + +// include SalesPerson class definition from salesp.h +#include "salesp.h" + +// initialize elements of array sales to 0.0 +SalesPerson::SalesPerson() +{ + for ( int i = 0; i < 12; i++ ) + sales[ i ] = 0.0; + +} // end SalesPerson constructor + +// get 12 sales figures from the user at the keyboard +void SalesPerson::getSalesFromUser() +{ + double salesFigure; + + for ( int i = 1; i <= 12; i++ ) { + cout << "Enter sales amount for month " << i << ": "; + cin >> salesFigure; + setSales( i, salesFigure ); + + } // end for + +} // end function getSalesFromUser + +// set one of the 12 monthly sales figures; function subtracts +// one from month value for proper subscript in sales array +void SalesPerson::setSales( int month, double amount ) +{ + // test for valid month and amount values + if ( month >= 1 && month <= 12 && amount > 0 ) + sales[ month - 1 ] = amount; // adjust for subscripts 0-11 + + else // invalid month or amount value + cout << "Invalid month or sales figure" << endl; + +} // end function setSales + +// print total annual sales (with the help of utility function) +void SalesPerson::printAnnualSales() +{ + cout << setprecision( 2 ) << fixed + << "\nThe total annual sales are: $" + << totalAnnualSales() << endl; // call utility function + +} // end function printAnnualSales + +// private utility function to total annual sales +double SalesPerson::totalAnnualSales() +{ + double total = 0.0; // initialize total + + for ( int i = 0; i < 12; i++ ) // summarize sales results + total += sales[ i ]; + + return total; + +} // end function totalAnnualSales + +/************************************************************************** + * (C) Copyright 1992-2002 by Deitel & Associates, Inc. and Prentice * + * Hall. All Rights Reserved. * + * * + * DISCLAIMER: The authors and publisher of this book have used their * + * best efforts in preparing the book. These efforts include the * + * development, research, and testing of the theories and programs * + * to determine their effectiveness. The authors and publisher make * + * no warranty of any kind, expressed or implied, with regard to these * + * programs or to the documentation contained in these books. The authors * + * and publisher shall not be liable in any event for incidental or * + * consequential damages in connection with, or arising out of, the * + * furnishing, performance, or use of these programs. * + *************************************************************************/ -- cgit v1.2.3