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

Русский язык не могу настроить - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 01:34     Русский язык не могу настроить #1
Здравствуйте...
Не знаю как и где тут влепить setlocale(LC_ALL, "Russian");, пробовал писать его под int main, но ничего так и не получилось...
Не мог бы мне кто то помочь русифицировать мою программу. Спасибо!
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
#include <iostream> // ïîäêëþ÷Г*ГҐ
#include <cmath>
#include <locale>
#include <locale.h>
#include <cstdlib>
 
 
using namespace std;
 
template<class T>
class vector3d // ГЄГ«Г*Г±Г± òðåõìåðГ*îãî âåêòîðГ*
{
public:
   
vector3d();
    ~vector3d();
 
     void SetVector(const char * const caption); // ГґГіГ*êöèÿ ïîçâîëÿåò ГўГўГҐГ±ГІГЁ êîîðäèГ*Г*ГІГ» âåêòîðГ*
    void display(const char * const caption); // ГґГіГ*êöèÿ âûâîäÿùГ*Гї âåêòîð Г*Г* ГЅГЄГ°Г*Г*
 
   void summ(vector3d *vec1, vector3d *vec2); // ïîëó÷Г*ГҐГІ âåêòîð ñóììû
   
void razn(vector3d *vec1, vector3d *vec2); // ïîëó÷Г*ГҐГІ âåêòîð Г°Г*Г§Г*îñòè
   
void dlina(vector3d *vec1); // âû÷èñëÿåò äëèГ*Гі âåêòîðГ*
    void scalar(vector3d *vec1, vector3d *vec2); // Г±ГЄГ*ëÿðГ*Г® ГіГ¬Г*îæГ*ГҐГІ âåêòîðГ*
   
void cosinus(vector3d *vec1, vector3d *vec2); // âûâîäèò êîñèГ*ГіГ± ГіГЈГ«Г* ìåæäó âåêòîðГ*ìè
private: T x, y, z; // Г±Г*ìè êîîðäèГ*Г*ГІГ»
};
 
template<class T>
vector3d<T>::vector3d() // ГЄГ®Г*ñòðóêòîð ГЄГ«Г*Г±Г±Г*
{
    x = T(0);
      y = T(0);
    z = T(0);
}
 
template<class T>
vector3d<T>::~vector3d() //ïóñòîé äåñòðóêòîð
{
}
 
template<class T>
void
vector3d<T>::SetVector(const char * const caption)
{
     cout<< caption << endl;
     cout << "X = ";
 
  cin >> x; // ââîäèì êîîðäèГ*Г*ГІГ» âåêòîðГ*
    cout << "Y =";
     cin >> y;
      cout << "Z = ";
 
   cin >> z;
}
 
template<class T>
void
vector3d<T>::summ(vector3d *vec1, vector3d *vec2)
{
    x = vec1->x + vec2->x; // Г±ГЄГ«Г*äûâГ*ГҐГ¬ êîîðäèГ*Г*ГІГ» âåêòîðîâ
    y = vec1->y + vec2->y;
      z = vec1->z + vec2->z;
}
 
template<class T>
void vector3d<T>::razn(vector3d *vec1,vector3d *vec2)
{
    x = vec1->x - vec2->x; // âû÷èòГ*ГҐГ¬ êîîðäèГ*Г*ГІГ» âåêòîðîâ
    y = vec1->y - vec2->y;
    z = vec1->z - vec2->z;
}
 
template<class T>
void vector3d<T>::dlina(vector3d *vec1)
{
     cout << "Äð:" << endl; // Г*èæå ìû âû÷èñëÿåì ГЇГ® ôðìóëå äëèГ*Гі âåêòîðГ*
    float u = sqrt((vec1->x * vec1->x) + (vec1->y * vec1->y) + (vec1->z * vec1->z));
     cout << u << endl;
}
 
template<class T>
void
vector3d<T>::scalar(vector3d *vec1, vector3d *vec2)
{
      float dot = (vec1->x * vec2->x) + (vec1->y * vec2->y) + (vec1->z * vec2->z);  // ñòðî÷êГ* âûøå ГіГ¬Г*îæГ*ГҐГІ Г±ГЄГ*ëÿðГ*Г® äâГ* âåêòîðГ*
   
cout << "ÐÅÇÓËÜÒÀÒ ÑÊÀËßÐÍÎÃÎ ÏÐÎÈÇÂÅÄÅÍÈß ÂÅÊÒÎÐÎÂ:" << endl << dot << endl;
}
 
template<class T>
void vector3d<T>::cosinus(vector3d *vec1,vector3d *vec2)
{
    float dot = (vec1->x * vec2->x) + (vec1->y * vec2->y) + (vec1->z * vec2->z);
    float u = sqrt((vec1->x * vec1->x) + (vec1->y * vec1->y) + (vec1->z * vec1->z));
    float u2 = sqrt((vec2->x * vec2->x) + (vec2->y * vec2->y) + (vec2->z * vec2->z)); // ГЇГ® ôîðìóëå Г*Г*õîäèì êîñèГ*ГіГ± ГіГЈГ«Г* ìåæäó âåêòîðГ*ìè
    float cos = (dot / (u * u2));
 
 
   cout << "ÊÎÑÈÍÓÑ ÓÃËÀ ÌÅÆÄÓ ÂÅÊÒÎÐÀÌÈ:" << endl << cos << endl;
}
 
template <class T>
void vector3d<T>::display(const char * const caption)
{
    cout<< caption << endl
        << "Âåêòîð Г± êîîðäèГ*Г*ГІГ*ìè:" << endl
       << "X = " << x << endl << "Y = " << y << endl  << "Z = " << z << endl;
}
 
int main(int argc, char *argv[])
{
 
locale::global(locale("")); // îáüÿâëÿåì ýêçåìïëÿðû ГЄГ«Г*Г±Г±Г*, Гі Г*Г*Г± 2 âåêòîðГ* äëÿ Г°Г*áîòû ГЁ îäèГ* äëÿ ðåçóëüòГ*òîâ
   
vector3d<float> *vector1 = new vector3d<float>;
   
vector3d<float> *vector2 = new vector3d<float>;
   
vector3d<float> *result_vector = new vector3d<float>;
 
  
 int p; // ïåðåìåГ*Г*Г*Гї äëÿ âûáîðГ* Гў ìåГ*Гѕ Г¤Г*ëåå Г±Г*ìî ìåГ*Гѕ
     while
(true)
    {
        cout <<
"------------------------ГЊГ…ГЌГћ-------------------------" <<
endl
          << "\t1 - ÑëîæåГ*ГЁГҐ äâóõ âåêòîðîâ"
<< endl
           << "\t2 - ГђГ*Г§Г*îñòü äâóõ âåêòîðîâ" << endl
          << "\t3 - Âûñ÷èòГ*ГІГј äëèГ*Гі ГўГҐГЄГІГ°Г*" << endl
        <<
"\t4 - ÑêГ*ëÿðГ*îå ïðîèçâåäåГ*ГЁГҐ âåêòîðîâ" << endl
           
     << "\t5 - ÊîñèГ*ГіГ± ГіГЈГ«Г* ìåæäó âåêòîðГ*ìè" << endl
          << "\t0 - Âûõîä ГЁГ§ ïðîãðГ*ììû" << endl <<
"-----------------------------------------------------" <<
endl;
 
     cin >> p;
          system("cls"); // î÷èñòèì ГЅГЄГ°Г*Г*
 
        switch (p) // ñìîòðèì Г·ГІГ® âûáðГ*ëè Гў ìåГ*Гѕ ГЁ âûçûâГ*ГҐГ¬ ñîîòâåòñòâóþùèå ГґГіГ*êöèè
          {
         case 1:
     
      vector1->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 1:");
  
     vector2->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 2:");
          result_vector->summ(vector1, vector2);
        
result_vector->display("-----------ÐÅÇÓËÜÒÀÒ----------");
   
    break;
        case 2:
        
vector1->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 1:");
        
   vector2->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 2:");
     
      result_vector->razn(vector1, vector2);
        
result_vector->display("-----------ÐÅÇÓËÜÒÀÒ----------");
   
    break;
        case 3:
        
vector1->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ*:");
           
 result_vector->dlina(vector1);
        break;
    case 4:
          vector1->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 1:");
        vector2->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 2:");
        result_vector->scalar(vector1,
vector2);
       break;
        case 5:
           
vector1->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 1:");
        
   vector2->SetVector("Ââåäèòå êîîðäèГ*Г*ГІГ» âåêòîðГ* 2:");
     
      result_vector->cosinus(vector1, vector2);
        break;
      case 0:
       exit(0);
         break;
      
 }
    }
 
    system("PAUSE");
     return
EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 01:34     Русский язык не могу настроить
Посмотрите здесь:

C++ Русский Язык!!!
Русский язык в C++ C++
русский язык C++
Русский язык C++
C++ русский язык
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
11.11.2012, 02:13     Русский язык не могу настроить #2
C++
1
2
3
4
int main(int argc, char *argv[])
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
Русские шрифты в консоли
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 02:19     Русский язык не могу настроить #3
И в ствойствах консоли выбрать шрифт: Lucida Console.
margarin
 Аватар для margarin
35 / 35 / 0
Регистрация: 02.06.2012
Сообщений: 332
11.11.2012, 02:20     Русский язык не могу настроить #4
Как вариант (в самом начале маин - как обычно):
C++
1
2
3
4
5
6
int main(int argc, char *argv[])
{
   setlocale(LC_ALL,"Russian");
   // код
   return 0;
}
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
11.11.2012, 02:28     Русский язык не могу настроить #5
Цитата Сообщение от alsav22 Посмотреть сообщение
И в ствойствах консоли выбрать шрифт: Lucida Console.
Насколько я знаю, сие надо обязательно делать, если используешь Dev-Cpp, если другие IDE, то вроде как необязательно. Но не суть, Lucida Console для всех окон в XP устанавливается так:

В реестре ищешь такой ключ
HKEY_USERS\S-1-5-21-1844237615-1767777339-839522115-1004\Console\FaceName

И устанавливаешь его значение
Lucida Console
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 02:55     Русский язык не могу настроить #6
Цитата Сообщение от kravam Посмотреть сообщение
если другие IDE, то вроде как необязательно
Студия, Code Blocks тоже нужно.

Добавлено через 6 минут
Цитата Сообщение от kravam Посмотреть сообщение
HKEY_USERS\S-1-5-21-1844237615-1767777339-839522115-1004\
У меня такого вообще нет.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
11.11.2012, 02:59     Русский язык не могу настроить #7
Ну похожее чё-нибудь измени
HKEY_USERS\цифры всякие\Console\FaceName
Если настройки реестра недокументированы, только так и остаётся.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 03:12     Русский язык не могу настроить #8
kravam, а не проще в свойствах консоли? Там, при выходе из настроек, есть сохранение для всех окон.

Добавлено через 5 минут
Сейчас посмотрел, когда в свойсвах консоли меняешь шрифт, в реестре (Console\FaceName) он автоматом прописывается.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
11.11.2012, 10:38     Русский язык не могу настроить #9
Ну получилось- получилось, у меня не получилось, например.
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 11:54  [ТС]     Русский язык не могу настроить #10
Все еще ничего не получается...
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
11.11.2012, 12:08     Русский язык не могу настроить #11
Дай неполучающийся код
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 12:09     Русский язык не могу настроить #12
Цитата Сообщение от Grifin Посмотреть сообщение
Все еще ничего не получается...
Среда какая? ОС? И что конкретно не получается? Вот это уберите:
C++
1
2
#include <locale>
#include <locale.h>
И в конце main() уберите
C++
1
EXIT_SUCCESS;
, и поставьте
C++
1
return 0;
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 12:52  [ТС]     Русский язык не могу настроить #13
У меня DEV-C++ 4.9.9.2 / windows 7-64x
не получается установить русский язык...выводит абрукадабру....(

Может кто исправить код? Что бы он русский выводил..
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 13:04     Русский язык не могу настроить #14
Вот такой код наберите и покажите на скрине, что выведет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <Windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    cout << "Русский язык" << endl;
 
    cin.get();
    return 0;
}
express-rus
3 / 3 / 0
Регистрация: 21.04.2012
Сообщений: 21
11.11.2012, 13:08     Русский язык не могу настроить #15
Дело не в коде, а в среде разработки которая по умолчанию выводит наш язык согласно виндовскому 1251, в то время как при работе в консолном окне требуеться 866. Такая же проблема наблюдаеться и в CodeBlocks где команда setlocale(LC_ALL, "Russian"); вообще до бубена. Приходиться править конфиги софта в Application Data

Короме лучше забей на сей иде и юзай визуалку 2010
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 13:09  [ТС]     Русский язык не могу настроить #16
Вот что получилось...
Миниатюры
Русский язык не могу настроить  
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
11.11.2012, 13:11     Русский язык не могу настроить #17
Добавлено через 51 секунду
Цитата Сообщение от Grifin Посмотреть сообщение
Вот что получилось...
Посмотрите в настройках, в какой кодировке у Вас сохраняются файлы с кодом.
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
11.11.2012, 13:12     Русский язык не могу настроить #18
Grifin, ты выставил шрифт Lucida Console?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 13:12     Русский язык не могу настроить #19
Цитата Сообщение от express-rus Посмотреть сообщение
Такая же проблема наблюдаеться и в CodeBlocks где команда setlocale(LC_ALL, "Russian");
Речь про другой способ, который и CodeBlocks работает и в Dev-Cpp.
Миниатюры
Русский язык не могу настроить  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2012, 13:13     Русский язык не могу настроить
Еще ссылки по теме:

C++ Русский язык
Русский язык C++
C++ Как настроить русский язык в codeblocks

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
11.11.2012, 13:13     Русский язык не могу настроить #20
И попробуйте вот такой код что выведет?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <Windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char str[1024];
    cin>>str;
    cout << str << endl;
    cout << "Русский язык" << endl; 
    cin.get();
    return 0;
}
Yandex
Объявления
11.11.2012, 13:13     Русский язык не могу настроить
Ответ Создать тему
Опции темы

Текущее время: 13:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru