0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 17
1

Программа для перевода текста

19.05.2015, 21:47. Показов 3525. Ответов 10
Метки нет (Все метки)

Хочу попробовать создать программу, которая переводит например вот эту фигню "ghbdtn" в слово "Привет". Пытался что то там сделать, ничего не получается, если не сложно, дайте шаблон, по которому можно написать эту прогу, да, я новичок и нифига не соображаю) Писал что то вроде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
    int x;
    
    cin >> x;
    if(cout << "q"){
        cout << "й";
    }
    if(cout << "w"){
        cout << "ц";
    }
        
        return 0;
        }
Естесственно, ничего не получилось, я просто не догоняю, как это написать, помогите нубу, а?)) Ток сильно не пинайте))
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2015, 21:47
Ответы с готовыми решениями:

Программа для перевода текста с русского на английский
Здравствуйте! У меня проблема,Я не могу написать программу для перевода текста с русского на...

Программа для перевода валют
Помогите пожалуйста,с++ не проходили,а уже скоро зачетная неделя будет,и там есть с++ и вот эти 2...

Программа для перевода числа
Не могу написать программу для перевода числа, введенного пользователем из P -ичной системы...

Программа для перевода чисел
Вывести на экран таблицу значений десятичных цифр в двоичной системе счисления.

10
368 / 256 / 65
Регистрация: 22.06.2010
Сообщений: 1,566
19.05.2015, 21:51 2
Winter94, вам принципиально важно делать это на C++?

Добавлено через 1 минуту
Вам надо каждый символ в тексте заменять на другой. if`ом это делать - жесть и каторга, юзайте switch, если хотите попроще.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
19.05.2015, 21:54 3
Winter94, для подобных целей есть подходящий контейнер std::map, но учитывая твой код и нубизм (не обижайся, сам же признался), имхо, стоит сначала почитать учебник по языку, чтобы не писать откровенных глупостей.

Добавлено через 1 минуту
Цитата Сообщение от Zoominger Посмотреть сообщение
if`ом это делать - жесть и каторга, юзайте switch
и останется только жесть (без каторги)
0
368 / 256 / 65
Регистрация: 22.06.2010
Сообщений: 1,566
19.05.2015, 21:55 4
ОМГ только сейчас заметил:
Цитата Сообщение от Winter94 Посмотреть сообщение
if(cout << "w")
Поддерживаю Tulosba, подучите язык
1
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 17
19.05.2015, 22:27  [ТС] 5
Ну шаблон то может дадите)) Пример свой?)) Так трудно чтоли, я ж вижу, Dы продвинутые ребята, поему б не помочь нубу, чего Вам стоит?))
0
368 / 256 / 65
Регистрация: 22.06.2010
Сообщений: 1,566
19.05.2015, 22:39 6
Лучший ответ Сообщение было отмечено Winter94 как решение

Решение

Winter94, вам посоветовали изучить std::map, вперёд
Если не хотите, то switch:

C++ (Qt)
1
2
3
4
5
6
for(int i=0; i<N; i++){
switch(static_cast<int>(symbol[3])){ //"static_cast<int>(" - это превращение char в int, просто запомните. в switch/case нельзя использовать символы, только цифры. в итоге получаем код символа, и, сверяясь с [URL="http://book.itep.ru/10/ascii.htm"]этой[/URL] таблицей, проверяете всё:
   case 101 : symbol[i] = 'е'; //101 - код латинской "e"
 ...
}
}
Как видите - это монстр и обезьянья работа, хотя и его можно оптимизировать. Короче, сначала получше поучите язык, перейдите на Qt и ваяйте сразу в графике
1
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 17
19.05.2015, 23:30  [ТС] 7
Ну, спасибо хоть за это)) Пойду разбираться, куда уж денешься))
0
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
20.05.2015, 03:21 8
Цитата Сообщение от Winter94 Посмотреть сообщение
Ну, шаблон-то, может, дадите
Для любой однобайтной кодировки (преобразование KOI8<->Win1251, EBCDIC<->ASCII и проч., ROT13 и любой вариант кода Цезаря, смена регистра букв в любую сторону итп.) это делается единообразно, в одну строчку через таблицу транслитерации (XLAT, 256 байт), без всяких if, switch, map etc.
C++
1
2
3
4
   for (int ii = 0; ii < Size; ++ii)
   {
      Y[ii] = pXLAT[((BYTE)X[ii])];
   }
Примеры здесь: кодировщик текста из ср1251 в кои8-р
0
2753 / 1908 / 568
Регистрация: 05.06.2014
Сообщений: 5,559
20.05.2015, 03:35 9
Цитата Сообщение от Zoominger Посмотреть сообщение
просто запомните. в switch/case нельзя использовать символы
Кто сказал? Символы switch прекрасно переваривает. Вот со строками - да, облом.
2
3174 / 1933 / 313
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
20.05.2015, 06:36 10

Не по теме:

У новичков всегда проблемы с signed типами.


Вот со строками - да, облом
Для (очень) коротких строки можно сделать cast к целому типу.

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
#include <stdio.h>
 
int main(int argc,char** argv)
{
   char     pStr[MAX_PATH];
 
   while (true)
   {
      printf("\n\nEnter the word :> ");
      gets(pStr);
 
      if (pStr && *pStr)   
      {
         switch (*(DWORD*)pStr)
         {
            case 0x70706172:  // rapper
            {
               printf("Like to be rapper.\n");
               break;
            }
            case 0x76697264:  // driver
            {
               printf("Seen to be driver.\n");
               break;
            }
            case 0x74736574:  // tester
            {
               printf("Yeah, It's tester!\n");
               break;
            }
            case 0x74697571:  // quit
            {
               printf("Finished.\n");
               return 0;
            }
            default:
            {
               printf("Use other word, please.\n");
               break;
            }
         }
      }
   }
 
   return 0;
}
Миниатюры
Программа для перевода текста  
0
Zoominger
20.05.2015, 08:28     Программа для перевода текста
  #11

Не по теме:

Renji, о как, а я всё время изгалялся ._.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2015, 08:28

Программа для перевода чисел из 16 системы в 2 на C++
Нужно написать программу, в которой пользователь вводит число, и оно переводится из 16 в 2....

Программа для перевода ярдов в дециметры
Помогите написать код на С++. Нужно перевести ярды в дециметры.

Программа для перевода римских цифр С++
Написать программу для перевода римских цифр в арабские. тесты и результаты 1) CMXLVIII - 948 2)...

Программа для автоматизации перевода слов
Структура «словарь» должна содержать 2 поля: слово на русском языке и его перевод на язык L (это...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru