Професионална програма
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