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

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

Войти
Регистрация
Восстановить пароль
 
Staz Lincord
5 / 5 / 1
Регистрация: 04.12.2013
Сообщений: 225
#1

Условный оператор, кириллица в консоли - C++

13.05.2014, 16:27. Просмотров 388. Ответов 6
Метки нет (Все метки)

Ниже представлен код с условным оператором if. Ввожу Привет мир! но, нечего не происходит, почему?
Заранее спасибо!

Кликните здесь для просмотра всего текста
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main() {
    setlocale(LC_ALL , "Russian");
    char x[50];
    cin>>x;
    if(x=="Привет мир!")
    {
        cout<<"Ага, привет."<<endl;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 16:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Условный оператор, кириллица в консоли (C++):

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки - C++
Здравствуйте. В С++ я абсолютный новичок, поэтому с первым же заданием возникли определённые трудности. Будьте добры, помогите решить. Буду...

Кириллица в консоли - C++
Пишу простенькую программу: #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Это моя первая C++ программа.&quot;; ...

Кириллица в консоли - C++
Знаю что вопрос уже не раз задавали, но там люди программировали в какой-либо из IDE. Я же программирую на Windows в MinGW(эмулятор g++,...

Кириллица в консоли - C++
Здравствуйте. Произошла вот такая проблема. Надеюсь, поможете. Написал легкую программу на C++, написал редактором Dev-C++ и...

Кириллица в консоли - C++
#include &quot;stdafx.h&quot; #include &lt;iostream.h&gt; #include &quot;seria.h&quot; #include&lt;windows.h&gt; char bufRus; char* Rus(const char*...

Не отображается кириллица в консоли - C++
Что делать?

6
Ярослав Никитин
0 / 0 / 2
Регистрация: 13.04.2014
Сообщений: 70
13.05.2014, 16:46 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
int main() {
    setlocale(LC_ALL , "Russian");
    string x;
    cin >> x;
    if(x == "Hello")
    {
        cout<<"Yes, hello"<<endl;
    }
    _getch();
    return 0;
}
Хочу тебя огорчить, на сколько я знаю, setlocale(LC_ALL , "Russian"); не русифицирует введенные данные, он только для вывода работает.

Экран нужно останавливать _getch(); и подключать библиотеку #include <conio.h>. Либо просто system ("pause");

Я подключил библиотеку #include <string>, дабы работать с типом стринг:

C++
1
2
 string x;
 cin >> x;
Добавлено через 1 минуту
Если я ошибаюсь, поправьте меня.
0
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
13.05.2014, 16:54 #3
cin считывает до пробела. Потому даже если и считает русские символы, то считает только "Привет".
Почитайте про getline, если нужна целая строка.
0
Ярослав Никитин
0 / 0 / 2
Регистрация: 13.04.2014
Сообщений: 70
13.05.2014, 17:03 #4
Цитата Сообщение от Тамика Посмотреть сообщение
cin считывает до пробела.
Ой да, забыл упомянуть. Гетлайном выглядеть будет как-то так. Да и кстати, русские не принимает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
 
int main ()
{
    setlocale(LC_ALL , "Russian");
    string x;
    getline (cin,x);
    if(x == "Hello World!")
    {
        cout<<"Ага, привет."<<endl;
    }
 
    system("pause");
    return 0;
}
0
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
13.05.2014, 17:08 #5
Цитата Сообщение от Ярослав Никитин Посмотреть сообщение
Ой да, забыл упомянуть. Гетлайном выглядеть будет как-то так. Да и кстати, русские не принимает.
Вот теперь котэ доволен.
0
Ярослав Никитин
0 / 0 / 2
Регистрация: 13.04.2014
Сообщений: 70
13.05.2014, 17:12 #6
Цитата Сообщение от Тамика Посмотреть сообщение
Вот теперь котэ доволен.
0
Staz Lincord
5 / 5 / 1
Регистрация: 04.12.2013
Сообщений: 225
13.05.2014, 19:15  [ТС] #7
Спасибо вам! А можно ли как нибудь сделать ввод русских данных?
0
13.05.2014, 19:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2014, 19:15
Привет! Вот еще темы с ответами:

Условный оператор. - C++
Написала код программы выдаёт ошибки. :( Вычислить значение функции -ax в квадрате -b при x&lt;5 x+a/x при x&gt;5 ...

Условный оператор. - C++
Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1, 3).

Условный оператор IF - C++
Содержание: 1+d sin d/a (i-1)i+{a}^{2} i+2/3x ...

Условный оператор - C++
Скажите, будет ли следующий код работать, как подразумевается - в зависимости от значения флага индексировать один или другой массив? ...


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

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

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