Pokaż wyniki od 1 do 4 z 4
Temat: programowanie
-
20-11-12, 09:09 #1
- Dołączył
- November 12
- Postów
- 1
- Siła Reputacji
- 0
programowanie
Napisać program w języku c "wydający resztę (pensję, itp.)" za pomocą
najmniejszej liczby banknotów i monet.
(Uwaga! Należy dodać pęlę główna programu. Kolejne nawroty pętli
uzależnić od odpowiedzi na pytanie: "czy kontynuować ? (t\n)",
zadawane użytkownikowi po wyświetleniu wyników. )
-
20-11-12, 22:08 #2
- Dołączył
- August 09
- Postów
- 69
- Siła Reputacji
- 0
Odp: programowanie
A co to? Instytucja charytatywna dla leni? Podam algorytm. Pisz sobie kod sam:
1. Liczysz kwotę do oddania:
2. Masz tabelę z nominałami banknotów i monet. Od największej do najmniejszej
3. Bierzesz kwotę i porównujesz ją z aktualnym nominałem tablicy.
4. Jeśli kwota jest mniejsza niż aktualny nominał - olewasz krok 5 i 6.
5. Jeśli kwota jest większa od aktualnego nominału, robisz dzielenie i liczbę monet/banknotów o danym nominale sobie zapisujesz. Obliczasz resztę z dzielenia i ją do następnego kroku jako kwotę wyjściową przyjmujesz.
6. Sprawdzamy czy kwota jest równa 0.
7. Jeśli nie, przesuwamy się na następny nominał i idziemy do kroku 3.
8. Jeśli tak - koniec, czy raczej wyświetlenie wyniku i zapytanie o kontynuację.
Uwaga: normalnie liczby zmiennoprzecinkowe w komputerach są tylko przybliżeniem (liczby będące sumą potęg liczby 2 są idealnie zapisane, ale tylko one) i nie można im do końca ufać przy operacjach. Masz 2 wyjścia: stosujesz BCD albo "zamieniasz" rzeczywiste na całkowite. Ty masz tylko do 2 miejsca po przecinku, więc możesz zapisać kwotę jako liczbę groszy. A więc 1,23 PLN zapisz jako 123 grosze. W ten sposób unikniesz błędów zaokrągleń. Co do pętli to albo to rozwiązujesz etykietą (brzydkie podejście i w C/C++ nie polecane) albo nieskończoną pętlą z warunkiem wyjścia (break dla nieskończonego for lub do-while z odpowiednim warunkiem). Nie piszę więcej. Reszta to Twoja praca.Ostatnio edytowane przez thek ; 20-11-12 o 22:36
-
21-05-13, 12:19 #3
-
03-07-13, 19:14 #4
Informacje o temacie
Users Browsing this Thread
Aktualnie 1 użytkownik(ów) przegląda ten temat. (0 zarejestrowany(ch) oraz 1 gości)
Zakładki