似乎无法计算正确的值
大家好,我正在学习函数,所以我采取了一个旧的练习程序,并修改它使用函数。然而,我的问题是,当显示我正在计算的佣金时,我会得到错误的值。任何帮助,将不胜感激。除了佣金价格之外,我有一切工作。似乎无法计算正确的值
代码
#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;
}
我所需的输出是
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
您有:
acccomm = (accessory, accbase, acccomm);
我认为这必须是acccomm = calcComm(accessory, accbase, acccomm);
。
相同的计算maintcomm
。你编写代码的方式,它将使用comma operator,它只是评估最后一个操作数。
这是我的问题,谢谢你抓我没有的东西:p – sircrisp
@sircrisp不要忘记接受答案:[faq] –
由于胡乱猜测,因为你没有包含任何样品的输入或输出。在基地到达之前不支付佣金是不常见的,但如果达到基数,则按照整个销售数字计算支付佣金。
您是不是要找
commission = (sales-base) * percent;
而不是
commission = sales * percent;
佣金=销售额*基数*百分比?
您需要解释“基本”变量是什么?是单价吗?佣金前的金额?我假设销量是单位数量,百分比是显而易见的。
-1什么是输入?什么是预期的输出?实际产出是多少?什么是理想的算法? –
对不起,输入是每个产品的具体销售额;电脑销售,打印机销售,配件销售和维护销售。要获得任何项目的佣金,必须在特定范围内(PC销售> 8000.00等)。输出在显示功能中,输出在calcComm功能中计算的所有收集的信息和佣金。 – sircrisp
不需要我们需要数字。输入和输出,预计和实际。和一个公式。不是在代码中编写的,因为我们知道编译器和计算机都很好。 –