Не работает код (простейшая задача)

Нужно составить код с функцией по данному условию: На товар дважды была сделана скидка – на p1, а затем на p2 процентов. Первоначальная стоимость товара составляла S рублей. Используя функцию вычисления стоимости товара с учетом скидки на P процентов, найти стоимость товара после двойной скидки. По формуле, которая указанна в коде. При вводе значений он выдает в любом случае 0. Помогите найти ошибку и объясните ее, пожалуйста. введите сюда описание изображения

Посмотрев ваши комментарии я решил свою проблему, она работает и это меня устраивает, спасибо вам =З введите сюда описание изображения


Ответы (1 шт):

Автор решения: Zhihar

у вас же в задаче указана двойная скидка - p1 и p2

так и применяйте скидку на p1, а затем на p2

C = (1 - p1) * (1 - p2) * S

только желательно потом до копеек округлить хотя бы

касательно вашей функции:

  1. зачем вы переменные все сделали глобальными то? P, S хорошо делаются локальными, а C функция возвращает через return

  2. и когда считаются скидки (выполняется деление) не надо использовать тип int, надо использовать тип с плавающей запятой (например, float), потому что

     (100 - P) / P
    

при P > 50 будет равно строго 0, а при P < 50 тоже всякой фигне

→ Ссылка