Loading...
rado84 avatar rado84 1 Точки

Експериментиране със Small Shop - switch-case

От онзи ден ме е заглождило дали в switch-case може да се направи вложена проверка и сега реших да го разпиша, за да видя какво ще излезе. Кейсовете съм ги написал за градовете и за всеки кейс първото "ако" се чупи:

Защо не му харесва price само в първия if, когато горе съм декларирал променлива price, а за останалите не казва нищо?

http://pastebin.com/PgvtexhJ

P.S. Ясно ми е, че Console.WriteLine трябва да влезе в къдравите скоби, но ми е интересно защо, когато е извън тях, само първият прайс се чупи, а останалите - не.

Тагове:
-1
Programming Basics 13/06/2016 09:56:15
Kalo7o avatar Kalo7o 3 Точки

Аз на друго се дразня - Judge не показва output  и задачата както и да я наппиша все ми я дава на 80%

0
rado84 avatar rado84 1 Точки

Напротив, показва:

-1
Kalo7o avatar Kalo7o 3 Точки

0
rado84 avatar rado84 1 Точки

Ами това означава, че не си написал код за output. Вероятно нямаш Console.WriteLine или пък не си го сложил там, където трябва да бъде.

-1
Kalo7o avatar Kalo7o 3 Точки

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02._Small_Shop
{
    class Program
    {
        static void Main(string[] args)
        {
            var article = Console.ReadLine().ToLower();
            var city = Console.ReadLine().ToLower();
            var number = double.Parse(Console.ReadLine());

            if (city == "sofia")
            {
                if(article == "coffe") Console.WriteLine("{0:F2}", number * 0.50);
                else if(article == "water") Console.WriteLine("{0:F2}", number * 0.80);
                else if(article == "beer") Console.WriteLine("{0:F2}", number * 1.20);
                else if(article == "sweets") Console.WriteLine("{0:F2}", number * 1.45);
                else if(article == "peanuts") Console.WriteLine("{0:F2}", number * 1.60);
            }
            else if(city == "plovdiv")
            {
                if (article == "coffe") Console.WriteLine("{0:F2}", number * 0.40);
                else if (article == "water") Console.WriteLine("{0:F2}", number * 0.70);
                else if (article == "beer") Console.WriteLine("{0:F2}", number * 1.15);
                else if (article == "sweets") Console.WriteLine("{0:F2}", number * 1.30);
                else if (article == "peanuts") Console.WriteLine("{0:F2}", number * 1.50);
            }
            else if (city == "varna")
            {
                if (article == "coffe") Console.WriteLine("{0:F2}", number * 0.45);
                else if (article == "water") Console.WriteLine("{0:F2}", number * 0.70);
                else if (article == "beer") Console.WriteLine("{0:F2}", number * 1.10);
                else if (article == "sweets") Console.WriteLine("{0:F2}", number * 1.35);
                else if (article == "peanuts") Console.WriteLine("{0:F2}", number * 1.55);
            }
        }
    }
}
 

0
rado84 avatar rado84 1 Точки

Имаш правописна грешка: "coffe" трябва да бъде "coffee". Вероятно заради това ти дава 80%. Освен това преди всяка Console.WriteLine и след нея трябва да има къдрави скоби:

else if (..........) {Console.WriteLine("............")}

0
13/06/2016 10:22:05
borislav9212 avatar borislav9212 745 Точки

Kalo7o На теб проблема ти идва от там,че използваш [0:F2], тоест закръгляш до втория знак след десетичната точка. Пример coffee -> Varna -> 2 = 0.90, а трябва да е 0.9 output. Махаш [0:F2] и кода ти работи. а и поправи coffe -> coffee

0
13/06/2016 12:05:13
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.