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

4. Fruit or Vegetable Issue

Здравейте! 

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

Условието на задачата е: 

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

  • Плодовете "fruit" са banana, apple, kiwi, cherry, lemon и grapes
  • Зеленчуците "vegetable" са tomato, cucumber, pepper и carrot
  • Всички останали са "unknown"

А това е моят код: http://pastebin.com/RGkNiJdu 

По някаква причина зеленчуците ми ги изкарва зеленчуци а плодовете unknown. Пробвах да разменя местата на плодовете и зеленчуците в кода, оставих само едно else накрая вместо да има още едно след плодовете, и като цяло каквото и да пробвам да разместя резултата ми е същия. Judge ми дава 50 от 100 за този отговор. Сигурна съм че грешката ми е супер тъпа, но все пак... 

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

0
Programming Fundamentals
skinwalker avatar skinwalker 21 Точки

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

 

if(stringInput.Equals("banana") || stringInput.Equals("apple") || /* continue like this with each fruit */ ) {

// we found a match, it's a fruit

}else if(stringInput.Equals("tomato") || stringInput.Equals("cucumber") || /* continue like this with each vegetable*/ ) {

//we found a match, it's a vegetable

}else{

//unknown

 

 

Ако все още не ти дава 100/100 ще ти дам пълен код, но се опитай да допълниш примера горе.

 

0
09/11/2016 19:14:52
Pilgrimage avatar Pilgrimage 515 Точки

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

Проверяваш последователно за bananaapplekiwicherrylemon и grapes и ако е някое от тях - печаташ fruit.

След това (примерно) проверяваш за tomatocucumberpepper и carrot и ако е някое от тях - печаташ vegetable.
И ако няма съвпадение - печаташ unknown.

0
MonikaKalinova avatar MonikaKalinova 0 Точки

Сега пробвах по този начин - http://pastebin.com/5GfGVyTw

Visual Studio нещо не му харесва това stringInput, казва CS0649 Field 'Program.stringInput' is never assigned to, and will always have its default value null. А Judge ми дава Runtime error. 

0
skinwalker avatar skinwalker 21 Точки

Премахни тези 2 реда 

  1. string vegetable = Console.ReadLine();

  2. string fruit = Console.ReadLine();

 

и на тяхно място сложи

 

string stringInput = Console.ReadLine();

0
Pilgrimage avatar Pilgrimage 515 Точки

Ето примерно решение:

using System;

namespace _04_Fruit_or_Vegetable
{
    class Program
    {
        static void Main()
        {
            string item = Console.ReadLine().ToLower();

            if (item == "banana" || item == "apple" || item == "kiwi" || item == "cherry" || item == "lemon" || item == "grapes")
                Console.WriteLine("fruit");
            else if (item == "tomato" || item == "cucumber" || item == "pepper" || item == "carrot")
                Console.WriteLine("vegetable");
            else
                Console.WriteLine("unknown");
        }
    }
}
 

0
aleksandar88 avatar aleksandar88 0 Точки

това решение тествал ли си го?? защото аз го направих по същия начин и ми дава грешка!!

0
Pilgrimage avatar Pilgrimage 515 Точки

Разбира се!

Току-що пак го пробвах и работи!

Освен ако не са променили нешо в условието... или някой тест в Джъджа оттогава...

0
trandy avatar trandy 1 Точки

Реших да добавя едно решение с метод:http://pastebin.com/EWH6TnFu .Надявам се да съм полезен на някого! :)

0
VeselinStoychev avatar VeselinStoychev 14 Точки

Може и с кейсове. Съдията го приема 100/100

using System;

namespace FruitorVegetable
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = Console.ReadLine();
            switch (a)
            {
                case "banana":
                case "apple":
                case "kiwi":
                case "cherry":
                case "lemon":
                case "grapes":
                    Console.WriteLine("fruit");
                    break;
                case "tomato":
                case "cucumber":
                case "pepper":
                case "carrot":
                    Console.WriteLine("vegetable");
                    break;
                default:
                    Console.WriteLine("unknown");
                    break;
            }
           
        }
    }
}

0
lamerss avatar lamerss 2 Точки

Няма значение напредналоста и това дали задачата е лесна или не.Тази грешка също я дава като сбъркаш имената дадени да въведеш .Тоест вместо "pepper" напишеш "papper" и тн. И в крайна сметка си играеш един час да разбереш че грешката е една буквичка :D И другият път стриктно се следи какво точно трябва да се отпечата .

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