algorytm.org

Implementacja w JavaScript



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 JavaScript
Ocena użytkownikóww: *****  / 7
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 18 czerwca 2011 14:00
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.html:
...

function wydaj()
{
   // przypisanie obiektu pola tekstowego do zmiennej
   var pole_liczba = document.forms['reszta'].liczba;
   // pobranie liczby
   var R = pole_liczba.value;
    
    
   //tablica dostepnych nominalow
   var N = [200, 100, 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01];

   if (!isNaN(R)){
   	
      var wynik = "Reszta to:\r\n";
      var i = 0;
      
      //dopoki nie wydano calej reszty
      while (R>0 && i<=N.length) {
      	 //sprawdz czy mozna wydac danym nominalem
         if (R >= N[i]) {
            P=Math.floor(R/N[i]);                   //ile razy wydac dany nominal
            R=Math.round(100*(R-(N[i]*P)))/100;     //zmniejsz reszte o wydany nominal
            wynik += N[i] + " PLN x " + P + "\r\n"; //wypisz wynik
         }
         //rozpatrz kolejny nominal
         i++; 
      } 
     
      alert(wynik);
   }
   else  {
     alert('Podano nieprawidlowa wartosc!');
     pole_liczba.focus();
  }
  return false;
}
...
Dodaj komentarz