Професионална програма
Loading...
Kiko8012 avatar Kiko8012 2 Точки

05. Supplies for School C# Basics

Здравейте, колеги!

Имам проблем с 5-та задача от файла с упражненията на курса Programming Basics with C# - май 2022.

Логически всичко ми се струва в реда на нещата, а и Visual Studio не споделя за синтактични грешки.

Пуснах дебъгера няколко пъти и това, което установих, но не виждам причина защо не работи е следния ред

double discountPercentage = discount / 100; На дебъгера, така както го показва, ми дава резултат от операцията 0!

Гледах и други подобни проблеми и просто  си нямам на идея какво бъркам. Извинявам се, много съм зелен в материята и за някои това може да е глупаво и банално, но разчитам на вашата помощ, за която ви благодаря. Целия код е пейстнат след условието на самата задача по-долу.

Ето го условието.

Учебната година вече е започнала и отговорничката на 10Б клас - Ани трябва да купи определен брой пакетчета с химикалипакетчета с маркери, както и препарат за почистване на дъска. Тя е редовна клиентка на една книжарница, затова има намаление за нея, което представлява някакъв процент от общата сума. Напишете програма, която изчислява колко пари ще трябва да събере Ани, за да плати сметката, като имате предвид следния ценоразпис:

  • Пакет химикали - 5.80 лв.
  • Пакет маркери - 7.20 лв.
  • Препарат - 1.20 лв (за литър)

Вход

От конзолата се четат 4 числа:

  • Брой пакети химикали - цяло число в интервала [0...100]
  • Брой пакети маркери цяло число в интервала [0...100]
  • Литри препарат за почистване на дъска - цяло число в интервала [0…50]
  • Процент намаление - цяло число в интервала [0...100]

Изход

Да се отпечата на конзолата колко пари ще са нужни на Ани, за да си плати сметката.

Ето го сорса

 

using System;

namespace P05.SuppliesForSchool
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int packOfPens = int.Parse(Console.ReadLine());
            int numberOfMarkers = int.Parse(Console.ReadLine());
            int litersDetergent = int.Parse(Console.ReadLine());
            int discount = int.Parse(Console.ReadLine());

            double priceOfThePens = packOfPens * 5.80;
            double priceOfMarkers = numberOfMarkers * 7.20;
            double priceOfDetergent = litersDetergent * 1.20;
            double priceOfAllMaterials = priceOfThePens + priceOfMarkers + priceOfDetergent;
            double discountPercentage = discount / 100;

            double priceWithDiscount = priceOfAllMaterials - (priceOfAllMaterials * discountPercentage);
            Console.WriteLine(priceWithDiscount);


        }
    }
}
 

0
Programming Basics with C#
Kiko8012 avatar Kiko8012 2 Точки

Колеги, явно се оказва, че и при мен проблема е като при колегата който също го е бил закъсал няколко теми по надолу. Отговора, който е помогнал при него е следния 

 

Axiomatik 1849 Точки

BEST ANSWER

Use Debug to see the difference between int discount and double discount.

След като промених и аз от int на double нещата станаха. Доколкото прочетох в една от темите, за да се получи резултат от аритметичната операция, в която очаквате резултат с дробна запетая/точка (т.е. double), то поне едното делимо/делител (в моя случай е делене) трябва да е от double тип. Поне аз стигнах до подобен извод. 

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