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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.64
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
#1

Англо-русский словарь - C++

02.12.2009, 22:02. Просмотров 3624. Ответов 34
Метки нет (Все метки)

Прошу вас помочь написать мне программу на Borland C, программа (англо-русский словарь)
Вот задание:
Поиск информации с помощью бинарных деревьев. Разработать англо-русский словарь.
И желательно с оболочкой, если вам не тяжело =(
Очень прошу ='(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2009, 22:02     Англо-русский словарь
Посмотрите здесь:

Англо-русский словарь на С++ - C++
Помогите пожалста. Втупляю, немогу придумать ничего дельного. Разработать класс «Граф» для решения следующей задачи. Задан файл,...

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

Класс «англо – русский словарь» - C++
Определите класс «англо – русский словарь». Словарь состоит из различных слов английского языка, упорядоченных по алфавиту. Прописные и...

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

Курсовая работа на тему англо-русский словарь - C++
#include <stdio.h> #include <conio.h> #include <string.h> #include <clocale> #include <stdlib.h> #include <locale> int...

Англо-русский словарь построен как двоичное дерево. - C++
Всем привет! Помогите пожалуйста с написанием программы:cry: Очень прошу:gcray: Англо-русский словарь построен как двоичное дерево. ...

Англо-русский словарь построен в виде двоичного дерева в программе с++ - C++
Англо-русский словарь построен в виде двоичного дерева. Каждая компонента содержит английское слово, соответствующее ему русское слово и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
02.12.2009, 22:07     Англо-русский словарь #2
что за оболочка, интересно? Borland C - оно же под dos, то есть текстовой режим
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
02.12.2009, 22:12  [ТС]     Англо-русский словарь #3
Оболочка уже для ехе(шника)
Вот к примеру, прога написана на С, но сделана еще и оболочка для удобности и красоты:
Миниатюры
Англо-русский словарь   Англо-русский словарь  
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
02.12.2009, 23:43  [ТС]     Англо-русский словарь #4
Сделал на С++, но почему-то при вводе слова, хоть на английском хоть на русском выбивает что в словаре такого слова нету ((( И подскажите как сдеалть чтобы выводило русские буквы...
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
#include <string>
#include <map>
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int main()
{
ifstream in("slovar.txt");
string s1,s2;
map<string,string> slovar;
while(in>>s1>>s2)
{
transform(s1.begin(),s1.end(),s1.begin(),tolower); //перевод в нижний регистр
transform(s2.begin(),s2.end(),s2.begin(),tolower);
slovar[s1]=s2;
slovar[s2]=s1;
}
in.close();
while(1)
{
cout<<"Введите слово на английском или на русском которое хотите перевести, или exit чтобы выйти: ";
cin>>s1;
transform(s1.begin(),s1.end(),s1.begin(),tolower);
if(s1=="exit") break;
if(slovar.find(s1)!=slovar.end())
cout<<"Перевод слова: "<<slovar[s1]<<endl;
else cout<<"В словаре этого слова не найдено"<<endl;
}
}
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 00:07     Англо-русский словарь #5
Onrike, Русские шрифты в консоли
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 00:09  [ТС]     Англо-русский словарь #6
Цитата Сообщение от M128K145 Посмотреть сообщение
Спасибо, а с прогой можешь помочь?
Сижу уже 4-5 часов и не доганяю в чем проблема, что не находит слово в словаре (
З.Ы. Пишу на Visual Studio
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 00:14     Англо-русский словарь #7
Onrike, прикрепи к посту slovar.txt
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 00:54  [ТС]     Англо-русский словарь #8
Вот...
Вложения
Тип файла: txt slovar.txt (30 байт, 141 просмотров)
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 01:06     Англо-русский словарь #9
Onrike, перепиши содержимое файла slovar.txt так
Код
it оно
they они
hello привет
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 01:08  [ТС]     Англо-русский словарь #10
Цитата Сообщение от M128K145 Посмотреть сообщение
Onrike, перепиши содержимое файла slovar.txt так
Код
it оно
they они
hello привет
Переписал, таже ошибка
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 01:14     Англо-русский словарь #11
Да ну? Уверен?
Миниатюры
Англо-русский словарь  
Вложения
Тип файла: txt slovar.txt (30 байт, 42 просмотров)
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 01:17  [ТС]     Англо-русский словарь #12
Вот скрин
Миниатюры
Англо-русский словарь  
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 01:30  [ТС]     Англо-русский словарь #13
Цитата Сообщение от M128K145 Посмотреть сообщение
Да ну? Уверен?
Что я не так делаю??? Подскажи
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 10:43     Англо-русский словарь #14
вот
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
#include <string>
#include <map>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <Windows.h>
using namespace std;
char buf[256];
char* CTOA(char* text)
{
    CharToOemA(text, buf);
    return buf;
}
int main()
{
    ofstream out("slovar1.txt");
    out<<CTOA("it оно\nthey они\nhello привет");
        out.close();
    ifstream in("slovar1.txt");
    string s1,s2;
    map<string,string> slovar;
    while(in>>s1>>s2)
    {
        transform(s1.begin(),s1.end(),s1.begin(),tolower); //перевод в нижний регистр
        transform(s2.begin(),s2.end(),s2.begin(),tolower);
        slovar[s1]=s2;
        slovar[s2]=s1;
    }
    in.close();
    while(1)
    {
        cout<<CTOA("Введите слово на английском или на русском которое хотите перевести, или exit чтобы выйти: ");
        cin>>s1;
        transform(s1.begin(),s1.end(),s1.begin(),tolower);
        if(s1=="exit") break;
        if(slovar.find(s1)!=slovar.end())
            cout<<CTOA("Перевод слова: ")<<slovar[s1]<<endl;
        else cout<<CTOA("В словаре этого слова не найдено")<<endl;
    }
}


В файл записывай так как написано в 16 - 18 строках
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 17:30  [ТС]     Англо-русский словарь #15
Цитата Сообщение от M128K145 Посмотреть сообщение
вот
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
#include <string>
#include <map>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <Windows.h>
using namespace std;
char buf[256];
char* CTOA(char* text)
{
    CharToOemA(text, buf);
    return buf;
}
int main()
{
    ofstream out("slovar1.txt");
    out<<CTOA("it оно\nthey они\nhello привет");
        out.close();
    ifstream in("slovar1.txt");
    string s1,s2;
    map<string,string> slovar;
    while(in>>s1>>s2)
    {
        transform(s1.begin(),s1.end(),s1.begin(),tolower); //перевод в нижний регистр
        transform(s2.begin(),s2.end(),s2.begin(),tolower);
        slovar[s1]=s2;
        slovar[s2]=s1;
    }
    in.close();
    while(1)
    {
        cout<<CTOA("Введите слово на английском или на русском которое хотите перевести, или exit чтобы выйти: ");
        cin>>s1;
        transform(s1.begin(),s1.end(),s1.begin(),tolower);
        if(s1=="exit") break;
        if(slovar.find(s1)!=slovar.end())
            cout<<CTOA("Перевод слова: ")<<slovar[s1]<<endl;
        else cout<<CTOA("В словаре этого слова не найдено")<<endl;
    }
}


В файл записывай так как написано в 16 - 18 строках
Спасибо )
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 20:50  [ТС]     Англо-русский словарь #16
Цитата Сообщение от M128K145 Посмотреть сообщение
вот
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
#include <string>
#include <map>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <Windows.h>
using namespace std;
char buf[256];
char* CTOA(char* text)
{
    CharToOemA(text, buf);
    return buf;
}
int main()
{
    ofstream out("slovar1.txt");
    out<<CTOA("it оно\nthey они\nhello привет");
        out.close();
    ifstream in("slovar1.txt");
    string s1,s2;
    map<string,string> slovar;
    while(in>>s1>>s2)
    {
        transform(s1.begin(),s1.end(),s1.begin(),tolower); //перевод в нижний регистр
        transform(s2.begin(),s2.end(),s2.begin(),tolower);
        slovar[s1]=s2;
        slovar[s2]=s1;
    }
    in.close();
    while(1)
    {
        cout<<CTOA("Введите слово на английском или на русском которое хотите перевести, или exit чтобы выйти: ");
        cin>>s1;
        transform(s1.begin(),s1.end(),s1.begin(),tolower);
        if(s1=="exit") break;
        if(slovar.find(s1)!=slovar.end())
            cout<<CTOA("Перевод слова: ")<<slovar[s1]<<endl;
        else cout<<CTOA("В словаре этого слова не найдено")<<endl;
    }
}


В файл записывай так как написано в 16 - 18 строках
А ника нельзя убрать??? Чтобы не вводить каждое слово в код программы?
C++
1
out<<CTOA("it оно\nthey они\nhello привет\nshe она");
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 20:59     Англо-русский словарь #17
Onrike, так в том-то и дело что можно, можешь создать отдельную программу для добавления в свой текстовик новых пар слов. Можно сделать и ввод для добавления, только тогда используй массив типа char и возможно OemToCharA, сейчас не могу точно сказать, это надо пробовать
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 22:04  [ТС]     Англо-русский словарь #18
Цитата Сообщение от M128K145 Посмотреть сообщение
Onrike, так в том-то и дело что можно, можешь создать отдельную программу для добавления в свой текстовик новых пар слов. Можно сделать и ввод для добавления, только тогда используй массив типа char и возможно OemToCharA, сейчас не могу точно сказать, это надо пробовать
Чесно говоря я не понимаю как создать, просто я новичек в С, но прогу надо сдлать (
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 23:03     Англо-русский словарь #19
в общем вот
переводчик
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
#include <string>
#include <map>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <Windows.h>
using namespace std;
char buf[256];
char* CTOA(char* text)
{
    CharToOemA(text, buf);
    return buf;
}
int main()
{
    ifstream in("slovar.txt");
    string s1,s2;
    map<string,string> slovar;
    while(in>>s1>>s2)
    {
        transform(s1.begin(),s1.end(),s1.begin(),tolower); //перевод в нижний регистр
        transform(s2.begin(),s2.end(),s2.begin(),tolower);
        slovar[s1]=s2;
        slovar[s2]=s1;
    }
    in.close();
    while(1)
    {
        cout<<CTOA("Введите слово на английском или на русском которое хотите перевести, или exit чтобы выйти: ");
        cin>>s1;
        transform(s1.begin(),s1.end(),s1.begin(),tolower);
        if(s1=="exit") break;
        if(slovar.find(s1)!=slovar.end())
            cout<<CTOA("Перевод слова: ")<<slovar[s1]<<endl;
        else cout<<CTOA("В словаре этого слова не найдено")<<endl;
    }
}
и
запись
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <fstream>
#include <iostream>
#include <Windows.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int i;
    char rus[300];
    char eng[300];
    std::ofstream cout("slovar.txt", std::ios::app);
    do 
    {
        std::cout<<"Для нового ввода нажмите 1, для выхода 0:\n> ", std::cin>>i;
        fflush(stdin);
        if (!i)
            break;
        std::cout<<"Введите слово на русском:\n> ", std::cin.getline(rus, 300);
        std::cout<<"Введите слово на английском:\n> ", std::cin.getline(eng, 300);
        cout<<'\n'<<eng<<' '<<rus;
    } while (i);
    return 0;
}
новых слов в словарь
Цитата Сообщение от Onrike Посмотреть сообщение
я новичек в С
а пишешь на С++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2009, 23:06     Англо-русский словарь
Еще ссылки по теме:

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

Англо-русского словарь методом дерева бинарного поиска - C++
Здравствуйте! Есть задача: реализовать англо-русский словарь с помощью бинарного дерева поиска. Решаю эту задачу на примере книги...

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

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

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


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

Или воспользуйтесь поиском по форуму:
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 23:06  [ТС]     Англо-русский словарь #20
Цитата Сообщение от M128K145 Посмотреть сообщение
в общем вот
переводчик
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
#include <string>
#include <map>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <Windows.h>
using namespace std;
char buf[256];
char* CTOA(char* text)
{
    CharToOemA(text, buf);
    return buf;
}
int main()
{
    ifstream in("slovar.txt");
    string s1,s2;
    map<string,string> slovar;
    while(in>>s1>>s2)
    {
        transform(s1.begin(),s1.end(),s1.begin(),tolower); //перевод в нижний регистр
        transform(s2.begin(),s2.end(),s2.begin(),tolower);
        slovar[s1]=s2;
        slovar[s2]=s1;
    }
    in.close();
    while(1)
    {
        cout<<CTOA("Введите слово на английском или на русском которое хотите перевести, или exit чтобы выйти: ");
        cin>>s1;
        transform(s1.begin(),s1.end(),s1.begin(),tolower);
        if(s1=="exit") break;
        if(slovar.find(s1)!=slovar.end())
            cout<<CTOA("Перевод слова: ")<<slovar[s1]<<endl;
        else cout<<CTOA("В словаре этого слова не найдено")<<endl;
    }
}
и
запись
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <fstream>
#include <iostream>
#include <Windows.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int i;
    char rus[300];
    char eng[300];
    std::ofstream cout("slovar.txt", std::ios::app);
    do 
    {
        std::cout<<"Для нового ввода нажмите 1, для выхода 0:\n> ", std::cin>>i;
        fflush(stdin);
        if (!i)
            break;
        std::cout<<"Введите слово на русском:\n> ", std::cin.getline(rus, 300);
        std::cout<<"Введите слово на английском:\n> ", std::cin.getline(eng, 300);
        cout<<'\n'<<eng<<' '<<rus;
    } while (i);
    return 0;
}
новых слов в словарь
а пишешь на С++
Ну вообще мы изучаем С, но мой друг пишет на С++, и помог написать на С++
Если конечно вы сможете написать на Борланд С, то буду очень благодарен, если нет, то попытаюсь врубится в С++

Я не очень понял с записью новых слов в словарь... Как оно работает? Что сделать чтобы оно работало?
Миниатюры
Англо-русский словарь  
Yandex
Объявления
03.12.2009, 23:06     Англо-русский словарь
Ответ Создать тему
Опции темы

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