Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

kamenvalev1984 avatar kamenvalev1984 0 Точки

Cinema от категория по-сложни логически проверки.

Здравейте, имам въпрос отноно задчата Cinema от по-сложни проверки:

Не мога да намеря решенито на проблема с закръглянето до втората запетая.

Иначе джъджа ми дава 100 точки, но мене ме гложди нещо от вътре

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

Ето го и решението:

using System;

namespace cnema
{
    class cnema
    {
        static void Main()
        {
            var projection = Console.ReadLine().ToLower();
            var r = double.Parse(Console.ReadLine());
            var c = double.Parse(Console.ReadLine());
            var sum = c * r;
            var price = -1.0;

            if (projection == "premiere") price = 12.00;
            {
                if (projection == "normal") price = 7.50;
                else if (projection == "discount") price = 5.00;
            }
            if (sum >= 0)


            {
                Console.WriteLine("{0:f2}", (sum * price) + " " + "Leva");
            }
        }
    }
}

0
Programming Basics
ambiorix avatar ambiorix 640 Точки
Best Answer

Здравей.

Имай предвид, че кодът ти е лошо структуриран. Препоръчва се всеки блок от код след IF да е в отделни къдрави скоби.

Също така тази проверка за sum >=0 не ти е нужна за това условие.

Ето коригиран твоят код: https://dotnetfiddle.net/9bFJdP

Закръглянето го постигаш с {0:F2} - тоест да ти форматира този параметър то втория знак след десетичната точка. Кое точно те притеснява или не е ясно?

0
kamenvalev1984 avatar kamenvalev1984 0 Точки

Благодаря за отговора, а това което не е полчава при мене, беше че при крайният ресултат не ми закръгляше. Иначе блгодаря за корекцията.

0
kamenvalev1984 avatar kamenvalev1984 0 Точки

При вход:

normal

21

13

Резултата  е 2047.5, а трябв да е 2047.50. Това ме притеснява

0
JivkoJelev avatar JivkoJelev 235 Точки

Не мога да ти разбера въпроса.Хем търсиш решение на проблема със закръглянето , хем показваш решение на което си направил закръгляне до втората запетая.Ако правилно те разбирам тук => Console.WriteLine("{0:f2}") казваш че искаш въпросното число да се закръгли до 2 числа след плаващата запетая.Ако кажеш {0:f3} ще ти закръгли до 3-та запетая.Ако търсиш нещо друго пробвай да обосновеш малко повече въпроса ти , за да може някой да ти помогне в форума.

0
kamenvalev1984 avatar kamenvalev1984 0 Точки

Закръглям го, но накрая в ресултата не ми е закръглено. Това е което ме притеснява. Благодаря

0
kamenvalev1984 avatar kamenvalev1984 0 Точки

Резултата е един и същ при вход: 

normal

21

13

Изхода ми е 2047.5, а искам да се получи 2047.50

Това не мога да оправя.

Благодаря1

0
ambiorix avatar ambiorix 640 Точки

Промени реда в който принтираш по този начин -> Console.WriteLine("{0:f2} leva", (sum * price));

Досега ти се получаваше грешно, заради конкатенацията на стрингове тъй като тази част " " + "Leva" също се смята за част от нулевия параметър (който закръгляш с F2).

Гледай като нулев параматър винаги да слагаш само числото което искаш да закръгляш, а пък други думи след това след него (както съм посочил по-горе). Промених го също в коригирания код който дадох по-рано ;)

1
03/01/2017 19:22:49
V.kiritsov avatar V.kiritsov 7 Точки

Може резултата, да го въведеш във избран от теб String format, чрез .. 

(String.Format(CultureInfo.InvariantCulture, 
                   "{0:0.00}", value));
0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.