Program obliczający ilość nominałów

Odpowiedz Nowy wątek
2006-11-19 17:39

Rejestracja: 13 lat temu

Ostatnio: 13 lat temu

0

Mam napisać program , który pobiera od użytkownika jakąś kwote pieniędzy i wypisuje ile jest banknotów 200 zł , 100 zł itp az do monety 1 groszowej . Już napisalem ten program jednak nie moge go skompilowac ze względu na błędy. Jesli uważacie że coś mozna optymalniej zapisac napiszcie. Prosze o pomoc !!.

uses crtl;
var  nominaly: array[1..14] of real 
i,ilosc:byte;
kwota:real;

begin 
nominaly[1]:=200  itp aż do nominaly[14]:=0.01

writeln('podaj kwote:');
read(kwota);
repeat
begin 
ilosc:=kwota div nominaly[1]; // tu wyskakuje błąd : OPERAND TYPES DO NOT MATCH OPERATOR .
writeln('liczba banknotow' , nominaly[1] , ' wynosi ', ilosc);
kwota := kwota - ilosc* nominaly[1] ;
nominaly:=nominaly +1  // nie jestem pewny czy moge to tak zapisać , chce aby w następnym obiegu tablicy pojawił sie element nominaly[2] 
end;
until i=14

readkey;
end.

Pozostało 580 znaków

Mgr.Dobrowolski
2006-11-19 17:59
Mgr.Dobrowolski
0

Przejdź na grosze
const nominały:array[1..14] of integer=(20000, 10000, 5000, 2000, 1000, 500, 200,100,50,20,10,5,2,1);

Pozostało 580 znaków

2006-11-19 18:06

Rejestracja: 16 lat temu

Ostatnio: 7 lat temu

0

nie możesz dzielić bez reszty (div) przez liczbę rzeczywistą


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-11-19 19:50

Rejestracja: 13 lat temu

Ostatnio: 12 lat temu

0

poza tym ta pętla się nie kończy bo i się nie zwiększa i


"Nie po to piszę programy żeby korzystać z cudzych"

Pozostało 580 znaków

2006-11-19 19:51

Rejestracja: 13 lat temu

Ostatnio: 13 lat temu

0

Jak przejść na kolejny element tablicy??. Chodzi o to aby w każdym obiegu pętli był brany następny element tablicy. Najpierw nominaly[1] potem nominaly [2] i tak az do konca tablicy.

Pozostało 580 znaków

2006-11-19 20:49

Rejestracja: 13 lat temu

Ostatnio: 13 lat temu

0

problem już rozwiązałem :) , tylko zostaje jeszcze kwestia tego co zrobić z nominałami poniżej jeden złoty ??

Pozostało 580 znaków

2006-11-19 21:08

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0

proste: tworzysz jakąś zmienną, mającą na początku wartość 1 i przy każdym wykonaniu pętli jest ona zwiększana o 1, zmienna ta oznacza pozycję w tablicy. Czyli mniej więcej tak:

{...}
var  
pozycja:byte;
{...}
begin
pozycja:=1;
{...}
repeat
begin
{ wszędzie gdzie występuje tablica piszesz ją tak : nominały[pozycja] }
{..}
inc(pozycja)  {bardzo ważne! dzięki temu przy każdym kolejnym wykonaniu pętli program sprawdza zawartość tablicy w kolejnej 'komórce" }
end;
until pozycja=14;  {no i tu był kolejny błąd:] zmienna I nigdy nie dochodziło do wartości 14}
readkey;
end.

EDIT hehe no widzę, że się spóźniłem ;)

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0