Loading...
Svetlin_Barzev avatar Svetlin_Barzev 1 Точки

Домашно C#, Area of Figures

Здравейте, написах си програмата, в judge даде 100 точки, а той нали е претенция... Проблема е, че във Visual Studio не закръгля до третия знак и това е... Изписва си цялото число. Зелен съм още, явно нещо не правя както трябва, пробвах по други начини да изписвам кода, програмата си работи всеки път, но не закръгля до третия знак... Къде греша?  Благодаря предварително :)

Ето го кода:                      

 

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

namespace AreaOfFigures
{
    class Program
    {
        static void Main(string[] args)
        {
            var figure = Console.ReadLine();
            if (figure == "square")
            {
                var a = double.Parse(Console.ReadLine());
                var S = a * a; Math.Round(S, 3);
                Console.WriteLine("S= {0}", S);
            }
            else if (figure == "rectangle")
            {
                var a1 = double.Parse(Console.ReadLine());
                var a2 = double.Parse(Console.ReadLine());
                var S1 = a1 * a2; Math.Round(S1, 3);
                Console.WriteLine("S={0}", S1);
            }
            else if (figure == "circle")
            {
                var r = double.Parse(Console.ReadLine());
                var S2 = Math.PI * r * r; Math.Round(S2, 3); 
                Console.WriteLine("S={0} ", S2); 
            }
            else if (figure == "triangle")
            {
                var a3 = double.Parse(Console.ReadLine());
                var h = double.Parse(Console.ReadLine());
                var S3 = (a3 * h) / 2; Math.Round(S3, 3);
                Console.WriteLine("S={0}", S3);
            }
            else
                Console.WriteLine("The figure is not valid");
        }
    }
}

0
Programming Basics 28/06/2016 16:41:19
borislav9212 avatar borislav9212 745 Точки

Добавяш " F3 " в placeholder->  Console.WriteLine("S= {0:F3}", S); със 3 казваш до кой знак искаш да ти закръгли, може да  променяш числото, взависимост до кой знак искаш да ти бъде закръглено.
           

0
28/06/2016 16:47:26
Svetlin_Barzev avatar Svetlin_Barzev 1 Точки

Благодаря ти!  :)

В такъв случай няма нужда от Math.Round-a в по-горния ред?

А защо не се получава по моят начин? 

С добавяне на F3 се получава, но пък ако резултата е цяло число, например 45, то програмата изписва 45.000

0
28/06/2016 17:07:40
borislav9212 avatar borislav9212 745 Точки

По твоя начин, ще стане ето така:

           else if (figure == "circle")
            {
                var r = double.Parse(Console.ReadLine());
                var S2 =Math.Round(Math.PI * r * r , 3);
                Console.WriteLine("S= {0}",S2);

            }

или директно  в конзолата -> Console.WriteLine("S={0} ", Math.Round(S2, 3));

или трети вариант - с отделна променлива. кочто да четеш от конзолата:

         var r = double.Parse(Console.ReadLine());
                var S2 = Math.PI * r * r;
                var result = Math.Round(S2, 3);
                Console.WriteLine("S={0} ", result);

 var S2 = Math.PI * r * r; Math.Round(S2, 3); -> по този начин както си написъл Math,Round, ти не го извикваш никъде и затова не ти закръгля.

С " F3 " си работи перфектно. Ето едно решение " F3 " и " switch - case "  ->http://pastebin.com/DPUFwuZ3

1
28/06/2016 17:56:46
Svetlin_Barzev avatar Svetlin_Barzev 1 Точки

Благодаря още веднъж! Всичко написано ми е много полезно.

1
Plamen27 avatar Plamen27 599 Точки

Здравей Светлин,

За в бъдеще поствай кода примерно в PasteBin, такива са правилата.

В PasteBin направи регистрация след това:

1/ +new paste

2/ Постваш кода си в полето New Paste

3/ Задаваш някакви специални стойности на тези полета, ако искаш, ако не оставяш така:

Syntax Highlighting:

Paste Expiration:

Paste Exposure:

Paste Name / Title:

4/ натискаш бутона Create New Paste - и готово -  имаш вече линк чрез който може да шеарваш кода със народа :)

Всичко това може да направиш и анонимно като гост юзър без регистрация.

Успех.

0
Svetlin_Barzev avatar Svetlin_Barzev 1 Точки

Благодаря за подробната инструкция и се извинявам, че не го направих така. От тук нататък ще поствам по този начин :)

0
petel3 avatar petel3 0 Точки

 else if (figure == "circle")
            {
                var r = double.Parse(Console.ReadLine());
                var S2 = Math.PI * r * r; 
                Console.WriteLine("S={0}", Math.Round(S2, 3));
            }
Това също е вариант :)

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