Вывести весь текст словами в виде количественного числительного - Turbo Pascal
Формулировка задачи:
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5 вывод имеет вид "пять", при k=123 нужно вывести "сто двадцать три" тд.): в виде количественного числительного, которое означает заданное число в соответствии с требуемым падежом (падеж задается по букве: i- именительный, r- родительный, d- дательный и тд. )
Решение задачи: «Вывести весь текст словами в виде количественного числительного»
textual
Листинг программы
var str:string;
k:byte;
begin
repeat
write('Введите возраст от 1 до 100:');
readln(k);
until k in [1..100];
str:='Мне';
case k of
10:str:=str+' десять';
11:str:=str+' одиннадцать';
12:str:=str+' двенадцать';
13:str:=str+' тринадцать';
14:str:=str+' четырнадцать';
15:str:=str+' пятндцать';
16:str:=str+' шестнадцать';
17:str:=str+' семнадцать';
18:str:=str+' восемнадцать';
19:str:=str+' девятнадцать';
100:str:=str+' сто';
else
begin
case k div 10 of
2:str:=str+' двадцать';
3:str:=str+' тридцать';
4:str:=str+' сорок';
5:str:=str+' пятьдесят';
6:str:=str+' шестьдесят';
7:str:=str+' семьдесят';
8:str:=str+' восемьдесят';
9:str:=str+' девяносто';
end;
case k mod 10 of
1:str:=str+' один';
2:str:=str+' два';
3:str:=str+' три';
4:str:=str+' четыре';
5:str:=str+' пять';
6:str:=str+' шесть';
7:str:=str+' семь';
8:str:=str+' восемь';
9:str:=str+' девять';
end;
end;
end;
case k of
10,20,30,40,50,60:str:=str+' лет';
else
case k mod 10 of
1:str:=str+' год';
2..4:str:=str+' года';
else str:=str+' лет';
end;
end;
writeln(str);
readln
end.