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

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

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

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

07.06.2011, 10:47. Просмотров 1051. Ответов 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;
                }
        }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 10:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переводчик (C++):

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

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

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

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

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

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

3
.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;
1
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
07.06.2011, 16:05 #3
никак.
любой переводчик посмотри
0
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;
спасибо)
0
07.06.2011, 16:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2011, 16:11
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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