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

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

Войти
Регистрация
Восстановить пароль
 
Dima1996
4 / 4 / 0
Регистрация: 24.01.2013
Сообщений: 96
#1

setlocale не совсем работает - C++

29.01.2014, 23:05. Просмотров 474. Ответов 2
Метки нет (Все метки)

есть код:

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
#include <iostream>
#include <conio.h>
#include <clocale>
using namespace std;
int main()
{
    setlocale (LC_ALL,"Russian");
    struct zap
    {
        char soname[20];
        char data[10];
    };
    struct zap hh[2];
    for (int i=0;i<2;i++)
    {
        cout<<"Введите фамилию "<<i+1<<"-го студента: ";
    cin>>hh[i].soname;
    system("cls");
    cout<<"Введите дату рождения "<<i+1<<"-го студента: "<<endl;
    cin>>hh[i].data;
    system("cls");
    }
    for (int i=0;i<2;i++)
    {
    cout<<hh[i].soname<<endl;
    cout<<hh[i].data<<endl;
    }
    getch();
    return 0;
}
Всё пишет на русском, но когда вывожу фамилии студентов, то "нормально" выводится только на английском. На руском пишет что то примерно такое: ?ЁЄR< ?y
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос setlocale не совсем работает (C++):

Чем отличается вызов функции setlocale(0, "") от setlocale(LC_ALL,"")? - C++
Например printf(setlocale(0, &quot;&quot;)); cout &lt;&lt; endl; printf(setlocale(LC_ALL, &quot;&quot;)); выдают одинаковый результат (ну, на моей...

Не работает setlocale(LC_ALL,"Russian") или Говорим по русски - C++
оператор setlocale(LC_ALL,&quot;Russian&quot;); при проверке одной консольной программы сpp в 3 оболочках C++Builder, CodeBlocks, MS VisualStudio...

Программа работает, не не совсем правильно... - C++
Напечатать вектор первых букв слова, которые начинаются и заканчиваются на указаный символ (т.е. надо вывести адрес строки и адреса первых...

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

Не совсем правильно работает простенькая программа - C++
Получить таблицу температур по Цельсию от 0 до 100 градусов и их эквивалентов по шкале Фаренгейта, используя для перевод формулу tf =...

Код работает не совсем корректно со строками - C++
почему-то при любом количестве строк,которое я задаю,он позволяет написать только одну,а потом переходит к следующему пункту и вообще...

2
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.01.2014, 23:12 #2
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console
Установка шрифта Lucida Console
1
Frosten
3 / 3 / 5
Регистрация: 28.01.2014
Сообщений: 13
29.01.2014, 23:14 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Dima1996 Посмотреть сообщение
есть код:

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
#include <iostream>
#include <conio.h>
#include <clocale>
using namespace std;
int main()
{
    setlocale (LC_ALL,"Russian");
    struct zap
    {
        char soname[20];
        char data[10];
    };
    struct zap hh[2];
    for (int i=0;i<2;i++)
    {
        cout<<"Введите фамилию "<<i+1<<"-го студента: ";
    cin>>hh[i].soname;
    system("cls");
    cout<<"Введите дату рождения "<<i+1<<"-го студента: "<<endl;
    cin>>hh[i].data;
    system("cls");
    }
    for (int i=0;i<2;i++)
    {
    cout<<hh[i].soname<<endl;
    cout<<hh[i].data<<endl;
    }
    getch();
    return 0;
}
Всё пишет на русском, но когда вывожу фамилии студентов, то "нормально" выводится только на английском. На руском пишет что то примерно такое: ?ЁЄR< ?y
Потому что консоль не рассчитана на ввод данных на русском языке, поэтому выводится не то что надо.Есть отдельная тема, там написано, что можно сделать:
Русские шрифты в консоли
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 23:14
Привет! Вот еще темы с ответами:

Не совсем понятно как работает такой код - C++
Есть консольное приложение, которое при работе выводит данные. Непонятно как работает такой код: for (;;) { char option; ...

Алгоритм шифрования RC4 не совсем корректно работает - C++
Всем привет! Знаю что тема избитая, но всё таки хочется понять проблему и решить. Алгоритм разобрал и написал. Спасибо википедии. ...

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

3, 4, 5 пункт меню программы не совсем коретно работает. Хоть убей но ошибку не вижу( - C++
#include&lt;iostream&gt; #include&lt;string&gt; #include&lt;iomanip&gt; #include&lt;fstream&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; #include...


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

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

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