Ocena użytkownikóww: ***** / 5
Nadesłany przez Jacek Gzel, 14 maja 2013 22:41
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
reszta.cs:
// Problem wydawania reszty C#
//(c) Jacek Gzel
// www.algorytm.org
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WydawanieReszty
{
class Program
{
static void Main(string[] args)
{
double reszta;
int i;
double[] nominaly = { 200, 100, 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01 };
Console.Write("Podaj kwotę do wypłaty: ");
//Jeśli odczytana kwota nie jest liczbą zamknij program
if (!double.TryParse(Console.ReadLine(), out reszta))
{
Console.WriteLine("Podano nieprawidłową kwotę!");
Console.ReadKey();
Environment.Exit(0);
}
i = 0;
while (reszta > 0)
{
if (reszta >= nominaly[i])
{
int liczbaNominalow = (int)(reszta / nominaly[i]);
reszta = Math.Round(reszta - nominaly[i] * liczbaNominalow, 2); //Odjęcie wypłaconych środków od reszty
Console.WriteLine("Wypłacono: " + liczbaNominalow + " x " + nominaly[i] + " PLN");
}
i++;
}
Console.ReadKey();
}
}
}