Задача 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.");
}
}
}