Loading...
todorovd avatar todorovd 4 Точки

Лице на триъгълник

Здравейте,

 

Част съм от Октомврийския курс по Programming Basics. Всички може би сте преминали през задачата за намиране на лице на триъгълник. Видях темата, но въпреки това когато рънна решението, ми дава, the program has stopped working. Напълно начинаещ съм, така че имам много главоблъсканици. Решението ми е това:

var a = decimal.Parse(Console.ReadLine());

var b = decimal.Parse(Console.ReadLine());
var result = a * b;
Console.WriteLine(result);

Сигурно ми е глупав въпроса и отговора ми е пред очите, а и най-вероятно пропускам нещо и не го виждам, но както казах съм Noob. Any help is welcome. 

Поздрави.

 

0
Programming Basics
koksibg avatar koksibg 892 Точки

Здравей, програмката си работи. Може да ти даде грешка, ако вместо число въведеш някакъв друг символ или стринг, а също и ако вместо 3.5 му въведеш 3,5 - тогава пак ще ти даде грешка - но това вече зависи от настройките на Windows-а. В другите случай може да ти се е супило VS, и тогава трябва да си преинсталираш VS.

Едит: Лице на триъгълник се намира по формулата:

(a * ha) / 2, където а е една от страните на триъгълника, а hе височината към нея.

Формулата където си дал е за правоъгълник.

0
16/10/2016 23:39:56
PavlinPetkov88 avatar PavlinPetkov88 24 Точки

Като за начало не ти е вярна формулата( прочети внимателно условието на задачата), лице на триъгълник се намира "а * h / 2".

За тази задача може вместо decimal(той се използва за финансови изчисления) да използваш "double" .

       

using System;

class TriangleArea
{
    static void Main()
    {
        var a = double.Parse(Console.ReadLine());
        var h = double.Parse(Console.ReadLine());
        var area1 = (a * h) / 2;
        var area = Math.Round(area1, 2);
        Console.WriteLine("Triangle area = " + area);
    }
}

 

Това е моето решение.

0
16/10/2016 23:46:29
Undaunted avatar Undaunted 0 Точки

Някой може ли да ми я обясни тази задача защото немога да разбера нищо!

0
morski77 avatar morski77 137 Точки

Решението ти е правилно и като го копирам си работи.

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

Или просто не стартираш същия проект.

0
todorovd avatar todorovd 4 Точки

Да, пичове извинявам се имах предвид лице на правоъгълник.

 

С този последния сорс код, стартирам програмката и ми изкарва черния прозорец, но в момента, в който напиша 2*7 и цъкна Ентър, чупи VS-a

0
koksibg avatar koksibg 892 Точки

Как пишеш 2 * 7....Първо системата очаква на 1-я ред едно число, след като си  го въведел и натиснеш ентер, системата очаква на втория ред да въведеш другото число, след което пак ентер, след което системата ти връща (принтира) резултата. Ти не въвеждаш формулата...а числата.

Натискаш Cntr. + F5 и стартираш програмката.

0
16/10/2016 23:48:57
PavlinPetkov88 avatar PavlinPetkov88 24 Точки

Кодът ти работи успешно.Опитай да не пишеш на първия ред "2*7", а опитай 2 "Enter" > 7 "Enter" = и получаваш резултата.

0
IvoTsochev avatar IvoTsochev 0 Точки

И как в крайна сметка изглежда кода, защото и аз не мога да се оправя с тази задача? Ето какво пиша аз:

 

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var a = decimal.Parse(Console.ReadLine("2"));
            var b = decimal.Parse(Console.ReadLine("7"));
            var result = a * b;
            Console.WriteLine(result);

            
        }
    }
}

0
18/10/2016 22:40:41
ambiorix avatar ambiorix 640 Точки

Console.ReadLine()  кара конзолния прозорец на Windows да се отвори и чака потребителят да въведе стойност и да натисне Enter, а не трябва ти да му задаваш фиксирани стойности (2 и 7 в твоя случай). По този начин всеки път като натиснеш Ctrl + F5 ще можеш да напишеш 2 различни стойности(например 4 Enter 6 Enter -> 24; 5.6 Enter 3.8 Enter -> 21.28).

static void Main(string[] args)
        {
            var a = decimal.Parse(Console.ReadLine());
            var b = decimal.Parse(Console.ReadLine());
            var result = a * b;
            Console.WriteLine(result);  
        }

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