Hallo,
Ik lees reeds geruime tijd dit forum en vandaag dus ook m'n eerste post. Ik ben begonnen met het leren van de C-programmeertaal en ben op een probleem gestoten. Ik wil een programma maken dat als input een bedrag krijgt en dan het minimum aantal munten geeft die er nodig zijn om dat bedrag te bereiken.Doordat de floats benaderende waarden zijn kloppen mijn berekeningen niet. Hoe pak ik dit aan?
Ik lees reeds geruime tijd dit forum en vandaag dus ook m'n eerste post. Ik ben begonnen met het leren van de C-programmeertaal en ben op een probleem gestoten. Ik wil een programma maken dat als input een bedrag krijgt en dan het minimum aantal munten geeft die er nodig zijn om dat bedrag te bereiken.Doordat de floats benaderende waarden zijn kloppen mijn berekeningen niet. Hoe pak ik dit aan?
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| #include <stdio.h> #include <stdlib.h> int main(void) { float waarde_munt[] = {500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01, 0}; int aantal_munt[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int i = 0; float bedrag; printf("Gelieve een bedrag in te vullen: \n"); scanf("%f", &bedrag); while (waarde_munt[i] > 0) { while ( bedrag - waarde_munt[i] >= 0) { bedrag = bedrag - waarde_munt[i]; aantal_munt[i] = aantal_munt[i] + 1; } i++; } for (i=0; i < 15; i++) { printf("%d van %f\n", aantal_munt[i], waarde_munt[i]); } system("PAUSE"); return 0; } |
[ Voor 6% gewijzigd door Verwijderd op 13-04-2006 20:45 ]
