Loading...
ros1914 avatar ros1914 2 Точки

Дава грешка на задачата Metric Converter

Някой може ли да каже къде греша със задачата ,защо задачата  дава грешка в Judge. 

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

namespace Metric_Converter
{
    class Program
    {
        static void Main(string[] args)
        {
            decimal size = decimal.Parse(Console.ReadLine());
            string sourceMetric=Console.ReadLine().ToLower();
            string destMetric = Console.ReadLine().ToLower();

            decimal sizeMetres = 0.0M;
            if (sourceMetric=="km")
            {
                sizeMetres = size / 0.001M;
            }
            else if (sourceMetric=="ft")
            {
                sizeMetres = size / 3.2808399M;
            }
            else if (sourceMetric=="yd")
            {
                sizeMetres = size / 1.0936133M;
            }
            else if (sourceMetric=="in")
            {
                sizeMetres = size / 39.3700787M;
            }
            else if (sourceMetric=="mi")
            {
                sizeMetres = size / 0.000621371192M;
            }
            else if (sourceMetric=="cm")
            {
                sizeMetres = size / 100M;
            }
            else if (sourceMetric=="mm")
            {
                sizeMetres = size / 1000M;
            }

            decimal outputsizeMetres = 0.0M;
            if (destMetric =="km")
            {
                outputsizeMetres=sizeMetres* 0.001M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="ft")
            {
                outputsizeMetres = sizeMetres * 3.2808399M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="yd")
            {
                outputsizeMetres = sizeMetres * 1.0936133M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="in")
            {
                outputsizeMetres = sizeMetres * 39.3700787M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="mi")
            {
                outputsizeMetres=sizeMetres* 0.000621371192M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="cm")
            {
                outputsizeMetres = sizeMetres * 100M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="mm")
            {
                outputsizeMetres = sizeMetres * 1000M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
        }
    }
}
 

 

 

 

 

Тагове:
0
Programming Basics
Shinigami avatar Shinigami 24 Точки

пробвай да използваш switch case за да елиминираш if else-овете.

0
ros1914 avatar ros1914 2 Точки

Намерих грешката. Не съм задал стоиност на метри, т.е ако въведеш метри няма да изкара нищо и зададох стойност на метри и се оправи.Поправката съм я направил по-голяма.А със switch case  не знам още как се работи. 

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

namespace Metric_Converter
{
    class Program
    {
        static void Main(string[] args)
        {
            decimal size = decimal.Parse(Console.ReadLine());
            string sourceMetric=Console.ReadLine().ToLower();
            string destMetric = Console.ReadLine().ToLower();

            decimal sizeMetres = 0.0M;
            if (sourceMetric=="km")
            {
                sizeMetres = size / 0.001M;
            }
            else if (sourceMetric=="ft")
            {
                sizeMetres = size / 3.2808399M;
            }
            else if (sourceMetric=="yd")
            {
                sizeMetres = size / 1.0936133M;
            }
            else if (sourceMetric=="in")
            {
                sizeMetres = size / 39.3700787M;
            }
            else if (sourceMetric=="mi")
            {
                sizeMetres = size / 0.000621371192M;
            }
            else if (sourceMetric=="cm")
            {
                sizeMetres = size / 100M;
            }
            else if (sourceMetric=="mm")
            {
                sizeMetres = size / 1000M;
            }
            else if (sourceMetric=="m")
            {
                sizeMetres = size;

            }

            decimal outputsizeMetres = 0.0M;
            if (destMetric=="m")
            {
                Console.WriteLine("{0} {1}", sizeMetres, destMetric);
            }
            else if (destMetric =="km")
            {
                outputsizeMetres=sizeMetres* 0.001M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="ft")
            {
                outputsizeMetres = sizeMetres * 3.2808399M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="yd")
            {
                outputsizeMetres = sizeMetres * 1.0936133M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="in")
            {
                outputsizeMetres = sizeMetres * 39.3700787M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="mi")
            {
                outputsizeMetres=sizeMetres* 0.000621371192M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="cm")
            {
                outputsizeMetres = sizeMetres * 100M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
            else if (destMetric=="mm")
            {
                outputsizeMetres = sizeMetres * 1000M;
                Console.WriteLine("{0} {1}", outputsizeMetres, destMetric);
            }
        }
    }
}

 

0
Svilen1 avatar Svilen1 0 Точки

Благодаря ви за информацията.Доста дълго време се чудех какъв е проблема.

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