Вывести словесную запись числа с учетом указанного падежа - QBasic

Узнай цену своей работы

Формулировка задачи:

Дано натуральное число N(20<N<1000). Вывести словесную запись этого числа с учетом указанного падежа: (именительного,родительного,дательного,винительного,творительного,предложного). (Например:число-147,родительный падеж:"ста сорока семи"). Исходная информация вводится с клавиатуры. Вот задача,нужно написать программу в QBasic ,я в отчаянии ,голову уже сломал... Просьба мне помочь!!!Спасибо.

Решение задачи: «Вывести словесную запись числа с учетом указанного падежа»

textual
Листинг программы
DIM ed(0 TO 9, 1 TO 6) AS STRING
DIM nad(0 TO 9, 1 TO 6) AS STRING
DIM des(0 TO 9, 1 TO 6) AS STRING
DIM sot(0 TO 9, 1 TO 6) AS STRING
 
RESTORE
FOR j% = 1 TO 6
    FOR i% = 0 TO 9: READ ed(i%, j%): NEXT i%
    FOR i% = 0 TO 9: READ nad(i%, j%): NEXT i%
    FOR i% = 0 TO 9: READ des(i%, j%): NEXT i%
    FOR i% = 0 TO 9: READ sot(i%, j%): NEXT i%
NEXT j%
CLS
INPUT "Введите число от 1 до 999"; n%
INPUT "Введите падеж (1 - имен., 2 - род., ... , 6 - предл.)"; pad%
 
IF n% < 1 OR n% > 999 OR pad% < 1 OR pad% > 6 THEN END
n1% = n% \ 100: n2% = n% \ 10 MOD 10: n3% = n% MOD 10
txt$ = sot(n1%, pad%)
IF n2% = 1 THEN txt$ = txt$ + nad(n3%, pad%) ELSE txt$ = txt$ + des(n2%, pad%) + ed(n3%, pad%)
PRINT txt$
 
DATA "","один ","два ","три ","четыре ","пять ","шесть ","семь ","восемь ","девять "
DATA "десять ","одиннадцать ","двенадцать ","тринадцать ","четырнадцать ","пятнадцать ","шестнадцать ","семнадцать ","восемнадцать ","девятнадцать "
DATA "","","двадцать ","тридцать ","сорок ","пятьдесят ","шестьдесят ","семьдесят ","восемьдесят ","девяносто "
DATA "","сто ","двести ","триста ","четыреста ","пятьсот ","шестьсот ","семьсот ","восемьсот ","девятьсот "
 
DATA "","одного ","двух ","трёх ","четырёх ","пяти ","шести ","семи ","восьми ","девяти "
DATA "десяти ","одиннадцати ","двенадцати ","тринадцати ","четырнадцати ","пятнадцати ","шестнадцати ","семнадцати ","восемнадцати ","девятнадцати "
DATA "","","двадцати ","тридцати ","сорока ","пятидесяти ","шестидесяти ","семидесяти ","восьмидесяти ","девяноста "
DATA "","ста ","двухсот ","трёхсот ","четырёхсот ","пятисот ","шестисот ","семисот ","восьмисот ","девятисот "
 
DATA "","одному ","двум ","трём ","четырём ","пяти ","шести ","семи ","восьми ","девяти "
DATA "десяти ","одиннадцати ","двенадцати ","тринадцати ","четырнадцати ","пятнадцати ","шестнадцати ","семнадцати ","восемнадцати ","девятнадцати "
DATA "","","двадцати ","тридцати ","сорока ","пятидесяти ","шестидесяти ","семидесяти ","восьмидесяти ","девяноста "
DATA "","ста ","двухсот ","трёхсот ","четырёхсот ","пятисот ","шестисот ","семисот ","восьмисот ","девятисот "
 
DATA "","один ","два ","три ","четыре ","пять ","шесть ","семь ","восемь ","девять "
DATA "десять ","одиннадцать ","двенадцать ","тринадцать ","четырнадцать ","пятнадцать ","шестнадцать ","семнадцать ","восемнадцать ","девятнадцать "
DATA "","","двадцать ","тридцать ","сорок ","пятьдесят ","шестьдесят ","семьдесят ","восемьдесят ","девяносто "
DATA "","сто ","двести ","триста ","четыреста ","пятьсот ","шестьсот ","семьсот ","восемьсот ","девятьсот "
 
DATA "","одним ","двумя ","тремя ","четырьмя ","пятью ","шестью ","семью ","восемью ","девятью "
DATA "десятью ","одиннадцатью ","двенадцатью ","тринадцатью ","четырнадцатью ","пятнадцатью ","шестнадцатью ","семнадцатью ","восемнадцатью ","девятнадцатью "
DATA "","","двадцатью ","тридцатью ","сорока ","пятьюдесятью ","шестьюдесятью ","семьюдесятью ","восемьюдесятью ","девяноста "
DATA "","ста ","двумястами ","тремястами ","четырьмястами ","пятьюстами ","шестьюстами ","семьюстами ","восемьюстами ","девятьюстами "
 
DATA "","одном ","двух ","трёх ","четырёх ","пяти ","шести ","семи ","восьми ","девяти "
DATA "десяти ","одиннадцати ","двенадцати ","тринадцати ","четырнадцати ","пятнадцати ","шестнадцати ","семнадцати ","восемнадцати ","девятнадцати "
DATA "","","двадцати ","тридцати ","сорока ","пятидесяти ","шестидесяти ","семидесяти ","восьмидесяти ","девяноста "
DATA "","ста ","двухстах ","трёхстах ","четырёхстах ","пятистах ","шестистах ","семистах ","восьмистах ","девятистах "

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы