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

Лица на фигури

Моля за помощ от публиката с тази задача, защото не ми се получават нещата и вече втори ден я мъча. Уж му зададох за всяка фигура да очаква определен брой променливи и въпреки това конзолата очаква 4 наведнъж, а накрая дори не изписва резултата.

Какво съм объркал?

 

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

namespace ShapesAreas
{
    class Program
    {
        static void Main(string[] args)
        {
            //variables
            string square;
            string rectangle;
            string circle;
            string triangle;
            double area;

            //user input
            string userinput = Console.ReadLine();   
            
            //square area
            if (Console.ReadLine() == "square")
            {
                double SideA = double.Parse(Console.ReadLine());
                area = Math.Pow(SideA, 2);
                Console.WriteLine("{0:1.###}", area);
            }

            //rectangle area
            if (Console.ReadLine() == "rectangle")
            {
                double SideA = double.Parse(Console.ReadLine());
                double SideB = double.Parse(Console.ReadLine());
                area = SideA * SideB;
                Console.WriteLine("{0:1.###}", area);
            }

            //circle area
            if (Console.ReadLine() == "circle")
            {
                double Radius = double.Parse(Console.ReadLine());
                area = Math.PI * Math.Pow(Radius, 2);
                Console.WriteLine("{0:1.###}", area);
            }

            //triangle area
            if (Console.ReadLine() == "triangle")
            {
                double SideA = double.Parse(Console.ReadLine());
                double Height = double.Parse(Console.ReadLine());
                area = (SideA * Height) / 2.0;
                Console.WriteLine("{0:1.###}", area);
            }
        }
    }
}

 

-1
Programming Basics
TeodorDimitrov89 avatar TeodorDimitrov89 264 Точки

Промени тази част :

if (Console.ReadLine() == "square")
            {
                double SideA = double.Parse(Console.ReadLine());
                area = Math.Pow(SideA, 2);
                Console.WriteLine("{0:1.###}", area);
            }

на следната:

 if (userinput == "square")
            {
                double SideA = double.Parse(Console.ReadLine());
                area = Math.Pow(SideA, 2);
                Console.WriteLine("{0:1.###}", area);
            }

Ти веднъж четеш входа след което трябва да сравниш променливата със това което е прочтено,а не да го четеш пак от конзолта.

Аналогично и за останалите варианти.

Ако не успееш виж това: http://pastebin.com/hq0h5kyS

2
01/06/2016 20:40:47
rado84 avatar rado84 1 Точки

Вярно. Съвсем логично звучи. Защо съм писал Console Readline и аз не знам, сигурно съм спал, докато съм писал кода. А като оправих и плейсхолдърите, нещата си дойдоха по местата.

Мерси за помощта. :)

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