Форум программистов, компьютерный форум 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++ русский язык
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 13:45  [ТС]     Русский язык не могу настроить #41
Цитата Сообщение от Croessmah Посмотреть сообщение
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;
}
Посмотрите что выведет этот код(при cin введите русский текст)

Если вместо SetConsoleCP(1251); SetConsoleOutputCP(1251); писать setlocale(LC_ALL, "Russian");, то выводит русский текст, а не абрукадабру!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
margarin
 Аватар для margarin
35 / 35 / 0
Регистрация: 02.06.2012
Сообщений: 332
11.11.2012, 13:47     Русский язык не могу настроить #42
Grifin, скопируй код (который я тебе выше кинул, пост 24) и запусти его без дополнительных библиотек (только с теми, которые уже в нём есть).
У меня этот код работает в Dev-cpp без всяких заморочек...
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 13:47  [ТС]     Русский язык не могу настроить #43
Цитата Сообщение от alsav22 Посмотреть сообщение
Какой пункт при этом выбрали?
Lucida Console
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 13:49     Русский язык не могу настроить #44
Цитата Сообщение от alsav22 Посмотреть сообщение
27 пост, второй скрин. Сделали?
Ещё раз. Где там точка стояла, когда OK жали?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
11.11.2012, 13:49     Русский язык не могу настроить #45
Локализация консольных приложений
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
11.11.2012, 13:50     Русский язык не могу настроить #46
Цитата Сообщение от Grifin Посмотреть сообщение
абракадабра вышла....
Я понял в чём дело.
Смотри скрин в посту 33, ты меняешь шрифт для окна ТАКОГО-ТО
А в посту 38 у тебя окно С ДРУГИМ ИМЕНЕМ.

Даже если ты нажмёшь после того, как ты нажал ОК, ты подтвердил что изменения нужно оставить для всех окон с ЭТИМ ИМЕНЕМ, то для окон с другим именем, изменения не сохранятся и в них снова будет точечный шрифт.

Что мы и наблюдаем, окна с разным именем- разный шрифт.

Вывод: лезь в РЕЕСТР и меняй шрифт там для всех окон в системе.
Я расписал, как
Русский язык не могу настроить

НУ то есть ты меняешь свойства окна end.exe. а для окна Безымянный.exe эти изменения не канают
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 13:54     Русский язык не могу настроить #47
kravam, через свойства консоли всё замечательно меняется (27 пост). Куда ему в реестр?
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 13:57  [ТС]     Русский язык не могу настроить #48
Цитата Сообщение от kravam Посмотреть сообщение
Я понял в чём дело.
Смотри скрин в посту 33, ты меняешь шрифт для окна ТАКОГО-ТО
А в посту 38 у тебя окно С ДРУГИМ ИМЕНЕМ.

Даже если ты нажмёшь после того, как ты нажал ОК, ты подтвердил что изменения нужно оставить для всех окон с ЭТИМ ИМЕНЕМ, то для окон с другим именем, изменения не сохранятся и в них снова будет точечный шрифт.

Что мы и наблюдаем, окна с разным именем- разный шрифт.

Вывод: лезь в РЕЕСТР и меняй шрифт там для всех окон в системе.
Я расписал, как
Русский язык не могу настроить

НУ то есть ты меняешь свойства окна end.exe. а для окна Безымянный.exe эти изменения не канают




Вот поменял свойства на Lucida Console и выводит русский..., значит с программным текстом что то не так, а не с шрифтом...
Миниатюры
Русский язык не могу настроить  
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
11.11.2012, 13:59     Русский язык не могу настроить #49
kravam, через свойства консоли всё замечательно меняется (27 пост). Куда ему в реестр?
Смотри, через свойства консоли всё по определению не может замечательно меняться. Если оно у тебя меняется (а оно меняется, я тебе верю),то это неправильно.

Там же сказано:
"Сохранить свойства для других окон с тем же именем"

А у него имена РАЗНЫЕ. То есть у него (и у меня) ось предсказуемо себя ведёт. Я же сам ничё не придумал.
Пусть лезет в реестр, чай не маленький.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:02     Русский язык не могу настроить #50
Может и на Enter нажмёте после набора? (это я ТС).

Добавлено через 1 минуту
kravam, я согласен, что там написано. Но у меня, тем не менее, изменения работают на всех окнах, иначе бы я не говорил.

Добавлено через 1 минуту
А в реестре (я тебе уже писал об этом), изменения автоматом прописываются, когда меняешь в свойствах консоли. Это одно и тоже. Просто ТС не сохранил изменения для всех окон.
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 14:03  [ТС]     Русский язык не могу настроить #51
Другие программы у меня из setlocale(LC_ALL, "Russian"); работают прекрасно, только эта не пашет...
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
11.11.2012, 14:04     Русский язык не могу настроить #52
Цитата Сообщение от alsav22 Посмотреть сообщение
kravam, я согласен, что там написано. Но у меня, тем не менее, изменения работают на всех окнах, иначе бы я не говорил.
я же тебе верю, что у тебя работает, а у него не работает. С самого начала мной было сказано что эта херь недокументирована и даже на системах однйо версии ведёт себя по-разному. Короче, хочет если поправить, я сказал что делать.

А в реестре (я тебе уже писал об этом), изменения автоматом прописываются, когда меняешь в свойствах консоли.
О чём ты говоришь, если у нас даже ключи не совпадают? У тебя так, у меня эдак.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:06     Русский язык не могу настроить #53
Цитата Сообщение от kravam Посмотреть сообщение
О чём ты говоришь, если у нас даже ключи не совпадают?
Есть, только с другими цифрами и всё. А что у него не получается, ты же не видишь, что он делает.
Миниатюры
Русский язык не могу настроить  
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
11.11.2012, 14:10     Русский язык не могу настроить #54
Цитата Сообщение от alsav22 Посмотреть сообщение
Есть, только с другими цифрами и всё. А что у него не получается, ты же не видишь, что он делает
Ну да.
Но вроде он делает как ему сказали. С трудом, но всё же. Жмёт на ОК и всё такое.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:10     Русский язык не могу настроить #55
Цитата Сообщение от Grifin Посмотреть сообщение
Другие программы у меня из setlocale(LC_ALL, "Russian"); работают прекрасно, только эта не пашет...
Покажите другую, которая прекрасно работает.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
11.11.2012, 14:12     Русский язык не могу настроить #56
Цитата Сообщение от kravam Посмотреть сообщение
О чём ты говоришь, если у нас даже ключи не совпадают? У тебя так, у меня эдак.
Но система то знает где этот ключ
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:14     Русский язык не могу настроить #57
Цитата Сообщение от kravam Посмотреть сообщение
Жмёт на ОК и всё такое.
Там два раза нужно на OK жать. И что стоит там, когда он жмёт на ОК никто не видит.

Не по теме:

Хуже нет, когда вслепую.



Добавлено через 2 минуты
Цитата Сообщение от kravam Посмотреть сообщение
Но вроде он делает как ему сказали. С трудом, но всё же. Жмёт на ОК и всё такое.
Посмотри на скрин в 48 посту. Он что там, вообще, сделал? Где вывод "Русский язык" ?
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
11.11.2012, 14:17     Русский язык не могу настроить #58
Цитата Сообщение от alsav22 Посмотреть сообщение
Там два раза нужно на OK жать. И что стоит там, когда он жмёт на ОК никто не видит.
Надо ему про два-то раза сказать...

Добавлено через 1 минуту
Цитата Сообщение от alsav22 Посмотреть сообщение
Посмотри на скрин в 48 посту. Он что там, вообще, сделал? Где вывод "Русский язык" ?
А чё скрин? Он увидел русские буквы и на радостях решил отписаться, поторопился он.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:17     Русский язык не могу настроить #59
Цитата Сообщение от kravam Посмотреть сообщение
Надо ему про два-то раза сказать..
Посмотри 27 и 44 пост. Не только сказано, но и показано.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2012, 14:20     Русский язык не могу настроить
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,265
11.11.2012, 14:20     Русский язык не могу настроить #60
Ну раз сказано, значит сделал. Если сделал и не получается, пусть правит реестр.
Хотя может и не сделал. Ну тогда я не знаю, что.
Yandex
Объявления
11.11.2012, 14:20     Русский язык не могу настроить
Ответ Создать тему
Опции темы

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