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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.73
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
#1

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

09.05.2011, 16:54. Просмотров 4359. Ответов 12
Метки нет (Все метки)

У меня есть такая задачка. Есть текстовый файл с таким текстом: "Мой телефон -123 - 45 - 67". И необходимо заменить цифры на слова. Я не пойму, каким образом это можно реализовать. Помогите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2011, 16:54     Преобразование цифр в слова
Посмотрите здесь:

Найти слова в заданном тексте, состоящие из цифр и сумму чисел, которые образуют эти слова - C++
Помогите разобраться пожалуйста: 1. Дан текст. Найти слова, состоящие из цифр и сумму чисел, которые образуют эти слова. 2....

Преобразование цифр в строку - C++
Всем привет! Пишу небольшую программку, а именно просто идущие часы(такие же что тикают в нижнем правом углу) Так вот хочу выводить...

Преобразование строки в массив цифр - C++
Помогите разобраться с функцией для преобразования строки в массив цифр. void readlong (type &vec) { std::string str; ...

Оператор if и указатель на цикл (ввод цифр и преобразование в буквы) - C++
Программа работает так:Спрашивает Go Go? Когда вводим число 4 начинается...Водим цепочку из цифр потом она преобразует их в буквы и...

Преобразование слова на английском языке в число - C++
Мне дан файл, в котором на английском языке записано число от 1 до 9. Задача - преобразовать слово из файла в число и вывести его. Помогите...

Слова состоят из цифр..... - C++
Слова состоят из цифр.продублировать те,которые состоят из повторов одной и той же цифры ребят...момогите,не соображаю вообще

Замена цифр в файле на соответствующие слова - C++
Здравствуйте! Я столкнулась с проблемкай... Мне надо написать программку, а я даже не знаю как начать. Помогите пожалуйста, вот задание:...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
09.05.2011, 18:33     Преобразование цифр в слова #2
типа вместо 123 -45 -67 нписать одни два три - четрые пять- шесть семь?
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
09.05.2011, 21:12  [ТС]     Преобразование цифр в слова #3
Да, именно так
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
09.05.2011, 21:15     Преобразование цифр в слова #4
Вывести число прописью
ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
09.05.2011, 21:22     Преобразование цифр в слова #5
Если прога должна вместо 123 писать просто один два три,а не сто двадцать три,то,наверное,можно сделать с помощью оператора switch
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
10.05.2011, 18:28  [ТС]     Преобразование цифр в слова #6
Что-то я не пойму, каким образом switch может тут помочь.
ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 21:11     Преобразование цифр в слова #7
читаете в цикле файл и если в файле встречаете код цифры,то с помощью switch выбираете,что за цифра.например,если 1,то будет выводите на экран слово "один".
что-то вроде этого.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 21:16     Преобразование цифр в слова #8
Ну наверно через switch по-детски. Легче создать массив слов:
string words[]={"ноль", "один", "два", ...} и по распарсенному индексу обращаться.
ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 21:22     Преобразование цифр в слова #9
gooseim,если есть такой оператор,то почему бы им не воспользоваться?
для начинающих в С++ нормально
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 21:24     Преобразование цифр в слова #10
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;
}
Естественно, надо локаль выставить или перекодировку, если не поддерживает.
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
14.05.2011, 17:08  [ТС]     Преобразование цифр в слова #11
Спасибо за вариант, но мне нужно, чтобы чтение текста было из файла и измененный текст тоже должен туда вноситься.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
14.05.2011, 17:20     Преобразование цифр в слова #12
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
29
30
31
32
33
34
#include <string>
#include <iostream>
#include <fstream>
 
using std::string;
 
string ntow(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;
   ifstream in("1.txt");
   getline(in, s, '\0');
   in.close();
   ofstream out("1.txt");
   out<<ntow(s);
   out.close();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2011, 18:58     Преобразование цифр в слова
Еще ссылки по теме:

Написать программу преобразования цифр в слова - C++
Написать программу преобразования цифр в слова

Заменить слова на комбинации цифр (смысловое кодирование) - C++
Привет всем!! Нужна прога в VS2008 в консольном приложении, помогите в написании кода простенького пожалуйста =))) Задача такая: вводим...

Расставить по очереди слова из цифр, из букв и смешанные. - C++
Преобразовать строку так что бы сначала выводило слова состоящие только из цифр, потом только из букв, потом из букв и цифр

В файле найти слова состоящие только из цифр - C++
Дан текстовый файл. Написать функцию, которая проверяет, есть ли в нем слова, состоящие только из цифр, если есть – удалить их.

Напечатать все слова, состоящие только из цифр - C++
напечатать все слова , состоящие только из цифр


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

Или воспользуйтесь поиском по форуму:
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
14.05.2011, 18:58  [ТС]     Преобразование цифр в слова #13
Спасибо большое!
Yandex
Объявления
14.05.2011, 18:58     Преобразование цифр в слова
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru