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

Русские буквы в консоле

26.04.2016, 21:34. Просмотров 495. Ответов 2
Метки нет (Все метки)


Привет. Совсем недавно начал изучать C++ и тут такое дело...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Заменить все точки в строке восклицательным знаком...
#include<iostream>
#include<string>
using namespace std;
 
void main()
{
    setlocale(0, "");
    cout << "Введите текст: ";
    string temp;
    getline(cin, temp);
    for (int i = 0; temp[i]; i++)
        if (temp[i] == '.') temp[i] = '!';
    cout << "Получилась строка: " << temp << endl;
}
Данный листинг у меня работает как-то криво (см. скриншот), а именно там где должен быть ответ - некая чертовщина... Не подскажите, как победить?)

ЗЫ: IDE - MS Visual Studio 2013
ЗЫЫ: OS - Window 7 Ultimate x64 SP 1
0
Миниатюры
Русские буквы в консоле  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2016, 21:34
Ответы с готовыми решениями:

Русские буквы в консоле
Почему если ввести русские буквы в коде, в консоле они отобразятся правильно, а если ввести через...

написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3 буквы вперед (алфавита)
написать на с++ программу для Кода Цезаря, сдвиг на 3 буквы, чтобы в консоле конвертировал на 3...

Русские буквы
такая ситуация : написал в консоле карточную игру, для обозначения значков мастей нужна строчка...

русские буквы
Всем привет!!! У меня есть один вопрос, может кто-нибудь знает ответ на него. Итак, как известно в...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
2
Модератор
Эксперт С++
10458 / 8711 / 5262
Регистрация: 18.12.2011
Сообщений: 23,267
26.04.2016, 21:42 2
Русские шрифты в консоли
Я обычно тупо перекодирую введенный текст Из кодировки 866 в1251
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Заменить все точки в строке восклицательным знаком...
#include<iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
    cout << "Введите текст: ";
    char temp[1000];
    cin.getline(temp,1000);
    OemToChar(temp,temp);
    for (int i = 0; temp[i]; i++)
        if (temp[i] == '.') temp[i] = '!';
    cout << "Получилась строка: " << temp << endl;
   return 0;
}
0
0 / 0 / 1
Регистрация: 26.04.2016
Сообщений: 5
26.04.2016, 22:45  [ТС] 3
Спасибо))) Навели на мысль)
Сделал таки:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
string rus(string st)
{
    for (int i = 0; st[i]; i++)
    {
        char buff = st[i];
        cout << int(buff) << "\t";
        if (int(buff) < 0)
        {
            if (int(buff) >= -128) // здесь русская буква
            if (int(buff) <= -81)
                st[i] = char(buff + 64);
            else
                st[i] = char(buff + 16);
            if (int(buff) == -15) st[i] = char(-72);
        }
    }
    return st;
}
Едвали кроссплатформенное решение, но тем не менее сойдет...)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2016, 22:45

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

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

Русские буквы в C++
Помогите исправить, спасибо. Доброго времен суток! Я написал программу с Русскими буквами. ...

Русские буквы
Ребят всем привет!!! Подскажите мне пожалуйста такую вещь,хочу в С++ чтобы на русском...

Русские буквы в С
помогите разобраться с алфавитом в с как сделать что бы когда я ввожу русские буквы то компилятор...


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

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

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