Programming Basics Online Exam - 7 January 2018 C# - 01. Bakery
моля за помощ излиза ми на изхода Pure income: 329.30 lv. вместо Pure income: 329.10 lv.
https://pastebin.com/iEL4XLEm
моля за помощ излиза ми на изхода Pure income: 329.30 lv. вместо Pure income: 329.10 lv.
https://pastebin.com/iEL4XLEm
Използвай double или decimal при сметките особено като имаш деление
Колегата е прав. При изчисление на пари винаги ползвай decimal и не забравяй да слагаш .00m; накрая, че доста ядове и аз съм имал по същата причина..
На мен ми бягат изходи 1 и 3, нулевите са верни... Някой с идея за входа, или къде ми се чупи решението?
using System;
namespace Bakery
{
class Program
{
static void Main(string[] args)
{
decimal doughStart = decimal.Parse(Console.ReadLine());
decimal oneItemWeight = decimal.Parse(Console.ReadLine());
decimal oneItemPrice = decimal.Parse(Console.ReadLine());
decimal itemsSold = decimal.Parse(Console.ReadLine());
decimal sweetSold = decimal.Parse(Console.ReadLine());
decimal dailyIncome = itemsSold * oneItemPrice;
decimal doughBredNeeded = itemsSold * oneItemWeight;
decimal outcomeDoughPrice = (doughStart + doughBredNeeded)/250M;
decimal sweetPrice = oneItemPrice + (oneItemPrice * 0.25M);
decimal sweetWeight = oneItemWeight - (oneItemWeight * 0.2M);
decimal sweetDough = sweetSold * sweetWeight;
decimal sweetIncome = sweetSold * sweetPrice;
decimal finalIncome = (dailyIncome + sweetIncome) - outcomeDoughPrice;
decimal finalDough = doughBredNeeded + sweetDough;
Console.WriteLine("Pure income: {0:0.00} lv.",finalIncome);
Console.WriteLine("Dough used: {0} g.",(int)(doughBredNeeded+sweetDough));
}
}
}
Console.WriteLine("Dough used: {0} g.",(int)(doughBredNeeded+sweetDough)); - тук при 2.1+2.3 получаваш 4.4 и с cast го правиш на 4.. може би искат 5? закръглянето май ти бяга на този ред.
Благодаря колега!