С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Записать число русскими словами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использование функций http://www.cyberforum.ru/cpp-beginners/thread996578.html
Составить процедуру, в результате обращения к которой из первой заданной строки удаляется каждый символ принадлежащий и второй строке.
C++ метод позиции числа как написать метод,который будет искать все позиции числа? Добавлено через 3 минуты #pragma once #include "resource.h" #include "stdafx.h" #include <iostream> #include <stdio.h> using... http://www.cyberforum.ru/cpp-beginners/thread996566.html
C++ не работает прога. Создать базу данных студенческого абонемента в библиотеке
Создать базу данных студенческого абонемента в библиотеке. Характер: - фамилия; - имя; - отчество; - группа; - список литературы; Каждая книга характеризуется числом. Операции с книгами: -...
C++ Открытие файла
Здравствуйте, интересует вопрос, можно ли сделать так, чтобы программа открывала нужный файл (наприм. картинку), если можно то как?
C++ запись в файл, не изменяя размер самого файла http://www.cyberforum.ru/cpp-beginners/thread996552.html
int stream::write(block blocks, int numOfBlocks,const char *data){ int filesize=strlen(data); ofstream disk("data.dat",ios::out | ios::binary); //Открываем файл в двоичном режиме для записи...
C++ Странное с return метода На первом скриншоте видно, что в некотором методе update() указатель this указывает на.. эм.. что-то страшное, хотя всё должно быть нормально (при этом объект, естественно, присутствует и имеет... подробнее

Показать сообщение отдельно
Slowpok
4 / 4 / 0
Регистрация: 03.01.2012
Сообщений: 112

Записать число русскими словами - C++

03.11.2013, 21:05. Просмотров 1140. Ответов 5
Метки (Все метки)

Добрый день! Вот условие:
Дано натуральное число n≤1000. Записать русскими словами (семнадцать, три, тысяча и т. д.).

есть код на Паскале, а вот переделать его в с++ не получается:
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
uses crt;
var st:string;
    n:integer;
begin
repeat
write('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.
Как я понял, в с++ нельзя так к строке прибавить кусок текста, да и с алгоритмом у меня туго, не получается оперировать остатками. Помогите, пожалуйста, разобраться!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.