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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
Aleks fratriecz
3 / 3 / 0
Регистрация: 06.09.2012
Сообщений: 131
#1

Переводчик с английского на русский - C++

22.02.2013, 19:38. Просмотров 3065. Ответов 9
Метки нет (Все метки)

программа переводит введенное (английское)слово на русский,что нужно добавить что бы она переводила 2 и более введенных слов не останавливаясь на переводе первого?"заранее спасибо"
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include<iostream>
#include<iterator>
#include<map>
#include<string>
#include<fstream>
#include<windows.h>
#include <locale>
 
using namespace std;
 
int main()
{setlocale(LC_CTYPE, "Russian");//aee??aiea ?onneiai o?eooa
    typedef multimap<string,string> strMap;
 
    strMap enru;
    strMap ruen;
    strMap::iterator it;
 
 
    string en;
    string ru;
 
    ifstream fin("words.txt",ios::in | ios::binary);
        
    while(!fin.eof())
    {
        getline(fin,en,' ');
        getline(fin,ru);
        enru.insert(make_pair(en,ru));
        ruen.insert(make_pair(ru,en));
    }
    //-----------------------------------------------------------   
    
    while(1)
    {
    printf("ââåäèòå ñëîâî : ");
        
        getline(cin,en);
 
        if(en[0] > 'z')
        {
            it = enru.find(en);
                
            if(it != enru.end());
    
 
        }
        else
        {
            it = enru.find(en);
            if(it != enru.end())
                printf("\n ïåðåâîä : %s " , enru.find(en)->second.c_str());
        }
            //------------------------------------------
        printf("\n\n");     
    }
}
0
Вложения
Тип файла: txt words.txt (107 байт, 40 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 19:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переводчик с английского на русский (C++):

Реализовать программу-переводчик с английского на русский и наоборот - C++
Доброго времени суток! встала проблем с переводчиком. Дело в том, что с английского на русский переводит, но не наоборот. Подскажите в...

Англо русский переводчик - C++
посмотрите плиз,прога перводчик проверяет слова в текстовом файле(словаре),мне нужно дополнить словарь,но прога в текстовый документ...

Англо-русский и русско-английский переводчик в одном приложении - C++
Имеется программа-переводчик. Реализован перевод с англ. на русский. Есть ли возможность запихать туда же и с русского на англ.? Сколько не...

Нужно создать программу перевода файлов с английского на русский - C++
нужно создать программу перевода файлов с английского на руский я ваще дерево и не знаю как это сделать( Добавлено через 27 секунд в...

Русский ввод и русский вывод - C++
Я знаю, что для того, чтобы был виден русский язык, я использую команду setlocale(LC_ALL,&quot;Russian&quot;) Для того, чтобы в переменные...

Переводчик - C++
Есть задание написать переводчик русских букв в транслит и обратно,все хорошо но есть проблема,при переводе букв ч,щ,ш в транслит все...

9
anmartex
...
1708 / 1201 / 497
Регистрация: 12.02.2013
Сообщений: 1,978
22.02.2013, 20:29 #2
Как-то так:
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
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
#include <iostream>
#include <map>
#include <string>
#include <fstream>
#include <locale>
#include <sstream>
 
using namespace std;
 
int main()
{
   setlocale(LC_CTYPE, "Russian");
   typedef multimap<string, string> strMap;
 
   strMap enru;
   strMap::iterator it;
   
   stringstream ss;
 
   string en;
   string ru;
 
   ifstream fin("words.txt",ios::in | ios::binary);
 
   string buff;
   while (!fin.eof())
   {
      getline(fin, buff);
      ss << buff;
      ss >> en >> ru;
 
      enru.insert(make_pair(en,ru));
   }
 
   //-----------------------------------------------------------
 
   while (true)
   {
      cout << "введите слово: ";
 
      getline(cin, buff);
      ru.clear();
      ss.clear();
      ss << buff;
 
      for (ss >> en; !en.empty(); ss >> en)
      {
         it = enru.find(en);
 
         if (it != enru.end())
         {
            ru += it->second;
         }
         else
         {
            ru += "<UNKNOWN>";
         }
         ru += " ";
         en.clear();
      }
 
      cout << "перевод: " << ru << endl;
   }
}
Бинарник с исходником: program.7z
0
Aleks fratriecz
3 / 3 / 0
Регистрация: 06.09.2012
Сообщений: 131
22.02.2013, 22:31  [ТС] #3
Чувак оно в твоем коде при вводе слова на русском пишит <UNKNOWN> а не перевод,как такто?
0
anmartex
...
1708 / 1201 / 497
Регистрация: 12.02.2013
Сообщений: 1,978
23.02.2013, 14:42 #4
Эй чува-а-а-ак ... !! Ты сам читал что написал?!
Цитата Сообщение от Aleks fratriecz Посмотреть сообщение
программа переводит введенное (английское)слово на русский
А теперь ты заявляешь:
Цитата Сообщение от Aleks fratriecz Посмотреть сообщение
при вводе слова на русском пишит <UNKNOWN>
Ты сам сначала определись.

И иногда, старайся своим серым веществом работать. Твоя проблема - 1 дополнительная строчка на 33-ей линии:
C++
1
      enru.insert(make_pair(ru,en));
И будет тебе счастье. Врубаешься чувак?!

Исходник с бинарником: program.7z
0
maxbeardyman
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 5
01.11.2014, 20:33 #5
anmartex, чувак помоги, если ты эту прогу сделал в Visual Studio? Как её отредактировать и снова в .exe сделать, а то у меня не получается

Добавлено через 2 минуты
anmartex, сможешь скинуть все файлы этой программы, чтобы я мог её отредактировать и снова в .exe запилить, пожалуйста
0
scherbakovss201
14 / 5 / 0
Регистрация: 22.12.2015
Сообщений: 1,296
27.02.2016, 06:09 #6
да переводчик работает,сначала вводишь английское лово,а он выводит на консоль русское.Только вот он не переводит больше одного лова.Что нужно подправить?
Например green grass-зеленая трава
0
GbaLog-
Любитель чаепитий
3121 / 1460 / 351
Регистрация: 24.08.2014
Сообщений: 5,174
Записей в блоге: 1
Завершенные тесты: 2
27.02.2016, 07:32 #7
scherbakovss201, Цикл сделать.
0
scherbakovss201
14 / 5 / 0
Регистрация: 22.12.2015
Сообщений: 1,296
27.02.2016, 19:28 #8
можна пример.
0
avgoor
965 / 599 / 130
Регистрация: 05.12.2015
Сообщений: 1,685
27.02.2016, 19:38 #9
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
Например green grass-зеленая трава
Эко вы замахнулись.
Сначала попробуйте сделать:
green grass-зеленый трава
0
scherbakovss201
14 / 5 / 0
Регистрация: 22.12.2015
Сообщений: 1,296
27.02.2016, 19:42 #10
вопрос в том как из строки считать слово?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2016, 19:42
Привет! Вот еще темы с ответами:

переводчик - C++
чуваки в чем ошибка?почему считывая на английском слово которое я ввожу и есть в текстовом документе не выводит перевод?#include&lt;iostream&gt; ...

Программа переводчик - C++
Вот в чем суть... знания языка С++ ОЧЕНЬ малы. Но я всеми способами пытаюсь улучшить это скверное положение) Но сейчас не о моих знания а о...

Обработка английского текста - C++
На вход программы подается текст на английском языке, заканчивающийся точкой (другие символы “.” в тексте отсутствуют). Требуется написать...

Курсовая - переводчик (словарь) на С++ - C++
Доброго времени суток! Меня зовут Алексей, я студент 2го курса колледжа по специальности Разработка ПО, вот подошло время первых...


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

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

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