Я создал функцию для определения значения для cableBoxFeesTotal
, затем он возвращает значение локальной переменной cableBoxFeesTotal
.Когда я пытаюсь использовать значение cableBoxFeesTotal
вне функции, значение равно 0,00, а не значение, которое было возвращено из функции.Я работал над этим в течение нескольких дней, и не могу понять, что я делаю неправильно.Пожалуйста, посоветуйте мне, как решить эту проблему.Спасибо!
Я не хотел публиковать весь код ... это домашняя работа, но я добавил два раздела ниже.
#include <iostream>
#include <string>
#include <cctype>
#include <iomanip>
#include <cmath>
using namespace std;
const double BASIC_CABLE = 43.00;
const double PREMIUM_CABLE = 58.00;
const double BASIC_BOX = 7.50;
const double PREMIUM_BOX = 11.25;
const double PREMIUM_CHANNEL_FEE = 9.99;
const double EMPLOYEE_DISCOUNT_AMOUNT = .14;
double feeFunction (int cableBoxes, double serviceLevel, double cableBoxFeesTotal, double BASIC_BOX, double PREMIUM_BOX, char B, char P)
{
if (cableBoxes > 2 && serviceLevel == 'B')
{
cableBoxFeesTotal = ((cableBoxes - 2) * BASIC_BOX);
cout << "Cable Box Fees: " << setw(15) << cableBoxFeesTotal << endl;
}
else if (cableBoxes > 2 && serviceLevel == 'P')
{
cableBoxFeesTotal = ((cableBoxes - 2) * PREMIUM_BOX);
cout << "Cable Box Fees: " << setw(15) << cableBoxFeesTotal << endl;
}
return (cableBoxFeesTotal);
}
int main()
{
string employee;
bool hasPremium;
char H;
char B;
char P;
char premiumChannel;
char serviceLevel;
int cableBoxes = 0 ;
double customerID;
double monthlyRateTotal = 0.00;
double cableBoxFeesTotal = 0.00;
double premiumChannelTotal = 0.00;
double subtotal = 0.00;`enter code here`
double employeeDiscount = 0.00;
double total = 0.00;
feeFunction (cableBoxes, serviceLevel, cableBoxFeesTotal, BASIC_BOX, PREMIUM_BOX, B, P);
cout << cableBoxFeesTotal << endl;
if (hasPremium == true)
{
subtotal = (cableBoxFeesTotal + monthlyRateTotal + PREMIUM_CHANNEL_FEE);
cout << "Subtotal:" << setw(15) << subtotal << endl;
}
else if (hasPremium == false)
{
subtotal = (monthlyRateTotal + cableBoxFeesTotal);
cout << "Subtotal:" << setw(15) << subtotal << endl;
}
}