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

Программа дублирует вывод. Переводчик, работа с файлами - C++

Восстановить пароль Регистрация
 
iQuality
Сообщений: n/a
13.01.2013, 20:50     Программа дублирует вывод. Переводчик, работа с файлами #1
Программа работает, но меня интересует одна особенность - не могу понять почему, после переведенного слова(с англ на рус) оно выводит сначало переведенное, потом его оригинал?
С оператором break(которое закомментировано в коде), для выхода из цикла проверки текущего слова со словами из библиотеки, оно не дублирует вывод.


Например без оператора break: текст в файле "EnterTheText.txt" - hi my name is Dima
Как результат получаем в файл "translated.txt" перевод: hi привет my мое name имя is это Dima

с оператором break - выводит всё коррекно: привет мое имя это Dima

Сам код:
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
#include <fstream>
using std::ifstream;
using std::ofstream;
#include <string>
using std::string;
 
int main()
{
    ifstream lib("library.txt");
    ifstream input("EnterTheText.txt");
    ofstream transl("translated.txt");
    string eng, rus, temp;
 
    while(input >> temp)
    {
        while(!lib.eof())
        {
            lib >> eng >> rus;
            if(temp == eng)
            {
                transl << rus << " ";
                cout << rus << " ";
                //break;
            }
            else if(temp == rus)
            {
                transl << eng << " ";
                //break;
            }
            
        }
    if (temp != eng && temp != rus) transl << temp << " "; // если не нашел перевода -
    lib.seekg( 0 ); //переустановить на начало файла      // выводит не переведенное слово.
    lib.clear(); // сбросить eof для следующего цикла
    }
 
    transl.close();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 20:50     Программа дублирует вывод. Переводчик, работа с файлами
Посмотрите здесь:

C++ Программа, работа с файлами
C++ Программа зависает(работа с файлами)
C++ Консольная программа тестирования [работа с текстовыми файлами]
Работа с файлами. Неверный вывод. C++
C++ С++ работа с файлами (поиск и вывод чисел в файле)
C++ С++ Работа с Файлами(запись\вывод)
C++ Работа с текстовыми файлами: Вывод из текстового файла
программа с++ про количество слов (работа с файлами) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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