Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2014, 21:12   #1
Девяностик
 
Регистрация: 16.10.2014
Сообщений: 7
По умолчанию Комментарии к программе перевода слов английский-русский. язык С++

Кому не сложно, напишите, пожалуйста комментарии в исходнике, к каждой строке, Спасибо!
Вложения
Тип файла: rar trans.rar (700 байт, 6 просмотров)
Девяностик вне форума Ответить с цитированием
Старый 02.11.2014, 21:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
// trans.cpp: главный файл проекта.

#include "stdafx.h" //Подключаем модуль
#include "iostream" //Подключаем модуль для cin cout
#include "map" //Подключам какой-то модуль
#include "string" //Подключаем модуль для string
#include "fstream" //Подключаем модуль для работы с файлами
#include "locale.h" //Подключаем модуль для работы с локалями
#include "sstream" //Подключаем какой-то модуль
#include "windows.h" //Подключаем модуль WinAPI
 
using namespace std; //Указываем пространство имен std
 
int main() //Начинаем танцы
{
   setlocale(LC_CTYPE, "Russian"); //Переводим консоль в русскую локаль
   typedef multimap<string, string> strMap; //Описываем... Сложно понять что
   strMap ruen; // Описываем переменку непонятного типа
   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));//Потом вызываем какую-то функцию
      enru.insert(make_pair(ru,en));// И еще какую-то
   }
 
   //-----------------------------------------------------------
 
   while (true)//Потом бесконечный цикл
   {
      cout << "Введите одно или несколько слов на русском или английском языке и нажмите Enter: ";/+ в котором выводим что-то на экран
 
      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 += "Слово не найдено в словаре"; //Иначе приписывает текст ошибки
         }
         ru += " ";//Потом приписываем пробел
         en.clear();//И очищаем строку для взятия следующего слова
      }
 
      cout << "Перевод: " << ru << endl; После чего выводим на экран
   }
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2014, 21:48   #3
Девяностик
 
Регистрация: 16.10.2014
Сообщений: 7
По умолчанию

Спасибо большое!!!
Девяностик вне форума Ответить с цитированием
Старый 02.11.2014, 21:57   #4
Девяностик
 
Регистрация: 16.10.2014
Сообщений: 7
По умолчанию

А как в этой программе написать, чтобы он искал слова в файле по неполному соответствию? И чтобы не учитывал строчные и заглавные буквы и выводил ошибку при вводе слишком длинного слова , или если пользователь ввёл числа или прочую хрень?
Девяностик вне форума Ответить с цитированием
Старый 02.11.2014, 22:39   #5
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Я тут мимо проходил... Пиво за первый вопрос выслали? Я стараюсь, чтобы не выдыхлось... А "как в этой программе написать, чтобы...",- это уже второй вопрос.
Предпочитаю оплачивать сразу абонемент на семестр, или даже на весь год вперед.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 02.11.2014, 22:57   #6
Девяностик
 
Регистрация: 16.10.2014
Сообщений: 7
По умолчанию

Ой, к словам вот не надо придираться, главное суть понятна, не в программе, а в исходнике, я в курсе, какие все остроумные тролли
Девяностик вне форума Ответить с цитированием
Старый 02.11.2014, 23:01   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут слова? Он хотел сказать, что надо оплачивать решение задач за вас если вы сами ничего не делаете, а только просите решение.
What have you tried?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 02.11.2014 в 23:03.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как решить проблему перевода ОДНОЙ ячейки на русский язык? Pizza Boy Microsoft Office Excel 7 03.10.2015 20:54
Преобразовать английский текст в русский (транслитерации) nittrous Microsoft Office Excel 8 01.09.2012 14:31
Необходимы комментарии к программе. Язык ассемблер. Микроконтроллер 1882ВЕ53У Serega852 Помощь студентам 1 13.06.2012 21:19
английский язык AndyMuscovite Свободное общение 29 20.09.2009 20:24
Как одолеть английский язык? Игорь007 Свободное общение 20 05.09.2009 11:51