Основи на програмирането (Домашно 25.06.2016) Проблеми
Здравейте ,
Имам нужда от малко помощ и акъл :)
Реших си задачата за конвертора на мерни единици но имам малък проблем и не разбирам защо се получава така . Когато дифинирам var in = 39.3700787; in ми го подчертава като грешка и не ми бачка програмата . Преименувах го на inch и всичко заспа и върви , но judge системата реши че трябва да ми е гадно и тя подава мерна едимица in . За това тя ми режи 18 точки . Някои може ли да сподели защо ми го дава като грешка или какво трябва да допиша за да дефенирам че това е променлива ?
using System;
namespace _08.Convert
{
class Program
{
static void Main(string[] args)
{
var value = double.Parse(Console.ReadLine());
var input = Console.ReadLine();
// Enter m , mm , cm , mi , inch , km , ft , yd
var output = Console.ReadLine();
// Enter m , mm , cm , mi , inch , km , ft , yd
var meter = 1;
var mm = 1000;
var cm = 100;
var mi = 0.000621371192;
var inch = 39.3700787;
var km = 0.001;
var ft = 3.2808399;
var yd = 1.0936133;
switch (input)
{
case "m":
break;
case "mm":
value = value / mm;
break;
case "cm":
value = value / cm;
break;
case "mi":
value = value / mi;
break;
case "inch":
value = value / inch;
break;
case "km":
value = value / km;
break;
case "ft":
value = value / ft;
break;
case "yd":
value = value / yd;
break;
default:
break;
}
switch (output)
{
case "m":
break;
case "mm":
value = value * mm;
break;
case "cm":
value = value * cm;
break;
case "mi":
value = value * mi;
break;
case "inch":
value = value * inch;
break;
case "km":
value = value * km;
break;
case "ft":
value = value * ft;
break;
case "yd":
value = value * yd;
break;
default:
break;
}
Console.WriteLine(value + " " + output);
}
}
}
Здравей ,
Тоест когато използвам in , трябва да го слагам в двойни кавички "in" ? Така ли се прави ?
Може ли да споделиш как е правилно да се запише ?
Оставяш променливата като var inch, а в switch конструкцията пишеш нещо от рода на:
Благодаря много , получи се 100/100 :)
Важното е да напишеш case "in" за да знае, че при въведени символи - in - от клавиатурата трябва да извърши примерно value = value / inch. Т.е. грешиш в горните редове на тези които си болд-нал. А декларирането на всички тези "променливи", които не се променят, а са си направо константи, на мен лично ми се струва малко излишно в случая, и е все тая там дали даваш име на константата inch, inc, inh ..
Ако искаш може и да използваш служебното име за in за променливата ето така:
var @in = 39.3700787;