0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
1

Вывести число прописью

08.02.2011, 00:13. Показов 3581. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишет правильно только числа от 1 до 100 и все числа с нулем на конце,если например 117 то почему-то плюсует единицу.Защиты от неправильного ввода пока нет.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
program propis;
var st:string;
    n:integer;
begin
write('vvesti chislo ot 1 do 1000  = ');
readln(n);
 
case n of
1000:st:='tisyacha';
 10:st:='desyt';
 11:st:='odinadtcat';
 12:st:='dvenadtcat';
 13:st:='trinadtcat';
 14:st:='chetirnadtcat';
 15:st:='pyatnadtcat';
 16:st:='shestnadtcat';
 17:st:='semnadtcat';
 18:st:='vosemnadtcat';
 19:st:='devyatnadtcat';
 
else
case n div 100 of
  1:st:='sto';
  2:st:='dvesti';
  3:st:='trista';
  4:st:='chetiresta';
  5:st:='patcot';
  6:st:='shestsot';
  7:st:='semsot';
  8:st:='vosemsot';
  9:st:='devyatsot';
  end;  case n mod 100 of
 
  11:st:=st+'odinnadtcat';
  12:st:=st+'dvenadtcat';
  13:st:=st+'trinadtcat';
  14:st:=st+'chetirnadtcat';
  15:st:=st+'pyatnadtcat';
  16:st:=st+'shestnadtcat';
  17:st:=st+'semnadtcat';
  18:st:=st+'vosemnadtcat';
  19:st:=st+'devyatnadtcat';end;
   case n mod 100 of
  10:st:=st+'desyat';
  20:st:=st+'dvadtcat';
  30:st:=st+'tridtcat';
  40:st:=st+'sorok';
  50:st:=st+'pyatdesyat';
  60:st:=st+'shestdesyt';
  70:st:=st+'semdesyat';
  80:st:=st+'vosemdesyat';
  90:st:=st+'devyanosto';
  end;
 case n div 10 of
  2:st:=st+'dvadtcat';
  3:st:=st+'tridtcat';
  4:st:=st+'sorok';
  5:st:=st+'pyatdesyat';
  6:st:=st+'shestdesyt';
  7:st:=st+'semdesyat';
  8:st:=st+'vosemdesyat';
  9:st:=st+'devyanosto';
  end;
  case n mod 10 of
  1:st:=st+'odin';
  2:st:=st+'dva';
  3:st:=st+'tri';
  4:st:=st+'chetire';
  5:st:=st+'pyat';
  6:st:=st+'shest';
  7:st:=st+'sem';
  8:st:=st+'vosem';
  9:st:=st+'devyat';
 
end;
end;
writeln(st);
readln
end.
Добавлено через 30 минут
ну хотябы идею.

Добавлено через 20 минут
в смысле 200=dvesti
и т.п.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2011, 00:13
Ответы с готовыми решениями:

Вывести число прописью
Очень нужна программа в которой вводишь число от 0 до 1 000 000 и она его прописью выдаёт.

Вывести число прописью
нам домашку задали написать программу в которую вводишь число от 0 до 9 и она его прописью выдаёт....

Вывести числа прописью
ребят помогите пожалуйста сделать эту задачу очень очень нужно 27. Составьте программу, которая...

Число прописью
помогите написать прогу которая б переводила любое число записаное так "1"...."14"..."147" в етоже...

4
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
08.02.2011, 11:52 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Так попробуй...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
uses crt;
var st:string;
    n:integer;
begin
clrscr;
repeat
write('Введите число от 1 до 1000 n = ');
readln(n);
until (n>0)and(n<=1000);
case n of
1000:st:='одна тысяча';
else
 begin
  st:='';
  case n div 100 of
  1:st:='сто';
  2:st:='двести';
  3:st:='триста';
  4:st:='четыреста';
  5:st:='пятьсот';
  6:st:='шестьсот';
  7:st:='семьсот';
  8:st:='восемьсот';
  9:st:='девятьсот';
  end;
  case n mod 100 div 10 of
  2:st:=st+' двадцать';
  3:st:=st+' тридцать';
  4:st:=st+' сорок';
  5:st:=st+' пятьдесят';
  6:st:=st+' шестьдесят';
  7:st:=st+' семьдесят';
  8:st:=st+' восемьдесят';
  9:st:=st+' девяносто';
  end;
  case n mod 100 of
  10:st:=st+' десять';
  11:st:=st+' одиннадцать';
  12:st:=st+' двенадцать';
  13:st:=st+' тринадцать';
  14:st:=st+' четырнадцать';
  15:st:=st+' пятнадцать';
  16:st:=st+' шестнадцать';
  17:st:=st+' семнадцать';
  18:st:=st+' восемнадцать';
  19:st:=st+' девятнадцать';
  else
   case n mod 10 of
   1:st:=st+' один';
   2:st:=st+' два';
   3:st:=st+' три';
   4:st:=st+' четыре';
   5:st:=st+' пять';
   6:st:=st+' шесть';
   7:st:=st+' семь';
   8:st:=st+' восемь';
   9:st:=st+' девять';
   end;
  end;
 end;
end;
writeln(st);
readln;
end.
1
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
08.02.2011, 13:07  [ТС] 3
Спасибо,святой человек ты)
0
1 / 1 / 0
Регистрация: 16.12.2011
Сообщений: 12
16.12.2011, 18:47 4
благодарствую!!!помогла сейчас программка
0
0 / 0 / 0
Регистрация: 26.12.2011
Сообщений: 30
26.12.2011, 23:46 5
а можно с целыми и сотыми числами чтоб число было больше 1000
0
26.12.2011, 23:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2011, 23:46
Помогаю со студенческими работами здесь

Число прописью
Помогите написать программу, которая принимает от пользователя строку, хранящую знаковое целое...

Вывести числа прописью
Составьте программу, которая запрашивает количество сотен, десятков и единиц в загаданном числе и...

Вывести числа прописью
Помогите решить задачку в паскале абц ) Дано целое число в диапазоне 100-999. Вывести...

Дано натуральное трехзначное число. Записать его прописью
Дано натуральное трехзначное число. Записать его прописью. как составить программу ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru