Categories
Visual C#

Задача: Coffee Vending Machine

Описание

Кафе-машината в Академия Телерик не работи правилно. Модулът за връщане на ресто на машината е създава проблеми. Персоналът вече е повикал техник, но той се намира в едно от стотиците задръствания в центъра на София. Понеже е изпитен ден, дълга опашка от „девелъпъри“ с кръвожадни погледи чака за кафе. Задачата ти е да помогнеш за временното поправяне на машината, преди пристигането на техника, за да успокоиш програмистите.

Решение

using System;
namespace TelerikExamples {
class CoffeeVendingMachine {
static void Main() {
short i;
short j;
short[] coinsNumber = new short[5];
decimal[] coinsValue = {
0.05 M,
0.10 M,
0.20 M,
0.5 M,
1.00 M
};
decimal totalMoney = 0.00 M;
for (i = 0; i < 5; i++) {
coinsNumber[i] = short.Parse(Console.ReadLine());
totalMoney += coinsNumber[i] * coinsValue[i];
}
decimal givenAmount = decimal.Parse(Console.ReadLine());
decimal itemPrice = decimal.Parse(Console.ReadLine());
if (givenAmount < itemPrice) {
Console.WriteLine("More {0:F2}", itemPrice - givenAmount);
} else {
if (totalMoney < (givenAmount - itemPrice)) {
Console.WriteLine("No {0:F2}", givenAmount - itemPrice - totalMoney);
} else {
decimal change = givenAmount - itemPrice;
decimal availableMoney = totalMoney - change;
for (i = 4; i >= 0; i--) {
for (j = 0; j < coinsNumber[i]; j++) {
change -= coinsValue[i];
if (change < 0) {
change += coinsValue[i];
break;
} else if (change == 0) {
break;
}
}
if (change == 0) {
break;
}
}
if (change == 0) {
Console.WriteLine("Yes {0:F2}", availableMoney);
}
}
}
}
}
}