Hello everyone I am learning functions so I took a old practice program and modified it to use functions. My problem is however when it comes time to display the commission I am calculating I am getting the wrong values. Any help would be appreciated. I have everything working except the commission prices.
Code
#include <iostream>
#include <iomanip>
using namespace std;
int ID;
double salary, pcs, printer, accessory, maint;
double pcbase = 8000.00, printerbase = 1500.00, accbase = 1000.00, maintbase = 500.00;
double pccomm = .15, printercomm = .10,acccomm = .05, maintcomm = .08;
double calcComm(double sales, double base, double percent);
void display(double, double, double, double);
int main()
{
cout<<"Enter Salesman ID\n";
cin>>ID;
while (ID != -999)
{
cout<<"Enter base salary\n";
cin>>salary;
cout<<"Enter PC sales\n";
cin>>pcs;
pccomm = calcComm(pcs, pcbase, pccomm);
cout<<"Enter Printer Sales\n";
cin>>printer;
printercomm = calcComm(printer, printerbase, printercomm);
cout<<"Enter Accessory Sales\n";
cin>>accessory;
acccomm = (accessory, accbase, acccomm);
cout<<"Enter Maintenance Sales\n";
cin>>maint;
maintcomm = (maint, maintbase, maintcomm);
display(pccomm, printercomm, acccomm, maintcomm);
cout<<"\n\nEnter Salesman ID or -999 to quit\n";
cin>>ID;
}
system ("PAUSE");
return 0;
}
double calcComm(double sales, double base, double percent)
{
double commission;
if (sales < base)
commission = 0;
else
commission = sales * percent;
return commission;
}
void display(double pccomm, double printercomm, double acccomm, double maintcomm)
{
cout<<"Salesman ID:"<<ID;
cout<<"\nProduct"<<" Sales Amount"<<" Commission\n";
cout<<"Personal Computers"<<" "<<pcs<<" "<<pccomm;
cout<<"\nPrinters"<<" "<<printer<<" "<<printercomm;
cout<<"\nAccessories"<<" "<<accessory<<" "<<acccomm;
cout<<"\nMaintenance"<<" "<<maint<<" "<<maintcomm;
double total = 0,totaldue = 0;
total = pccomm+printercomm+acccomm+maintcomm;
totaldue = total+salary;
cout<<"\n\n\nTotal Commission "<<total;
cout<<"\n Base Pay "<<salary;
cout<<"\n Total Due "<<totaldue;
}
My Desired Output is
Salesman ID: 111
Product Sales Commission
Personal Computer 5000.00 0.00
Printers 2000.00 50.00
Accessories 600.00 0.00
Mainteance 1000.00 40.00
Total Commission 90.00
Base Pay 1234.56
Total Due 1324.56
You have:
I assume this needs to be
acccomm = calcComm(accessory, accbase, acccomm);.Same for calculation of
maintcomm. The way you wrote the code, it will use the comma operator, which just evaluates to the last operand.