我如何使用函数来计算,并使用 void 函数来显示?

Posted

技术标签:

【中文标题】我如何使用函数来计算,并使用 void 函数来显示?【英文标题】:How do i use a function to calculate, and use a void function to display? 【发布时间】:2012-11-02 00:05:38 【问题描述】:

我对 c++ 中的许多概念都比较陌生。这是学校的工作。现在我正在使用

if(smartPhones >= 6000)
    commission = (smartPhones - 6000) * .25;
else(commission = 0);
if(serviceContracts >= 3500)
    commission1 = (serviceContracts - 3500) * .10;
else(commission1 = 0);
if(accessories >= 2000)
    commission2 = (accessories - 2000) * .05;
else(commission2 = 0);
if(maintenance >= 500)
    commission3 = (maintenance - 500) * .07;
else(commission3 = 0);

计算手机销售佣金。如果某人销售超过 6000 部手机,他们将获得每部超过 6000 部手机的 25% 的佣金,超过 3500 份服务合同他们将获得每份超过 3500 部合同的 10% 的佣金。如果他们没有达到这些限制,他们将不会收到任何佣金为那个类别。

我需要不断调用并使用一个函数来计算所有 4 个标准(智能手机、服务合同、配件和维护合同)的佣金。我将如何正确地做到这一点,我需要在函数中包含什么?我可以在函数内部使用 If/Else 语句吗?

double calcComm(double sales, double base, double percent)



计算佣金后,我需要使用 void 函数来调用并显示按列和行排列的数据量。类似于

的东西
void display()

    double ID, totalCommission, smartPhones, serviceContracts, accessories, maintenance, commission, commission1, commission2, commission3, base, total;
cout << "Commission Statement for Salesman #: "<< ID << endl;
cout << left << "Product and Sales Amount " << endl;
cout << left << "Smart Phones: " << smartPhones << endl;
cout << left << "Service Contracts: "<< serviceContracts << endl;
cout << left << "Accessories: " << accessories << endl;
cout << left << "Maintenance Contracts: " << maintenance << endl;

cout << left << "Commission for all Products" << endl;
cout << left << "Smart Phones: " << commission << endl;
cout << left << "Service Contracts: " << commission1 << endl;
cout << left << "Accessories: " << commission2 << endl;
cout << left << "Maintenance Contracts: " << commission3 << endl;

cout << left << "Total Commission " << totalCommission << endl;
cout << left <<"Base Pay " << base << endl;
cout << left << "Total Due " << total << endl;

【问题讨论】:

【参考方案1】:

最简单的方法是创建一个包含所有佣金类型的 Commissions 类,并获取第一个代码块来创建(填充)Commissions 实例。

然后您可以将您的 Commissions 实例传递给您的显示方法。

【讨论】:

【参考方案2】:

    是的,您可以在函数中使用 if-else。事实上,您可以使用大多数 C++ 关键字(有些在其他上下文中受到限制,例如 classtemplate...)

    与 John3136 相反,我认为枚举可能就足够了,并且也符合规定的框架。无论哪种方式,您都需要向该函数传递一个参数,使其能够区分不同类型的销售,因为佣金不同且基数不同。在函数内部,您可以使用该参数并使用 if-else。

【讨论】:

我只是不确定如何区分销售类型。当我运行它时,它会要求提供一个 ID,然后是基本工资(base),然后是我卖了多少智能手机。有了那个#,我需要调用calcComm函数并使用那个特定的#来运行它。然后它要求服务合同,需要做同样的事情。还有附件和维护合同。我如何区分哪个是智能手机,哪个是服务合同等等 正如我所说,您可以使用枚举。如果您在课程中还没有看到这一点,您可以使用整数或字符并使用某种代码来识别哪个是哪个。您需要将此作为参数传递给您的 calcComm 函数。

以上是关于我如何使用函数来计算,并使用 void 函数来显示?的主要内容,如果未能解决你的问题,请参考以下文章

我如何使用这种类型的函数来总结 3 天的销售交易并计算 3 天的销售交易并在我的主要逻辑中使用它

如何编写此函数来计算日期时间差异为 hh:mm:ss:ms

从无效函数中检索值

如何使我的构造函数和函数工作,以便我的main()能够显示字符串和int数据?

void函数指针的二维数组c ++

如何使用getCountryFromIP PHP函数来了解用户的位置并基于它显示按钮?