Loading...
shterionyanev avatar shterionyanev 0 Точки

Задача 07.Магазин за плодове

Здравейте колеги,

judge дава 88/100, като грешките, които дава са две от тип Runtime

Unhandled Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at _07.Fruit_shop.Program.Main(String[] args)

Бих се радвал ако някой може да погледне кода и сподели решение на проблема.

Линк към кода: http://pastebin.com/X8Mxx0Hh

Благодаря!

Тагове:
0
Programming Basics
Alex0101 avatar Alex0101 374 Точки

Здравей,

По условие пише, че може да ти подадат грешен плод или ден от седмицата.

След като достъпваш плода от речника, ще ти даде грешка ако не същия не съществува съществува.

Надявам се да съм бил полоезен.

 

поздрави,

Успех!

1
02/03/2016 17:46:02
cnencheva avatar cnencheva 4 Точки

Привет,

 

На мен също ми дава 88/100, но заради резултата ERROR, вместо който при мен излиза 0,00.. ако може някой да съдейства :))

това е кода ми в момента  https://pastebin.com/BzBcAzMF

 

Благодаря!

0
milentertimend avatar milentertimend 25 Точки

Не ти дава пълните точки, защото си допуснал грешки в конструкцията, а именно:

Когато потребителят напише arpajik за плод, обаче улучи ден от седмицата, той влиза в съответната проверка. И тъй като не е познал плода, цената за него е 0.00 и независимо от количеството си дава 0.00 за резултат. Т.е. няма как да влезе в последната проверка, където му казваш да напише "Error". Общо взето това ти е основната грешка. Имаш и две незначителни разминавания, ама се старай  да ги избягваш. Едното е, че според така написания код, няма вариант price да се окаже по-малко от 0. Другото е, че по принцип в общия случай последната проверка е само else без каквото и да било условие. Т.е. ако никое от горните условия не е изпълнено, направи еди какво си.

 

0
26/07/2017 20:27:06
cnencheva avatar cnencheva 4 Точки

Да, бях пропуснала да задам първоначална цена -1,0. Сега е ок. Благодаря :)

0
milentertimend avatar milentertimend 25 Точки

Това, че цената е била първоначално 0.00, а сега е -1.00 не променя нещата на практика, пак ще имаш същите точки.

0
Azvezdanov77 avatar Azvezdanov77 1 Точки

Ето мойто решение в Judge ми дава 100/100:

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

namespace FruitShop
{
    class Program
    {
        static void Main(string[] args)
        {
            var fruit = Console.ReadLine().ToLower();
            var day = Console.ReadLine().ToLower();
            double quantity = double.Parse(Console.ReadLine());
            var price = -1.0;

            if (day == "monday" || day == "tuesday" || day == "wednesday" || day == "thursday" || day == "friday")
            {
                if (fruit == "banana") price = 2.50;

                else if (fruit == "apple") price = 1.20;

                else if (fruit == "orange") price = 0.85;

                else if (fruit == "grapefruit") price = 1.45;

                else if (fruit == "kiwi") price = 2.70;

                else if (fruit == "pineapple") price = 5.50;

                else if (fruit == "grapes") price = 3.85;
            }

            else if (day == "saturday" || day == "sunday")
            {
                if (fruit == "banana") price = 2.70;

                else if (fruit == "apple") price = 1.25;

                else if (fruit == "orange") price = 0.90;

                else if (fruit == "grapefruit") price = 1.60;

                else if (fruit == "kiwi") price = 3.00;

                else if (fruit == "pineapple") price = 5.60;

                else if (fruit == "grapes") price = 4.20;
            }
            if (price >= 0) 
            {
                Console.WriteLine("{0:F2}", price * quantity);
            }
            else
            {
                Console.WriteLine("error");
            }
        }
        }
    }
 

0
GoldenBoyBG avatar GoldenBoyBG 26 Точки

Колега, когато даваме код (решение) е редно да не го пействаме (paste) директно, а да използваме сайтове като "pastebin", за да е по-сбито и четливо.

Благодаря!

0
Azvezdanov77 avatar Azvezdanov77 1 Точки

Извинявам се, не се съобразих, ще го имам в предвид занапред. 

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