Софтуерно Инженерство
Loading...
+ Нов въпрос
BobbyCuBG avatar BobbyCuBG 1 Точки

Simple calculation > Celsius to Fahrenheit

Здравейте на всички, започнах с бебешки стъпки да навлизам в програмирането. Заровил съм си главата в много здраво учене и вече мисля че започнах да си имам на представа от най-елементарните основи на C#. Започнах да си създавам безкрайно елементарни неща от основните познания които придобих. Успях да си създам калкулатор за температурите. Намерих формулата за конвертиране в Гугъл и го приложих в приложението. Кода който написах е безкрайно елементарен и РАБОТИ. Въпроса който имам е дали има по-интелигентен вариант да се напише същия код ? Обичам да търся по-сложни решения на дадени ситуации и да изследвам кода и да търся материали в интернет за да разбера точно кое какво означава. Благодаря.

{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Fahrenheit  = ");
            var fahrenheit = double.Parse(Console.ReadLine());
            var celsius = (fahrenheit - 32) * 5/9 ;
            Console.Write("Celcius = {0}", celsius);
            Console.WriteLine(celsius);
        }
    }
}

 

Тагове:
0
C# OOP Basics 08/03/2017 20:38:07
RoYaL avatar RoYaL SoftUni Team Trainer 6883 Точки

Има едни такива хора дето за всяко решение имат проблем :)) Програмирането е за да улеснява, не за да усложнява :))

ОК, ето ти задание за да се усложнят нещата: Направи програмата да има повече от тези две мерни единици за температура. Намери още една-две и я направи да конвертира от една в друга, по зададен вход от потребителя.

Направи после графично приложение (WinForms), което прави същото преобразование. Опитай се максимално малко код да повториш в двете приложения.

Понеже ще е голямо изнасилване да направим текущия код да ползва някакви други приоми и същевременно да има смисъл, затова просто вдигаме левела на заданието :-)

1
08/03/2017 20:48:33
BobbyCuBG avatar BobbyCuBG 1 Точки

Много благодаря. Вдигам левела всеки ден. Започнах да слушам лекцийте от Януарската сесия и след всеки топик който е дискутиран отварям VS и се започва с доста здрава практика. Все още знам малко но колкото и да е малко го знам и разбирам много добре. За това чудо което  съм се хванал да правя с тези температури имам желание да го разраствам във времето с придобиването на нови знания. Първата стъпка е успешна. Наистина мисля че няма нужда да усложнявам допълнително каквото и да е щом и така си работи. Съветът който ми даде е ценен за мен. Благодарско.

0
ThePSXHive avatar ThePSXHive 436 Точки

Според мен е порочна практика всяко по-сложно решение да се асоциира с по-интелигентен подход. Ако си попадал някога на т. нар. "Zen of Python", ще забележиш едно от твърденията:

Simple is better than complex.

Целта, както на този етап, така и след време, винаги ще бъде писането на код, който е възможно най-лесноразбираем, достъпен, с ясни коментари (ако има нужда от такива), колкото се може по-самоописателен (както ти си подходил, вместо с някакви произволни имена за променливите, като f и c, примерно), и поддръжката му да не е твърде скъпа (най-вече от гледна точка на времето, което трябва да се отделя за да бъде разглеждан, разбран и модифициран).

0
BobbyCuBG avatar BobbyCuBG 1 Точки

Благодарско за съвета. Наистина няма нужда да си усложнявам ситуацията като така или иначе си работи и така. Колкото повече чета и уча придобивам все повече знания но и разбирам че ще са нужни много много многоо часове прекарани през монитора и учебниците. 

0
kolioi avatar kolioi 394 Точки

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

C# 6 наред с другите хубави неща поддържа и using static, та твоя код може да се "оптимизира" още, ето така:

http://pastebin.com/AvA1LRhH

Дава 100/100 в Джаджа smiley

0
BobbyCuBG avatar BobbyCuBG 1 Точки

Имам още един върпос. Може ли някой да ме насочи, какъв материал да търся за следващата ми идея ? Идеята ми е че искам да направя конвертъра двустранен. В смисъл да изчислява както F към C, така и C към F.  Първо искам да се принтира върпос от  порядъка на " От каква в каква температура искате да се конвертира?". Ще напиша още един код за C към F и предполагам ще ми трябва if / else за да мога да стартирам единия или другия код но не съм много сигурен. 

 

 

0