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

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

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

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

22.02.2013, 19:38. Просмотров 2482. Ответов 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");     
    }
}
Вложения
Тип файла: txt words.txt (107 байт, 31 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
1701 / 1194 / 494
Регистрация: 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
Aleks fratriecz
3 / 3 / 0
Регистрация: 06.09.2012
Сообщений: 130
22.02.2013, 22:31  [ТС]     Переводчик с английского на русский #3
Чувак оно в твоем коде при вводе слова на русском пишит <UNKNOWN> а не перевод,как такто?
anmartex
...
1701 / 1194 / 494
Регистрация: 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
maxbeardyman
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 5
01.11.2014, 20:33     Переводчик с английского на русский #5
anmartex, чувак помоги, если ты эту прогу сделал в Visual Studio? Как её отредактировать и снова в .exe сделать, а то у меня не получается

Добавлено через 2 минуты
anmartex, сможешь скинуть все файлы этой программы, чтобы я мог её отредактировать и снова в .exe запилить, пожалуйста
scherbakovss201
-21 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 588
27.02.2016, 06:09     Переводчик с английского на русский #6
да переводчик работает,сначала вводишь английское лово,а он выводит на консоль русское.Только вот он не переводит больше одного лова.Что нужно подправить?
Например green grass-зеленая трава
GbaLog-
Не Эксперт C++
2299 / 924 / 241
Регистрация: 24.08.2014
Сообщений: 3,477
Записей в блоге: 1
Завершенные тесты: 2
27.02.2016, 07:32     Переводчик с английского на русский #7
scherbakovss201, Цикл сделать.
scherbakovss201
-21 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 588
27.02.2016, 19:28     Переводчик с английского на русский #8
можна пример.
avgoor
837 / 479 / 107
Регистрация: 05.12.2015
Сообщений: 1,371
27.02.2016, 19:38     Переводчик с английского на русский #9
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
Например green grass-зеленая трава
Эко вы замахнулись.
Сначала попробуйте сделать:
green grass-зеленый трава
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2016, 19:42     Переводчик с английского на русский
Еще ссылки по теме:

Англо русский переводчик C++
C++ Составить программу-переводчик
C++ Обработка английского текста
C++ Написать программу словарь-переводчик
Англо-русский и русско-английский переводчик в одном приложении C++

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

Или воспользуйтесь поиском по форуму:
scherbakovss201
-21 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 588
27.02.2016, 19:42     Переводчик с английского на русский #10
вопрос в том как из строки считать слово?
Yandex
Объявления
27.02.2016, 19:42     Переводчик с английского на русский
Ответ Создать тему
Опции темы

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