Софтуерно Инженерство
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