Else if оператор не работает C++
Я новичок в кодировании, я не понимаю, почему еще оператор if отображает выходные данные из оператора if, несмотря на то, что он не ошибается. Если выписка должна вычесть %50, когда телефонный звонок происходит в определенное время дня, и вычесть дополнительные %15, когда телефонный звонок превышает 60. Второе утверждение должно принимать только %50, потому что условие истинно, после слишком большого количества изменений, если выход отображает обе скидки, несмотря на то, что они ниже 60.
Большое вам спасибо.
cout << "Enter start time: "; cin >> startcall; cout << "Enter length of call in minutes: "; cin >> duration; if (duration > 60 || startcall >=1800 || startcall < 800) { discount = (duration * rate /2)*0.15; grosscost = ((((duration * rate/2)-discount)) * 0.40) + (((duration * rate/2)-discount)); netcost = grosscost; }else if(duration <60 || startcall >=1800 ||startcall <800){ grosscost = ((duration *rate /2)*0.40) + (duration *rate/2); netcost = grosscost; } cout <<"Gross Cost: $ " <<grosscost <<endl; cout <<"Net cost: $ " <<netcost <<endl; return 0; }
Что я уже пробовал:
Я попытался изменить имена переменных, я проверил порядок фигурных скобок. Я несколько раз записывал операцию на бумаге. Я проверил книги по программированию, они дают мне примеры того, как работают функции, но я думаю, что мне нужен пример, чтобы понять, что я делаю неправильно.
спасибо
Member 14010405
s не работает после нескольких изменений
если (длительность >60 || startcall >=1800 || startcall < 800) {
скидка = (продолжительность * ставка /2)*0,15;
grosscost = ((((продолжительность * скорость/2)-скидка)) * 0.40) + (((время * скорость/2)-скидка));
netcost = grosscost;
}
иначе{если( startcall &ГТ;=1800 ||startcall &ЛТ;800 ||продолжительность &ЛТ;60){
grosscost = ((продолжительность *скорость /2)*0.40) + (продолжительность *скорость/2);
netcost = grosscost;
}
}
соиь <&ЛТ;"общая стоимость: $" &ЛТ;&ЛТ;grosscost на <<епси;
cout <<"чистая стоимость: $" <<netcost <<endl;
возвращает 0;
Введите продолжительность звонка в минутах :40
Валовая Стоимость: $ 9.52
Чистая стоимость: $ 9.52
Вот этого я и не понимаю. Он продолжает вычитать %15, несмотря на то, что он ниже 60.
Результат должен быть $11.20
11.20 - 9.52 = 1.68 (что составляет %15 при звонке более 60 минут)
спасибо за любую помощь
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.