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
|
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
const int MAX=10;//number of salesmen
void Read(double,int,int);
void Write(double, int, double);
void Data(double, double);
void Grand(double);
void Least(double);
ifstream inf("sales.in");//opens the file to bring data in
ofstream out("sales.out");//opens the file to write data to
void Read(double sales[], int employee_number, int transactions[])
{
double purchase;//reads the data for sales.
for(int i=0;i<MAX;i++)//setting all elements in sales and transactions to 0
{
sales[i]=0;
transactions[i]=0;
}
while(inf >> employee_number >> purchase)//reads till end of file
{
sales[employee_number-1]+=purchase;//updates the sales
transactions[employee_number-1]++;//reads employee ID and counts the number of transactions.
}
}
void Write(double sales[], int transactions[], double salaries[])
{
out <<"\nEmployee Transactions\tTotal Sales \tAverage\t\t\tSalary\n";
for(int i=0;i<MAX;i++)
{
out << setprecision(2) << fixed
<< (i+1) <<" \t\t "<<transactions[i]<< "\t\t\t\t$"
<< sales[i] << "\t\t$"
<< (sales[i]/transactions[i]) << "\t\t\t$"
<< salaries[i] << "\n";//displaying data
}
}
void Data(double sales[], double salaries[])
{
for(int i=0;i<MAX;i++)//updating salaries
{
if(sales[i]>0)
salaries[i]=sales[i]*.09+200;
}
}
void Grand(double sales[])
{
double total;
for(int i=0;i<MAX;i++)
total += sales[i];
out << "Company-Wide Total: $" << total << "\n";
}
void Least(double sales[])
{
double lowestsales=sales[0];
int lowestSalesIndex=0;
for(int i=0;i<MAX;i++)
{
if(lowestsales>sales[i])
{
lowestsales=sales[i];
lowestSalesIndex=i;
}
}
out << "Salesman with lowest sales is " << (lowestSalesIndex+1);
}
int main()
{
int counter,transactions[MAX];
double total, sales[MAX],salaries[MAX];
Read(sales, counter, transactions);
Data(sales, salaries);
Write(sales, transactions, salaries);
Grand(sales);
Least(sales);
inf.close();
out.close();
return 0;
}
|