Копейка рубль бережёт - Pascal ABC
Формулировка задачи:
Недоверчивый покупатель подсчитывает общую сумму покупок в копейках. Но, подходя к кассе, ему трудно разобраться, сколько копеек и рублей он должен заплатить. Напишите программу которая поможет ему.
Входные:
Одно целое число из диапазона 1..100 000 - сумма покупок в копейках.
Вых.
Необходимо выдать сколько копеек и сколько рублей должен заплатить покупатель.
Правила:
1. Слова "рубль" и "копейка" нужно согласовать с числительными
2. Вывод числа копеек и рублей нужно производить в отдельных строках. Если число копеек и рублй равно нулю то выводить строку не нужно.
Хелпаните ребят, не догоняю рыл Гугл чё-то ничего путного. В поиске на сайте вбивал ничего не нашло.
Решение задачи: «Копейка рубль бережёт»
textual
Листинг программы
program Project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils, CustApp,Windows
{ you can add units after this };
var n,r,k:integer;
begin
SetConsoleOutputCP(CP_UTF8);
//в свойствах консоли выставить шрифт Lucida Console
repeat
write('Введите сумму в копейках от 0 до 100000 n=');
readln(n);
until(n>0)and(n<=100000);
r:=n div 100;
k:=n mod 100;
case r mod 100 of
11..19:write(r,' рублей ');
else
case r mod 10 of
1:write(r,' рубль ');
2..4:write(r,' рубля ');
else write(r,' рублей ')
end;
end;
case k of
11..19:write(k,' копеек');
else
case k mod 10 of
1:write(k,' копейка');
2..4:write(k,' копейки');
else write(k,' копеек')
end;
end;
readln;
end.
Объяснение кода листинга программы
Список элементов кода:
- Объявление переменных n, r, k типа integer.
- Установка кодировки консоли на UTF-8.
- Цикл while для ввода суммы в копейках от 0 до 100000.
- Расчет значений переменных r и k: разделение суммы на 100 для r и остаток от деления на 100 для k.
- Использование конструкций case для вывода значений переменных r и k в зависимости от их значений.
- Запрос на ввод, чтобы программа не закрылась сразу после выполнения.