Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/22: Рейтинг темы: голосов - 22, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте...
Не знаю как и где тут влепить 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2012, 01:34
Ответы с готовыми решениями:

Как настроить русский язык в codeblocks
Программа выводит сообщения на русском, но при вводе вылезают казяблики, что можно предпринять?...

Не получается настроить русский язык в программе
#include&lt;stdafx.h&gt; #include &lt;clocale&gt; #include&lt;stdio.h&gt; #include&lt;iostream&gt; using namespace...

Xcode , С++ и русский язык: как вывести в файл русский текст без сбитой кодировки?
Как сделать так, чтобы после некоторых манипуляций в файл выводился русский текст без сбитой...

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

61
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.11.2012, 02:13 2
C++
1
2
3
4
int main(int argc, char *argv[])
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
Русские шрифты в консоли
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 02:19 3
И в ствойствах консоли выбрать шрифт: Lucida Console.
0
41 / 41 / 3
Регистрация: 02.06.2012
Сообщений: 351
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;
}
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
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
0
5498 / 4893 / 831
Регистрация: 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\
У меня такого вообще нет.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.11.2012, 02:59 7
Ну похожее чё-нибудь измени
HKEY_USERS\цифры всякие\Console\FaceName
Если настройки реестра недокументированы, только так и остаётся.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 03:12 8
kravam, а не проще в свойствах консоли? Там, при выходе из настроек, есть сохранение для всех окон.

Добавлено через 5 минут
Сейчас посмотрел, когда в свойсвах консоли меняешь шрифт, в реестре (Console\FaceName) он автоматом прописывается.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.11.2012, 10:38 9
Ну получилось- получилось, у меня не получилось, например.
0
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 11:54  [ТС] 10
Все еще ничего не получается...
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.11.2012, 12:08 11
Дай неполучающийся код
0
5498 / 4893 / 831
Регистрация: 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;
0
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 12:52  [ТС] 13
У меня DEV-C++ 4.9.9.2 / windows 7-64x
не получается установить русский язык...выводит абрукадабру....(

Может кто исправить код? Что бы он русский выводил..
0
5498 / 4893 / 831
Регистрация: 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;
}
0
3 / 3 / 1
Регистрация: 21.04.2012
Сообщений: 21
11.11.2012, 13:08 15
Дело не в коде, а в среде разработки которая по умолчанию выводит наш язык согласно виндовскому 1251, в то время как при работе в консолном окне требуеться 866. Такая же проблема наблюдаеться и в CodeBlocks где команда setlocale(LC_ALL, "Russian"); вообще до бубена. Приходиться править конфиги софта в Application Data

Короме лучше забей на сей иде и юзай визуалку 2010
0
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 20
11.11.2012, 13:09  [ТС] 16
Вот что получилось...
Миниатюры
Русский язык не могу настроить  
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
11.11.2012, 13:11 17
Добавлено через 51 секунду
Цитата Сообщение от Grifin Посмотреть сообщение
Вот что получилось...
Посмотрите в настройках, в какой кодировке у Вас сохраняются файлы с кодом.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
11.11.2012, 13:12 18
Grifin, ты выставил шрифт Lucida Console?
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
11.11.2012, 13:12 19
Цитата Сообщение от express-rus Посмотреть сообщение
Такая же проблема наблюдаеться и в CodeBlocks где команда setlocale(LC_ALL, "Russian");
Речь про другой способ, который и CodeBlocks работает и в Dev-Cpp.
Миниатюры
Русский язык не могу настроить  
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 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;
}
0
11.11.2012, 13:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2012, 13:13
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru