|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2013, 12:56 | #1 |
Регистрация: 03.05.2013
Сообщений: 4
|
решить задачу на с++
Программа должна читать данные из файла INPUT.TXT.
Файл содержит последовательность сумм (в рублях), которые необходимо записать прописью. Суммы представляют собой неотрицательные десятичные числа, не превосходящие 999 999 999 999 999.99 (девятьсот девяносто девять триллионов девятьсот девяносто девять миллиардов девятьсот девяносто девять миллионов девятьсот девяносто девять тысяч девятьсот девяносто девять рублей 99 копеек) и содержащие не более двух знаков после десятичной точки. Незначащие ведущие нули отсутствуют. Каждая сумма записана с новой строки. Конец ввода обозначается числом -1. Вывод. Для каждой суммы из входного файла программа должна вывести в файл OUTPUT.TXT запись этой суммы прописью. Число рублей передается соответствующим количественным числительным, число копеек - цифрами, например: Тридцать пять рублей 56 копеек. Первая буква в записанной прописью сумме должна быть заглавной, остальные - строчными. Запись должна быть грамматически верной. Запись всегда должна быть полной, т.е. включать количество рублей и копеек. Количество копеек должно быть записано двумя цифрами, т.е. при необходимости дополнено ведущими нулями. Каждая сумма должна быть записана с новой строки. |
03.05.2013, 12:57 | #2 |
Регистрация: 03.05.2013
Сообщений: 4
|
Помогите пожалуйста очень надо((((
|
15.05.2013, 16:25 | #3 |
Регистрация: 03.05.2013
Сообщений: 4
|
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 program Project2; {$APPTYPE CONSOLE} uses SysUtils; var st:string; n,i:integer; c:array[1..4]of integer; s:array[1..4,1..3]of string; begin s[1,1]:='миллиард'; s[1,2]:='миллиарда'; s[1,3]:='миллиардов'; s[2,1]:='миллион'; s[2,2]:='миллиона'; s[2,3]:='миллионов'; s[3,1]:='тысяча'; s[3,2]:='тысячи'; s[3,3]:='тысяч'; s[4,1]:=''; s[4,2]:=''; s[4,3]:=''; write('Введите число до 2 147 483 647 n='); readln(n); st:=''; c[1]:=n div 1000000000; c[2]:=(n mod 1000000000) div 1000000; c[3]:=(n mod 1000000) div 1000; c[4]:=n mod 1000; for i:=1 to 4 do write(c[i],' '); writeln; for i:=1 to 4 do if c[i]<>0 then begin if c[i] div 100<>0 then case c[i] div 100 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; if (c[i] mod 100) div 10<>1 then begin case (c[i] 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 c[i] mod 10 of 1:if i=3 then st:=st+' одна' else st:=st+' один'; 2:if i=3 then st:=st+' две' else 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 else case (c[i] 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+' девятнадцать'; end; if (c[i] mod 100>=10) and (c[i] mod 100<=19) then st:=st+' '+s[i,3]+' ' else case c[i] mod 10 of 1:st:=st+' '+s[i,1]+' '; 2..4:st:=st+' '+s[i,2]+' '; 5..9,0:st:=st+' '+s[i,3]+' '; end; end; writeln(st); readln; end. |
15.05.2013, 16:29 | #4 |
Регистрация: 03.05.2013
Сообщений: 4
|
правильно сделала?)
|
15.05.2013, 17:51 | #5 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
ну если работает - правильно. не работает - не правильно.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решить задачу на с++. | Недознайка | Помощь студентам | 5 | 10.01.2013 23:46 |
решить задачу на С# | alex(21) | Фриланс | 1 | 09.01.2013 11:55 |
Решить задачу в C# | Надежда1286 | Помощь студентам | 3 | 25.10.2012 01:09 |
решить задачу | Евгений 9 | Общие вопросы Delphi | 0 | 23.12.2011 09:33 |
решить задачу | Рон99 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 01.11.2011 21:23 |