Loading...
Stanil7 avatar Stanil7 -1 Точки

моля кажете къде ми е грешката

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

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

namespace task3
{
    class Program
    {
        static void Main(string[] args)
        {
            var sqMetresGrapes = int.Parse(Console.ReadLine()); // квадратни метра лозе
            var eachSqMeterGrapesKilos = double.Parse(Console.ReadLine()); // кг грозде на кв. метър
            var neededLitreWines = int.Parse(Console.ReadLine()); // необходими литри вино
            var numberWorkers = int.Parse(Console.ReadLine()); // брой работници
            var useAbleGrape = (sqMetresGrapes * eachSqMeterGrapesKilos) * 0.40; // грозде използвано за вино
            var madeWine = useAbleGrape / 2.5; // направено вино
            if (madeWine < neededLitreWines)
            {
                Console.WriteLine("It will be a tough winter! More {} litres wine needed.", neededLitreWines - madeWine);
            }
            else Console.WriteLine("Good harvest this year! Total wine: {} litres. {} litres left -> {} litres per person.", 
                madeWine, (madeWine - neededLitreWines), Math.Round((madeWine - neededLitreWines) / numberWorkers ), 0);


        }
    }
}
 

Тагове:
0
Programming Basics
KrIsKa7a avatar KrIsKa7a 29 Точки

Имаш проблем при интерполацията на string-ове. В тези {} скоби трябва да стои число. Например:

Console.WriteLine("It will be a tough winter! More {0} litres wine needed.", neededLitreWines - madeWine);

От по-новия C# се поддържа и следната функция:

Console.WriteLine($"It will be a tough winter! More {neededLitreWines - madeWine} litres wine needed.");

Като обаче забележи, че ако искаш да работиш по този начин задължително трябва да имаш доларче преди началото на string-a. Хубаво е също ако ще пишеш по този начин, да изкарваш променлива за изчисленията, за да може да вписваш само нея в текста. Например:

var myVariable = neededLitreWines - madeWine;

Console.WriteLine($"It will be a tough winter! More {myVariable} litres wine needed.");

Също така ако ти трябва закръгляне може да използваш два варианта:

  • Math.Round(myVariableName, countOfNumbersAfterDecimalSplitter);
  • Console.WriteLine($"It will be a tough winter! More {myVariable:f2} litres wine needed."), където числото след f в конструкцията f2 е равно на броя символи след десетичната запетая.
0
24/01/2018 07:16:22
svetoslav_0 avatar svetoslav_0 1009 Точки

Не става въпрос просто за закръгляне, а за закръгляне към по-високото и по-ниското цяло число. Math.Round ще го закръгли на 4.2 -> 4, но 4.6 -> 5, така че с него ще има грешки

0
24/01/2018 10:26:41
KrIsKa7a avatar KrIsKa7a 29 Точки

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

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