При продаже товара бухгалтеру необходимо заполнить накладную в которой пена проданного товара должна указываться с единицами измерения не только цифрами, но еще и прописью. Напиште программу которая облегчает работу бухгалтера и введенную пифрами сумму стоимости товара преобразует в текстовый вариант. Рассмотрите возможные варнанты в днапазоне от 1 до 100 включительно. Уделите особое внимание окончанням слов.
Пример
1. Введите количество рублей в стоимости товара:
10 Введите количество копеек в стоимости товара: 21 Результат: десять рублей двадцать одна копейка
2. Введите количество рублей в стоимости товара:
42 Введите количество копеек в стоимости товара: 53 Результат: сорок два рубля пятьдесят три копейки
Ответы
program BB;
var a1, a2 :string;
var da: integer;
var aa, dd :string;
function F (n, da: integer): string;
begin
aa:='';
if n=1 then begin if da=1 then aa:='одна' else aa:='один' end;
if n=2 then begin if da=1 then aa:='две' else aa:='два' end;
if n=3 then aa:='три';
if n=4 then aa:='четыре';
if n=5 then aa:='пять';
if n=6 then aa:='шесть';
if n=7 then aa:='семь';
if n=8 then aa:='восемь';
if n=9 then aa:='девять';
F:=aa;
end;
var a, r, k:string;
var n, d, e, c:integer;
var temp:integer;
function F2 (a, dd: string): string;
begin
val(a, n);
if n<10 then r:=F(n,1);
if n=10 then r:='десять'; if n=11 then r:='одиннадцать';
if n>10 then
if n<20 then
begin
r:=F(n,0);
c:=length(r); delete(r, c, 1);
r:=r+'надцать';
end;
if n>=20 then
begin
if n=100 then r:='сто'
else
begin
d:=n div 10 mod 10;
e:=n mod 10;
if d=2 then r:=F(d,0)+'дцать';
if n mod 100=3 then r:=F(d,0)+'дцать';
if d=4 then r:='сорок';
if d=9 then r:='девяносто';
if d>=5 then if d<=8 then r:=F(d,0)+'десят';
if dd='1' then r:=r+' '+F(e,1) else
if e<>0 then r:=r+' '+ F(e,0);
end
end;
F2:=r;
end;
begin
write('Введите количество рублей в стоимости товара: '); readln(a1);
write('Введите количество копеек в стоимости товара: '); readln(a2);
val(a1, temp);
write (F2(a1, '0'));
if temp mod 10 =0 then write(' рублей') else
if temp mod 10 =1 then write(' рубль') else
if temp mod 10>=5 then write(' рублей') else
write(' рубля');
write(' ');
writeln (F2(a2, '1'));
val(a2, temp);
if temp mod 10 = 1 then writeln(' копейка') else
if temp mod 10 = 0 then writeln(' копеек') else if temp mod 10 >=5 then writeln(' копеек') else
writeln(' копейки');
end.