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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Grifin
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
#1

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

11.11.2012, 01:34. Просмотров 1993. Ответов 61
Метки нет (Все метки)

Здравствуйте...
Не знаю как и где тут влепить 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 01:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Русский язык не могу настроить (C++):

Как настроить русский язык в codeblocks - C++
Программа выводит сообщения на русском, но при вводе вылезают казяблики, что можно предпринять? #include &lt;iostream&gt; #include &lt;clocale&gt; ...

Русский язык - C++
Уже задолбался с попыткой заставить выводить считанные русские строки. Имеем. По идее там должна быть функция CharToOem но она коверкает....

Русский язык в C++ - C++
Как в C++ консоли подключить русский язык желательной setLoceta(Rus) такой функцией, у меня не получилось её использваоть

русский язык - C++
Использую компилятор Dev C++ , при выводе результата если написать слово про русски то оно выводиться непонятными иероглифами, на латинице...

русский язык - C++
Помогите пишу задачу,как сделать чтоб всё выводило на русском языке? какая функция? или фрагмент кода? cout&lt;&lt;&quot;Dobavlenie informacii...

Русский Язык!!! - C++
Как в переменную char A; занести Ф только чтоб после отоброжалось не каракули а Ф! и библиотеку!

61
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,508
11.11.2012, 13:50 #46
Цитата Сообщение от Grifin Посмотреть сообщение
абракадабра вышла....
Я понял в чём дело.
Смотри скрин в посту 33, ты меняешь шрифт для окна ТАКОГО-ТО
А в посту 38 у тебя окно С ДРУГИМ ИМЕНЕМ.

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

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

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

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

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

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

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

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




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

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

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

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

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

А в реестре (я тебе уже писал об этом), изменения автоматом прописываются, когда меняешь в свойствах консоли.
О чём ты говоришь, если у нас даже ключи не совпадают? У тебя так, у меня эдак.
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:06 #53
Цитата Сообщение от kravam Посмотреть сообщение
О чём ты говоришь, если у нас даже ключи не совпадают?
Есть, только с другими цифрами и всё. А что у него не получается, ты же не видишь, что он делает.
0
Миниатюры
Русский язык не могу настроить  
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,508
11.11.2012, 14:10 #54
Цитата Сообщение от alsav22 Посмотреть сообщение
Есть, только с другими цифрами и всё. А что у него не получается, ты же не видишь, что он делает
Ну да.
Но вроде он делает как ему сказали. С трудом, но всё же. Жмёт на ОК и всё такое.
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:10 #55
Цитата Сообщение от Grifin Посмотреть сообщение
Другие программы у меня из setlocale(LC_ALL, "Russian"); работают прекрасно, только эта не пашет...
Покажите другую, которая прекрасно работает.
0
Croessmah
Пришел
Эксперт CЭксперт С++
13759 / 7840 / 893
Регистрация: 27.09.2012
Сообщений: 19,254
Записей в блоге: 3
Завершенные тесты: 1
11.11.2012, 14:12 #56
Цитата Сообщение от kravam Посмотреть сообщение
О чём ты говоришь, если у нас даже ключи не совпадают? У тебя так, у меня эдак.
Но система то знает где этот ключ
0
alsav22
5431 / 4826 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 14:14 #57
Цитата Сообщение от kravam Посмотреть сообщение
Жмёт на ОК и всё такое.
Там два раза нужно на OK жать. И что стоит там, когда он жмёт на ОК никто не видит.

Не по теме:

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



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

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

Русский язык - C++
char szNonColorEmbeddedMsg; int iNonColorEmbeddedMsgLen = 0; for (size_t pos = 0; pos &lt; strlen(szMsg) &amp;&amp; szMsg != '\0'; pos++) ...

Русский язык в Си - C++
Здравствуйте, Столкнулся с банальной проблемой При вводе-выводе в текстовый файл и в консоль при обращении непосредственно из main()...

Русский язык - C++
В общем у меня такая проблема , имеется код , в котором нужно что бы выводились русские буквы (имеется ввиду что без setlocale русские...

Русский язык - C++
Нужно написать программу, которая исправляла бы ошибки после Ж,Ч,Ш,Щ(Ы,Я,Ю на И,А,У). Учитывая исключения: Жюри, Брошюра, парашют. ...


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

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

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