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

Ввод русских символов.

19.04.2011, 12:14. Показов 67662. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, простите пожалуйста что отвлекаю, я хотел бы спросить как сделать так, что бы русские символы можно было вводить?

Я вот так вот попробывал сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
int main(){
    setlocale(LC_ALL, "Russian");
    const int bukvu = 20;
    char slovo[bukvu];
while(true){    
    cout<<"Введите слово: ";
    cin.getline(slovo, bukvu);
    cout<<"Поидее сдесь должно быть слово: "<<slovo<<endl;
    system("pause");
    cout<<endl;
}
return 0;
}
при выводе введённой информации она отображаеться каракулями.
Подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2011, 12:14
Ответы с готовыми решениями:

Как настроить ввод русских символов и в дальнейшем вывод этих символов
Подскажите как в этом коде настроить ввод русских символов и в дальнейшем вывод этих символов....

Неправильный ввод русских символов
Тема поднималась уже не раз, но у меня, похоже, особый случай. При запуске программы на моём компе...

Ввод русских символов в консоли
Создал консольное приложение, написал примерно вот такой код: int _tmain(int argc, _TCHAR* argv)...

Ввод русских символов в char* с консоли
Доброго времени года! Прописал setlocale для норм русского в консоли. Имею строку типа char*....

20
26 / 26 / 9
Регистрация: 04.03.2011
Сообщений: 61
19.04.2011, 12:18 2
может так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int bukvu = 20;
    char slovo[bukvu];
while(true){    
    cout<<"Введите слово: ";
    cin.getline(slovo, bukvu);
    cout<<"Поидее сдесь должно быть слово: "<<slovo<<endl;
    system("pause");
    cout<<endl;
}
        return 0;
}
2
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:22  [ТС] 3
Цитата Сообщение от term1t Посмотреть сообщение
может так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int bukvu = 20;
    char slovo[bukvu];
while(true){    
    cout<<"Введите слово: ";
    cin.getline(slovo, bukvu);
    cout<<"Поидее сдесь должно быть слово: "<<slovo<<endl;
    system("pause");
    cout<<endl;
}
        return 0;
}
Так вобще одни символы непонятные.
1
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 12:24 4
У меня ни то, ни другое не работало(RAD Studio 2010), решил проблему с помощью этого поста:
Русские шрифты в консоли
1
26 / 26 / 9
Регистрация: 04.03.2011
Сообщений: 61
19.04.2011, 12:25 5
У меня работает, попробуйте сменить шрифт в консоли
1
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:31  [ТС] 6
Ох блин ничо непонимаю.
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 12:36 7
Просто вставляете в код эту функцию, и далее пишете весь русский текст с помощью Rus("Слово")
Например:
C++
1
cout << Rus("Привет, мир!");
1
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:47  [ТС] 8
Цитата Сообщение от diagon Посмотреть сообщение
Просто вставляете в код эту функцию, и далее пишете весь русский текст с помощью Rus("Слово")
Например:
C++
1
cout << Rus("Привет, мир!");
А с функцией cin как?
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 12:49 9
C++
1
2
cin >> string;
cout << Rus(string);
1
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:52  [ТС] 10
У меня вобще с этим Рус неработатет ничо

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
#include<windows.h>
using namespace std;
int main(){
 
    cin >> string;
    cout << Rus(string);
    system("pause");
    return 0;
}
наверно эт неправильно.
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 13:02 11
Вы саму функцию не вставили..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream.h>
#include<windows.h>
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
 
 
int main()  {
    char string[256];
    cin >> string;
    cout << endl <<string;
    return 0;
}
Добавлено через 5 минут
Впрочем это лично у меня и без функции работает
1
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 13:57  [ТС] 12
Спасибо большое!

Добавлено через 22 минуты
а как тогда сделать вывод по русски?

Добавлено через 2 минуты
а всё спасибо я понял.

Добавлено через 9 минут
А если мне нужно ввести несколько слов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<windows.h>
using namespace std;
char bufRus[256];
 
char* Rus(const char* text) {
          CharToOem(text, bufRus);
          return bufRus;
          }
 
 
 
int main()  {
        char string[256];
while(true){        
        cout<<Rus("Введите слово(а): ");
        cin.get(string, (что сдесь надо написать чтобы можно было ввести предложение?) ).get();
        cout<<endl<<Rus("Поидее сдесь должно(ы) быть слово(а) : ")<<string<<endl;
        system("pause");
        cout<<endl;
}
return 0;
}
непонимаю.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
19.04.2011, 14:03 13
зачем вообще заморачиваться с кириллицей?)
1
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 14:07  [ТС] 14
Всем спасибо, я всё понял, вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<windows.h>
using namespace std;
char bufRus[256];
 
char* Rus(const char* text) {
          CharToOem(text, bufRus);
          return bufRus;
          }
 
 
 
int main()  {
        char string[256];
while(true){        
        cout<<Rus("Введите слово(а): ");
        cin.get(string, 256).get();
        cout<<endl<<Rus("По идее здесь должно(ы) быть слово(а): ")<<string<<endl;
        system("pause");
        cout<<endl;
}
return 0;
}
0
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 12
20.01.2012, 03:29 15
А в каком С++ вы работаете? ато у меня Turbo C++ IDE какой-то что-ли, и ни библиотеки windows.h не находит ни using namespase не понимает... Или это я туплю, обьясните пожалуйста
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
20.01.2012, 03:31 16
Muhammed_Sulaye, выкинь бяку и поставь... ну студию хотя бы.
0
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 12
20.01.2012, 03:36 17
а есть ссылка на скачивание?
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
20.01.2012, 03:47 18
Как обычно...
0
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 12
20.01.2012, 04:11 19
Я все понимаю, но у меня сейчас скорость И-нета 0.1 Кб/с и по этому я был бы очень благодарен за ссылку на проверенный сайт с провереной установкой.
эту версию я тоже скачивал, что было для меня проблематично
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
20.01.2012, 04:26 20
Кхм... С такой скоростью качаться будет очень долго, я смутно себе представляю размер студии нынче, но весьма дофига. Как-то так
1
20.01.2012, 04:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2012, 04:26
Помогаю со студенческими работами здесь

Ввод русских букв
Не могу понять почему при вводе русских символом программа начинает ругаться. Можно ли как-нибудь...

Вывод и ввод русских слов
Мне необходимо вводить слова на русском и чтобы,в дальнейшем,я мог их сравнивать с другими словами...

Ввод русских букв в консольно программе
Я добавил в программу #include &lt;locale.h&gt; setlocale(LC_ALL,&quot;russian&quot;); Русский язык...

необходимо настроить ввод русских симолов
/* STRTOK.C: In this program, a loop uses strtok * to print all the tokens (separated by commas ...


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

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

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