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

Задача 06. Baking Competition от изпита на 27/28 юли

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

Ще съм благодарен ако ми кажете къде греша на тази задача, че ме измъчи :) Работи нормално, но дава само 20 точки и не мога да намеря защо. Нещо в това да е цяло положително число бъркам, но пак не разбирам защо - използвам Math.Abs. Ето и условието:

По време на почивката на семейството на Ани се организирало благотворително състезание по готварство и майката на Ани се записала за участие. Всеки един от участниците избирал колко и кои от възможните сладкиши да направи, а те били следните - сладки, торти и гофрети. След като се изпекат, сладкишите се продават на следните цени за брой: сладки - 1,50, торти - 7,80, гофрети - 2,30,  а събраната сума се дарява за благотворителност.

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

Вход

От конзолата се четат следните редове:

  • Първи ред – брой участници в състезанието – цяло положително число в интервала [1…10]

За всеки един от участниците се четат следните редове до прочитане на командата "Stop baking!":

  • Първи ред – име на участник - текст

  • Втори ред – вид сладкиш - текст с възможности: "cookies", "cakes", "waffles"

  • Трети ред – брой изпечени сладкиши от дадения вид - цяло число в интервала [1…1000]

Изход

За всеки един от участниците се отпечатва по един ред:

  • "{име на съответния участник} baked {брой изпечени сладки} cookies, {брой изпечени торти} cakes and {брой изпечени гофрети} waffles."

Накрая да се отпечатат два реда, съдържащи съответно общия брой на изпечените сладкиши и събраната сума за благотворителност, форматирани по следния начин:

  • "All bakery sold: {брой сладкиши}"

  • "Total sum for charity: {сума за благотворителност} lv."

Сумата да бъде форматирана до втората цифра след десетичния знак.

 

Ето и моето решение:

using System;

namespace Exam6
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = Math.Abs(int.Parse(Console.ReadLine()));

            int totalCount = 0;
            double totalSum = 0;

            double priceCookies = 1.50;
            double priceCakes = 7.80;
            double priceWaffles = 2.30;

            int totalCountCookies = 0;
            int totalCountCakes = 0;
            int totalCountWaffles = 0;

            for (int i = 1; i <= count; i++)
            {
                int countCookies = 0;
                int countCakes = 0;
                int countWaffles = 0;

                string name = Console.ReadLine();
                string typeMeal = Console.ReadLine();

                while (typeMeal != "Stop baking!")
                {
                    int countMeal = int.Parse(Console.ReadLine());

                    if (typeMeal == "cookies")
                    {
                        countCookies = countMeal;
                        totalCountCookies += countCookies;
                    }

                    else if (typeMeal == "cakes")
                    {
                        countCakes = countMeal;
                        totalCountCakes += countCakes;
                    }

                    else
                    {
                        countWaffles = countMeal;
                        totalCountWaffles += countWaffles;
                    }

                    typeMeal = Console.ReadLine();
                }

                Console.WriteLine($"{name} baked {countCookies} cookies, {countCakes} cakes and {countWaffles} waffles.");
            }

            totalCount = totalCountCookies + totalCountCakes + totalCountWaffles;
            totalSum = (totalCountCookies * priceCookies) + (totalCountCakes * priceCakes) + (totalCountWaffles * priceWaffles);

            Console.WriteLine($"All bakery sold: {totalCount}");
            Console.WriteLine($"Total sum for charity: {totalSum:F2} lv.");
        }
    }
}

 

0
Programming Basics with C# 29/07/2019 19:12:25
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.