Професионална програма
Loading...
Bobby_Apostolov avatar Bobby_Apostolov 96 Точки

C# Food Delivery (Programming Basics Online Retake Exam - 2 and 3 May 2019) Проблем при закръгляне

Здравейте колеги, мъча се да направя тази задача на C# : https://softuni.bg/downloads/svn/programming-basics-v4/course-directories/may-2019/2019-03/Retake-Exam/01.%20Food%20Delivery.pdf , но нещо не ми се получава. Това е моят код:

            int pile, riba, veg;
            double cenaPile, cenaRiba, cenaVeg, Total, desert, obshtoMenu, dostavka;
            pile = int.Parse(Console.ReadLine());
            riba = int.Parse(Console.ReadLine());
            veg = int.Parse(Console.ReadLine());
            cenaPile = pile * 10.35;
            cenaRiba = riba * 12.40;
            cenaVeg = veg * 8.15;
            obshtoMenu = cenaVeg + cenaRiba + cenaPile;
            desert = 20%obshtoMenu; // Error
            dostavka = 2.5;
            Total = obshtoMenu + desert + dostavka;
            Console.WriteLine("Total: {0}",Total);

Въвеждам 2,4,3 ,както в примера но ми дава различен отговор. Разбрах, че където е desert = 20%obshtoMenu; , вместо да дава отговор 18.95,  го закръгля на 20 и от там цялата сметка се обърква и не знам как да го оправя.

Благодаря предварително !

Тагове:
0
Programming Basics 10/05/2019 09:23:13
Ivanpavlov95 avatar Ivanpavlov95 32 Точки
Best Answer

Здравей ето едно мое решемие кратко 
int broiChikens = int.Parse(Console.ReadLine());
            int broiFishes = int.Parse(Console.ReadLine());
            int broiVegiterian = int.Parse(Console.ReadLine());
            double priceWithoutDesert = broiChikens * 10.35 + broiFishes * 12.40 + broiVegiterian * 8.15;
            double desrtPrice = priceWithoutDesert * 0.20;
            
            Console.WriteLine($"Total: {(priceWithoutDesert +desrtPrice + 2.50):F2}");
ТИ Грешиш защото използваш занака % кое означава целочислено деление и се използва за много разслично нещо 20% от цената без десерта може да я намериш с просто умножение с 0,2 

0
Bobby_Apostolov avatar Bobby_Apostolov 96 Точки

Много ти благодаря! 

0