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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.78
Elyno
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 8
#1

Кириллица в консоли - C++

06.05.2012, 17:13. Просмотров 6794. Ответов 19
Метки нет (Все метки)

Здравствуйте.
Произошла вот такая проблема. Надеюсь, поможете.
Написал легкую программу на C++, написал редактором Dev-C++ и скомпилировал тоже им, а когда открываю программу, в командной строке вместо русских букв какие-то иероглифы. Если открыть просто командную строку, то всё пишет нормально.
Пересмотрел, уже все темы ничего не помогает.
Скрины могу предоставить только в очень плохом качестве, где почти ничего не видно.
Код:
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
//
// Program to convert temperature from Celsius degree
// units into Fahrenheit degree units:
// Fahrenheit = Celsius * (212 - 32)/100 + 32
//
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
 
int main(int nNumberofArgs, char* pszArgs[])
{
// enter the temperature in Celsius
int celsius;
cout << "РУССКИЙ ТЕКСТ:";
cin >> celsius;
 
// calculate conversion factor for Celsius
// to Fahrenheit
int factor;
factor = 212 - 32;
 
// use conversion factor to convert Celsius
// into Fahrenheit values
int fahrenheit;
fahrenheit = factor * celsius/100 + 32;
 
// output the results (followed by a NewLine)
cout << "РУССКИЙ ТЕКСТ:";
cout << fahrenheit << endl;
 
// wait until user is ready before terminating program
// to allow the user to see the program results
system("PAUSE");
return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 17:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кириллица в консоли (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++
Пишу простенькую программу: #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Это моя первая C++ программа.&quot;; ...

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

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

Условный оператор, кириллица в консоли - C++
Ниже представлен код с условным оператором if. Ввожу Привет мир! но, нечего не происходит, почему? Заранее спасибо! #include...

Подсчитать количество вхождений буквы (кириллица) в строку (кириллица) - C++
Суть такая: по требованию программы ввести строку символов (обыкновенный текст, кириллица(!!!)) и посчитать количество вхождений, если...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.05.2012, 17:27 #2
с чего вы взяли что там должны быть русские буквы? кодировки разные
#include <windows.h>
SetConsoleCP(1251)
SetConsoleOutputCP(1251)
обязательно сменить шрифт в консоле
либо CharToOem и OemToChar
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
06.05.2012, 17:28 #3
Сделай так
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
#include <cstdio>
#include <cstdlib>
#include <locale.h>
#include <iostream>
using namespace std;
 
int main(int nNumberofArgs, char* pszArgs[])
{
// enter the temperature in Celsius
setlocale(LC_ALL, "Rus");
int celsius;
cout << "РУССКИЙ ТЕКСТ:";
cin >> celsius;
 
// calculate conversion factor for Celsius
// to Fahrenheit
int factor;
factor = 212 - 32;
 
// use conversion factor to convert Celsius
// into Fahrenheit values
int fahrenheit;
fahrenheit = factor * celsius/100 + 32;
 
// output the results (followed by a NewLine)
cout << "РУССКИЙ ТЕКСТ:";
cout << fahrenheit << endl;
 
// wait until user is ready before terminating program
// to allow the user to see the program results
system("PAUSE");
return 0; 
}
Elyno
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 8
06.05.2012, 17:29  [ТС] #4
К сожалению в консоли нет таких шрифтов.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
06.05.2012, 17:30 #5
Цитата Сообщение от Elyno Посмотреть сообщение
К сожалению в консоли нет таких шрифтов.
попробуй мой вариант
Elyno
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 8
06.05.2012, 17:31  [ТС] #6
Не помогло. В командной строке так же странные символы.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.05.2012, 17:31 #7
Цитата Сообщение от Elyno Посмотреть сообщение
К сожалению в консоли нет таких шрифтов.
есть, если вам просто вывод нужно можно использовать код приложенный выше используя setlocale
но для ввода русских букв он не подойдет
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
06.05.2012, 17:32 #8
Цитата Сообщение от Elyno Посмотреть сообщение
Не помогло. В консоли так же странные символы.
тогда тебе нужен русс доб для DEV C++. ща я тебе скину
Elyno
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 8
06.05.2012, 17:33  [ТС] #9
И что Вы тогда предлагаете?
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
06.05.2012, 17:34 #10
На ссылку на дополнение инструкция внутри
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.05.2012, 17:34 #11
все работает
Миниатюры
Кириллица в консоли  
Elyno
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 8
06.05.2012, 17:36  [ТС] #12
Помогло. Большое спасибо!
А с остальными языками программирования будут такие же проблемы?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.05.2012, 17:37 #13
Цитата Сообщение от Elyno Посмотреть сообщение
А с остальными языками программирования будут такие же проблемы?
проблема не с языком программирования а с кодировками, пишите на английском
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
06.05.2012, 17:37 #14
Цитата Сообщение от Elyno Посмотреть сообщение
Помогло. Большое спасибо!
А с остальными языками программирования будут такие же проблемы?
Помогло мое ?
Elyno
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 8
06.05.2012, 17:41  [ТС] #15
Цитата Сообщение от Sylar9 Посмотреть сообщение
Помогло мое ?
Да помогло ваше. Огромное спасибо.

Добавлено через 1 минуту
Цитата Сообщение от panicwassano Посмотреть сообщение
проблема не с языком программирования а с кодировками, пишите на английском
А если я хочу написать например на Java и мне нужно на русском. Как исправить ошибку кодировки?

Да-да, я чайник. ^_^
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 17:41
Привет! Вот еще темы с ответами:

Клавиши F1-F12 в консоли, и работа с мышкой в консоли - C++
Я искал на сайте, но не нашел упоминания о том как обрабатывать и или узнавать где находится курсор мышки (и еще мне надо бы узнать нажатие...

считывание с консоли ( не с клавы, а именно с консоли) - C++
нужно написать функцию которая возвращает string в котором написано 500 символов которые были выведены в консоли от начала. среда :...

кириллица - C++
Подскажите, как сделать ,чтобы в Borland C вывод был русскими буквами. Я написал setlocale(LC_ALL, &quot;Russian&quot;); вывод стал на...

Кириллица - C++
Доброго времени суток! Заранее извиняюсь за весьма глупый вопрос, но все же string name; int main() { setlocale...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.05.2012, 17:41
Ответ Создать тему
Опции темы

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