Programming Basics - Simple Calculations Задача {20} - Дневна печалба
Здравейте, имам проблем със задача, която е давана на предишни издания на изпита по Основи на програмирането.
20.*Дневна печалба
Иван е програмист в американска компания и работи от вкъщи средно N дни в месеца като изкарва средно по M долара на ден. В края на годината Иван получава бонус, който е равен на 2.5 месечни заплати. От спечеленото през годината му се удържат 25% данъци. Напишете програма, която да пресмята, колко е чистата средна печалба на Иван на ден в лева, тъй като той харчи изкараното в България. Приема се, че в годината има точно 365 дни. Курсът на долара спрямо лева ще се чете от конзолата.
Вход
От конзолата се четат 3 числа, въведени от потребителя:
- На първия ред – работни дни в месеца. Цяло число в интервала [5…30]
- На втория ред – изкарани пари на ден. Реално число в интервала [10.00… 2000.00]
- На третия ред – курсът на долара спрямо лева /1 долар = X лева/. Реално число в интервала [0.99… 1.99]
Изход
На конзолата да се отпечата 1 число – средната печалба на ден в лева. Резултатът да се форматира до втория знак след запетаята.
Примерен вход и изход
Вход |
Изход |
Обяснения |
|
21 75.00 1.59 |
1 месечна заплата = 21 * 75 = 1575 долара Годишен доход = 1575*12 + 1575*2.5 = 22837.5 долара Данък = 25% от 22837.5 = 5709.375 Чист годишен доход = 17128.125 долара = 27233.71875 лв Средна печалба на ден = 27233.71875 / 365 = 74.61 лева |
||
Вход |
Изход |
Вход |
Изход |
15 105 1.71 |
80.24 |
22 199.99 1.50 |
Проблемът е, че първите два входа и изхода ми се получават като горните примери, обаче на третия където трябва да е 196.63 ми дава нещо съвсем различно?
Ето това е кода:
int workdays = int.Parse(Console.ReadLine());
double salaryDay = double.Parse(Console.ReadLine());
double exchangeRate = double.Parse(Console.ReadLine());
double zaplata = 21 * 75;
double godDohod = (zaplata * 12) + (zaplata * 2.5);
double danuk = (godDohod * 25) / 100;
double chistGodDohod = (godDohod - danuk) * exchangeRate;
double srednaPechalbaDen = chistGodDohod / 365;
srednaPechalbaDen = Math.Round(srednaPechalbaDen, 2);
Console.WriteLine(srednaPechalbaDen);