Показать сообщение отдельно
Старый 13.02.2011, 04:23   #10 (permalink)
Mr.Програмист
Banned
 
Регистрация: 25.01.2011
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вот моя задача чтобы раскачать тему. Разбирайте.
Код:
Program bankomat;
Uses Crt;
Label met1,met2,met3,met4,met5,met6,met7,met8;
Var a,c,b,d,i,n,k5000,k1000,k500,k100,k50:integer;
Begin
k5000:=10000;
k1000:=10000;
k500:=10000;
k100:=10000;
k50:=10000;
met3:
i:=1;
n:=5;
Repeat
Begin
Writeln('Введите пинкод');
Readln(a);
If a=1973
Then begin Writeln('Пин код веден верно'); goto met1; end
Else Writeln('Вы ошиблись');
If i=4
Then
begin
Writeln('Карточка заблокирована'); goto met2;
end;
i:=i+1;
end;
Until i>n;
met1: Writeln('Введите какую сумму вы хотите получить');
Readln(b);
c:=b div 5000;
d:=b mod 5000;
If k5000<c
then begin
k1000:=k1000+(c-k5000); goto met4; end
Else
For i:=1 to c do
begin
Writeln('5000 руб;');
k5000:=k5000-1;
end;
met4:c:=d div 1000;
d:=d mod 1000;
If k1000<c
then begin
k500:=k500+(c-k1000); goto met5; end
Else
For i:=1 to c do
begin
Writeln('1000 руб');
k1000:=k1000-1;
end;
met5:c:=d div 500;
d:=d mod 500;
If k500<c
then begin
k500:=k500+(c-k1000); goto met6; end
Else
For i:=1 to c do
begin
Writeln('500 руб');
k500:=k500-1;
end;
met6:c:=d div 100;
d:=d mod 100;
If k100<c
then begin
k100:=k100+(c-k500); goto met7; end
Else
For i:=1 to c do
begin
Writeln('100 руб');
k100:=k100-1;
end;
met7:c:=d div 50;
d:=d mod 50;
If k5000<c
then
goto met8;
For i:=1 to c do
begin
Writeln('50 руб');
k50:=k50-1;
end;
met8:Writeln(d,'удержано');
Writeln('Введите 1 чтобы повторить, 2 чтобы выйти');
Readln(d);
If d=1
Then goto met3
Else
readkey;
met2:end.

Последний раз редактировалось Mr.Програмист; 13.02.2011 в 04:28
Mr.Програмист вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070