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

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

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

Переводчик - C++

07.06.2011, 10:47. Просмотров 867. Ответов 3
Метки нет (Все метки)

Есть задание написать переводчик русских букв в транслит и обратно,все хорошо но есть проблема,при переводе букв ч,щ,ш в транслит все работает,переводятся как ch,shh и sh,но вот когда переводить наоборот ch в ч,то переводчик выдает цх,как сделать чтоб переводилось ch в ч,sh в ш и так далее?
вот кусок кода
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <windows.h>
#include <iostream>
using namespace std;
 
void ToTranslate(char *srcStr, char *resultStr);
 
int main()
{
        setlocale(LC_ALL,"Russian");
        char target[256]={0};
        char result[256]={0};
        cout<<"Введите строку для преобразования: ";
 
        SetConsoleCP(1251);
        cin.getline(target,255);
        SetConsoleCP(866);
 
        ToTranslate(target,result);
        cout<<"Результат перевода: "<<result<<endl;
        return 0;
}
 
void ToTranslate(char *srcStr, char *resultStr)
{
        char temp[2]={0};
        for(int i=0;i<strlen(srcStr);i++)
        {
                switch(srcStr[i])
                {
                case 'a':
                        strcat(resultStr,"а");
                        break;
                case 'b':
                        strcat(resultStr,"б");
                        break;
                case 'v':
                        strcat(resultStr,"в");
                        break;
                case 'g':
                        strcat(resultStr,"г");
                        break;
                case 'd':
                        strcat(resultStr,"д");
                        break;
                case 'e':
                        strcat(resultStr,"е");
                        break;
                case ' yo ':
                        strcat(resultStr,"ё");
                        break;
                case ' zh ':
                        strcat(resultStr,"ж");
                        break;
                case 'z':
                        strcat(resultStr,"з");
                        break;
                case 'i':
                        strcat(resultStr,"и");
                        break;
                case 'j':
                        strcat(resultStr,"й");
                        break;
                case 'k':
                        strcat(resultStr,"к");
                        break;
                case 'l':
                        strcat(resultStr,"л");
                        break;
                case 'm':
                        strcat(resultStr,"м");
                        break;
                case 'n':
                        strcat(resultStr,"н");
                        break;
                case 'o':
                        strcat(resultStr,"о");
                        break;
                case 'p':
                        strcat(resultStr,"п");
                        break;
                case 'r':
                        strcat(resultStr,"р");
                        break;
                case 's':
                        strcat(resultStr,"с");
                        break;
                case 't':
                        strcat(resultStr,"т");
                        break;
                case 'u':
                        strcat(resultStr,"у");
                        break;
                case 'f':
                        strcat(resultStr,"ф");
                        break;
                case 'h':
                        strcat(resultStr,"х");
                        break;
                case 'c':
                        strcat(resultStr,"ц");
                        break;
                case ' ch ':
                        strcat(resultStr,"ч");
                        break;
                case 'sh':
                        strcat(resultStr,"ш");
                        break;
                case 'q':
                        strcat(resultStr,"щ");
                        break;
                case 'w':
                        strcat(resultStr,"ы");
                        break;
                case 'e^':
                        strcat(resultStr,"э");
                        break;
                case 'yu':
                        strcat(resultStr,"ю");
                        break;
                case 'ya':
                        strcat(resultStr,"я");
                        break;
                default:
                        temp[0] = srcStr[i];
                        temp[1] = 0;
                        strcat(resultStr,temp);
                        break;
                }
        }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 10:47     Переводчик
Посмотрите здесь:

переводчик - C++
чуваки в чем ошибка?почему считывая на английском слово которое я ввожу и есть в текстовом документе не выводит перевод?#include&lt;iostream&gt; ...

Программа переводчик - C++
Вот в чем суть... знания языка С++ ОЧЕНЬ малы. Но я всеми способами пытаюсь улучшить это скверное положение) Но сейчас не о моих знания а о...

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

Переводчик с английского на русский - C++
программа переводит введенное (английское)слово на русский,что нужно добавить что бы она переводила 2 и более введенных слов не...

Написать программу словарь-переводчик - C++
Помогите пожалуйста, всё уже облазил. Мне нужно создать программу типа словарь, если вводишь английское слово, нужно чтобы оно его искало...

Словарь-Переводчик. вывод в textBox - C++
Вроде всё компилируется нормально, но выводить не хочет, помогите разобраться в чём ошибка, заранее благодарен! Проект прикреплён к...

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

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

С++ & переводчик (который поддерживает подобную функию) - C++
Доброй ночи, уважаемые читатели форума. Я все продолжаю пилить переводчик модов для Civ4, с его базами из уже переведённых модов. И...

переводчик поиском бинарного дерева не работает программа! - C++
Программа содержит ошибки помогите убрать #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;locale&gt; using namespace std; class...

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
.4rray
8 / 8 / 0
Регистрация: 15.12.2010
Сообщений: 41
07.06.2011, 15:57     Переводчик #2
C++
1
2
3
4
5
6
7
8
9
10
11
case 'c':
                        if(srcStr[i+1] == 'h')
                        {
                                    strcat(resultStr,"ч");
                                    i++;
                        }
                        else
                        {
                                    strcat(resultStr,"ц");
                        }
                        break;
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
07.06.2011, 16:05     Переводчик #3
никак.
любой переводчик посмотри
Ripo
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 8
07.06.2011, 16:11  [ТС]     Переводчик #4
Цитата Сообщение от .4rray Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
case 'c':
                        if(srcStr[i+1] == 'h')
                        {
                                    strcat(resultStr,"ч");
                                    i++;
                        }
                        else
                        {
                                    strcat(resultStr,"ц");
                        }
                        break;
спасибо)
Yandex
Объявления
07.06.2011, 16:11     Переводчик
Ответ Создать тему
Опции темы

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