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 Trainer 6849 Точки

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

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

Направи после графично приложение (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 641 Точки

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

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