Это мой код, не полностью законченный, и извините за польский язык, но его легко получить.
http://pastebin.com/QPmVaPFv
Итак, речь идет о ветеринаре, 4 переменные для цены на посетителя:
1. Большая собака
2. Средняя собака
3. Маленькая собака
4.cat
После этого следующие 4 переменные относятся к числу посетителей, как и прежде (большой, средний, маленький, кошка и т. Д.)
Тогда текст говорит:
каждый 5-й владелец большой собаки получил скидку 10%
каждый третий владелец среднего класса получает скидку 50%
каждый 4-й владелец кошки получил цену в 1 $, т.е.
double zdpies=ldpies/5.;
double zspies=lspies/3.;
double zkot=ckot/4.;
Это та часть со скидками
После этого я сделал переменные с расчетами по сниженной цене
double cdpiespromo=cdpies/10.; Big dog
double cspiespromo=cspies/50.; medium dog
double ckotpromo=1; Cat
Затем я сделал расчет для окончательной цены, т.е. для нормальной цены без скидки
--- нормальные значения: 21,6 х 51,0 = 1101,6000000000001
Процесс завершен.
И я получил эти странные числа, 51. все в порядке, но 21.6 не так, должно быть 22, а не 21,6. Когда я использую «int», он говорит, что есть «потеря точности», есть идеи, как это исправить?
Вот последние переменные для расчета окончательной цены со скидкой и без скидки.
double idp=ldpies-zdpies; this calculates numbers of visitors without discount
double idc=idp*cdpies; this calculates price number of visitor * normalpriceofbigdog.