📄 salarysurvey.cpp
字号:
// Tutorial 13: SalarySurvey.cpp
// Application that takes information about employee salaries and
// uses an array to keep track of the number of employees in each
// salary range.
#include <iostream> // required to perform C++ stream I/O
#include <iomanip> // required for parameterized stream manipulators
using namespace std; // for accessing C++ Standard Library members
void displayTotals( int [] ); // function prototype
// function main begins program execution
int main()
{
// define variable and declare an array, initialize values to 0
double sales = 0; // sales that user inputs
int resultArray[ 11 ] = { 0 }; // counts of salary ranges
// prompt user for and input sales
cout << "\nEnter sales (-1 to end): ";
cin >> sales; // get sales
// display floating-point values as currency
cout << fixed << setprecision( 2 );
// repeat until user enters sentinel value
while ( sales >= 0 )
{
// calculate salary and index
double salary = 200 + 0.09 * sales;
int index = static_cast< int >( salary / 100 );
// update statistics
if ( index >= 10 )
{
resultArray[ 10 ]++;
} // end if
else
{
resultArray[ index ]++;
} // end else
// display salary
cout << "Total salary: $" << salary << endl;
// prompt user for and input next sales value
cout << "\nEnter sales (-1 to end): ";
cin >> sales; // get sales
} // end while
// display salary ranges and totals
displayTotals( resultArray );
return 0; // indicates successful termination
} // end function main
// display salary ranges and totals
void displayTotals( int printArray[] )
{
// define local variables
int lowerBound; // current salary range's lower bound
int upperBound; // current salary range's upper bound
// display a table header
cout << "\nSalary Range:\tTotal:" << endl;
// iterate over each salary range between $200 and $999
for ( int i = 2; i <= 9; i++ )
{
lowerBound = i * 100; // set the current lower bound
upperBound = lowerBound + 99; // set the current upper bound
// display range and total number of salaries in that range
cout << "$" << lowerBound << "-" << upperBound << "\t"
<< printArray[ i ] << endl;
} // end for
// display range and salary count for $1000 and greater
cout << "$1000+\t\t" << printArray[ 10 ] << endl << endl;
} // end function displayTotals
/**************************************************************************
* (C) Copyright 1992-2005 by Deitel & Associates, Inc. and *
* Pearson Education, Inc. 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. *
**************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -