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

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

Войти
Регистрация
Восстановить пароль
 
BukTOP_10
1 / 1 / 0
Регистрация: 05.10.2011
Сообщений: 13
#1

русско-английский словарь с помощью лин. списка - C++

16.11.2011, 22:10. Просмотров 517. Ответов 0
Метки нет (Все метки)

Здравствуйте,помогите пожалуйста с программой,требуется написать программу для русско-английского словаря,читать слова из текстового файла и хранить с помощью лин. списка,написал примерный код,не могу исправить ошибки,помоги пожалуйста!
Код
#include<iostream>
#include<fstream>
#include <windows.h>

struct LE
{
  char text[30];
  struct LE *next;
};

using namespace std;

char bufRus[256];
 
char* rus(const char* text)
{
      CharToOem(text,bufRus);
      return bufRus;
}

int InputLinSpis(LE &dictionary)
{
     ifstream fileIn;
	 fileIn.open("database.txt");
	 if(!fileIn.is_open()){   cout << "Error opening file"<< endl;
                              fileIn.close();
                              return 0;
                          } 
     while(!fileIn.eof()) getline(dictionary.text,30); //извлекаем слова построчно
     fileIn.close();
     return 1;
}  

LE& CreateLinSpisok()
{
    LE *top,*p;
    top=NULL;
    while(1)
    {
            p=new LE[sizeof(LE)];
            if(!InputLinSpisok(p)) 
            {
              delete []p;
              return *top;
            }
            p->next=top; top=p;
   } 
} 

void DestructLinSpis(LE *p)
{
	LE *next;
	while(p)
	{
		next=p->next;
		delete []p;
		p=next;
	}
} 



int Find(LE &p)
{
    char word[30],*buf1=NULL,*buf2 = NULL;
    bool find=false;
    
    cout<<"Enter word to translate:";
    cin.getline(word,30); 
    
    while(!p)
    {
      buf1=strtok(p.text,"-");
      buf2=strtok(NULL," ");
      buf1=rus(buf1);
      if (*buf1==*word && strlen(buf1)==strlen(word))
      {
 
         cout << word << " = " << rus(buf2) << endl;
         find = true;
         return 1;
      }
      if (*buf2 == *word && strlen(buf2) == strlen(word))
      {
         cout << word << " = " << buf1 << endl;
         find = true;
         return 1;
      }
      p=p->next;
   }
   if (!find) cout<<"No match"<<endl; //если совпадений не найдено
   return 0;
} 

main()
{
LE *p;

p=CreateLinSpisok();
Find(p);
system("pause");
DestructLinSpis(p);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2011, 22:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос русско-английский словарь с помощью лин. списка (C++):

Русско-английский и англо-русский словарь - C++
Здравствуйте господа программисты! Мне нужна помощь. В курсовой работе есть задание &quot;Создать проект «Русско-английский и англо-русский...

Реализовать русско-английский и англо-русский словарь - C++
Надо было реализовать словарь с русского на англ и наоборот. #include &quot;iostream&quot; #include &quot;string.h&quot; using namespace std; int...

Русско-английский словарь. Ввод данных с двух файлов. Вывод результата в файл - C++
Здравствуйте, сама задача: Даны два текстовых файла - в первом расположены русские слова, во втором их англоязычный перевод. Создать...

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

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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2011, 22:10
Привет! Вот еще темы с ответами:

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

Поиск в лин. списке - C++
Помогите сделать сам поиск..я уже замучился.. вот что у меня сейчас { int...

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

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


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

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

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