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

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

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

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

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

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

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

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

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

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

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

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

34
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 она");
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 20:59 #17
Onrike, так в том-то и дело что можно, можешь создать отдельную программу для добавления в свой текстовик новых пар слов. Можно сделать и ввод для добавления, только тогда используй массив типа char и возможно OemToCharA, сейчас не могу точно сказать, это надо пробовать
0
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 22:04  [ТС] #18
Цитата Сообщение от M128K145 Посмотреть сообщение
Onrike, так в том-то и дело что можно, можешь создать отдельную программу для добавления в свой текстовик новых пар слов. Можно сделать и ввод для добавления, только тогда используй массив типа char и возможно OemToCharA, сейчас не могу точно сказать, это надо пробовать
Чесно говоря я не понимаю как создать, просто я новичек в С, но прогу надо сдлать (
0
M128K145
Эксперт С++
8293 / 3513 / 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 Посмотреть сообщение
я новичек в С
а пишешь на С++
0
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;
}
новых слов в словарь
а пишешь на С++
Ну вообще мы изучаем С, но мой друг пишет на С++, и помог написать на С++
Если конечно вы сможете написать на Борланд С, то буду очень благодарен, если нет, то попытаюсь врубится в С++

Я не очень понял с записью новых слов в словарь... Как оно работает? Что сделать чтобы оно работало?
0
Миниатюры
Англо-русский словарь  
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 23:16 #21
Onrike, на самом деле я не пишу на С, а потому не очень его знаю
0
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 23:19  [ТС] #22
Цитата Сообщение от M128K145 Посмотреть сообщение
Onrike, на самом деле я не пишу на С, а потому не очень его знаю
Ну а по поводу того как создать запись в словарь?
Я не пойму как оно работает? В Визуале я добаил файл .срр в ту папку где и сама прога, но проблема началась пишет при компиляции что ненайден указаный путь (
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 23:27 #23
Onrike, так тебе надо было не файл новый создавать, а программу вторую - новый проект. Или делать что-то вроде менюшки:
1) добавление;
2) перевод
0
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 23:28  [ТС] #24
Цитата Сообщение от M128K145 Посмотреть сообщение
Onrike, так тебе надо было не файл новый создавать, а программу вторую
Аааа, эт о2 проги, одна переводит, другая просто дописывает в текстовый файл?
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 23:34 #25
Onrike, да
0
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 23:44  [ТС] #26
Цитата Сообщение от M128K145 Посмотреть сообщение
Onrike, да
Вообщем создал новый проект, создал там прогу-запись, норм пашет, но после записи в файле slovar.txt не появляются эти слова, и переводчик не переводит их (
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
03.12.2009, 23:46 #27
Onrike, так а ты скинь оба екзешника в одну папку!
0
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
03.12.2009, 23:47  [ТС] #28
Спс, сейчас попробую
Вообщем проблемма, смотри скрин:
Скинул все в одну папку, когда запускаю прогу-запись, добавляю слово, оно добавляет в текстовый файл, но каракули, я так понял кодировка.
Запускаю Прогу-переводчик, ввожу слово на английском пишет нету такого, ввожу на русском выводит что попало. как иссправить?
0
Миниатюры
Англо-русский словарь  
Onrike
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 42
04.12.2009, 00:04  [ТС] #29
Работает, скинул два ехешнника в другую папку, без тхт файла. ЗАпустил, работает, но в текстовом файле вместо русского закарлючки )
Вообщем прога работает, спасибо огромное.
Но возникла проблемма, кинул прогу двоим людям протестить, но у них не запускается ехе. Что делать?
Скрин прилагается...
0
Миниатюры
Англо-русский словарь  
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
04.12.2009, 00:44 #30
посмотри во время компиляции в окошке Modules есть список dll, скопируй их в папку с екзешником
Англо-русский словарь
В текстовике и должны быть "закорлючки", это норм
0
04.12.2009, 00:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2009, 00:44
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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