Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Преобразование цифр в слова - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упорядочить элементы массива по убыванию модулей элементов http://www.cyberforum.ru/cpp-beginners/thread291786.html
в 1мерном массиве состоящем из n эл. вычислить: 1 колич эл массива лежащих от А до В 2 сумму эл массива расположенных после макс элемента 3 упорядочить элементы массива по убыванию модулей...
C++ Необходимо реализовать классы, согласно указанному варианту. Выделить общие элементы классов в отдельный класс (или интерфейс). Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранения строк. Выделить общие элементы классов в отдельный класс (или интерфейс). Нужно написать... http://www.cyberforum.ru/cpp-beginners/thread291785.html
C++ В задании необходимо реализовать класс согласно указанному варианту. Предусмотреть необходимый набор методов, свойств и индексаторов в реализуемых кла
В задании необходимо реализовать класс Матрица целых чисел. Предусмотреть необходимый набор методов, свойств и индексаторов в реализуемых классах. Изучить статические классы и статические элементы...
C++ Программа играющая в игру «Ключ»
Программа играющая в игру «Ключ». Игровое поле имеет размер клеток. В клетках расположены квадратная фишка. Четыре фишки имеют разрезы по углам. Требуется достать расположенный под полем ключ....
C++ Переход на новую строку после пробела http://www.cyberforum.ru/cpp-beginners/thread291756.html
Как организовать переход на новую строку после пробела? Ну например как из строки "10 20 30", вывести на экран такой вот столбик: 10 20 30
C++ Возвращение функцией массива (или указателя на массив) Вопрос опытным. Имеется массив картинок TImage, который создается одной функцией. Как вызвать этот же массив из другой функции? void Images_Create() { TImage **jpg ; jpg = new... подробнее

Показать сообщение отдельно
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 21:24
ol4ik, оператор то не плох, но в данном случае это будет выглядеть громоздко.
Мой вариант:
C++
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
#include <string>
#include <iostream>
 
using std::string;
 
string setw(const string& str)
{
   static string w[]={"ноль", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"};
   string out;
   for(size_t i=0;i<str.length();i++)
   {
      if(str[i]>='0' && str[i]<='9')
      {
         out+='(';
         out+=w[(size_t)(str[i]-'0')];
         out+=')';
      }
      else
         out+=str[i];
   }
   return out;
}
 
int main()
{
   string s="my number is 100-34-56";
   std::cout<<setw(s)<<std::endl;
}
Естественно, надо локаль выставить или перекодировку, если не поддерживает.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru