algorytm.org

Implementacja w C#



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Problem wydawania reszty - Implementacja w C#
Ocena użytkownikóww: *****  / 5
SłabyŚwietny
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();
        }
    }
}
Dodaj komentarz