Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Ripo
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 8
1

Переводчик

07.06.2011, 10:47. Просмотров 2526. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 10:47
Ответы с готовыми решениями:

переводчик
чуваки в чем ошибка?почему считывая на английском слово которое я ввожу и есть в текстовом...

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

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

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

3
.4rray
8 / 8 / 2
Регистрация: 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
589 / 527 / 76
Регистрация: 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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2011, 16:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

Как создать переводчик систем счисления?
Нужно создать программу для перевода чисел с одной системы счисления в другую; так сказать...


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

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

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