Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 29.10.2024
Сообщений: 2

Консоль С++ в Visual Studio не выводит на русском

16.03.2025, 12:41. Показов 5223. Ответов 36
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
когда ввожу имя мальчика, то выводит непонятные символы. помогите, пожалуйста. уже во все функции вставила сетлокал даже, толку 0

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
#include <iostream>
#include <string>
using namespace std;
 
struct children
{
    string name;
    char gen;
    double height;
} kids[20];
 
void inputChildrenData() // ввожу информацию
{
    setlocale(LC_ALL, "RUS");
    for (int i = 0; i < 20; i++)
    {
        cout << "Введите информацию для ребенка: " << i + 1 << endl;
        cout << "Имя: ";
        cin >> kids[i].name;
        cout << "Пол (m/f): ";
        cin >> kids[i].gen;
        cout << "Рост: ";
        cin >> kids[i].height;
    }
}
 
void findTallestBoy(string& tallestBoyName)// Функция для поиска самого высокого мальчика (результат через параметр)
{
    setlocale(LC_ALL, "RUS");
    double maxHei = 0.0;
    tallestBoyName = ""; // Инициализация пустой строкой
    for (int i = 0; i < 20; i++)
    {
        if (kids[i].gen == 'm')
        {
            if (kids[i].height > maxHei)
            {
                maxHei = kids[i].height;
                tallestBoyName = kids[i].name;
            }
        }
    }
}
 
void calculateAverageHeight(double& averageHeight)// Функция для вычисления среднего роста мальчиков (результат через параметр)
{
    setlocale(LC_ALL, "RUS");
    double totalHei = 0.0;
    int znachBoys = 0;
    for (int i = 0; i < 20; i++)
    {
        if (kids[i].gen == 'm')
        {
            totalHei += kids[i].height;
            znachBoys++;
        }
    }
    if (znachBoys > 0)
    {
        averageHeight = totalHei / znachBoys;
    }
    else
    {
        averageHeight = 0.0; //Инициализация на 0,0
    }
}
 
void printBoysBelowAverageHeight(double sredHei)// Функция для вывода мальчиков с ростом ниже среднего
{
    setlocale(LC_ALL, "RUS");
    cout << "Мальчики с ростом ниже среднего: " << endl;
    for (int i = 0; i < 20; i++)
    {
        if (kids[i].gen == 'm' && kids[i].height < sredHei)
        {
            cout << kids[i].name << endl;
        }
    }
}
 
int main()
{
 
    setlocale(LC_ALL, "RUS");
    inputChildrenData(); //вызывается эта функция, в которой информация о детях
    string tallestBoyName; //Объявляется переменная tallestBoyName типа string, в ней хранится имя высокого мальчика 
    findTallestBoy(tallestBoyName); //Вызывается эта функция в ней находим самого высокого мальчика. он сохранится в переменной в скобках tallestBoyName
    if (tallestBoyName != "")
    {
        cout << "Самый высокий мальчик: " << tallestBoyName << endl;
    }
    else
    {
        cout << "Нет данных о мальчиках." << endl;
    }
    double averageHeight;
    calculateAverageHeight(averageHeight); // Вызывается эта функция, она считает средний рост, он сохранится в переменной в скобках averageHeight
 
    if (averageHeight > 0.0)
    {
        cout << "Средний рост мальчиков: " << averageHeight << endl;
    }
    else
    {
        cout << "Нет данных о мальчиках." << endl;
    }
    if (averageHeight > 0.0)
    {
        printBoysBelowAverageHeight(averageHeight); // Вызывается эта, она выводит имена мальчиков ростом ниже среднего, они сохраняются в averageHeight.
    }
 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.03.2025, 12:41
Ответы с готовыми решениями:

Вывод текста любым цветом в Microsoft Visual Studio 2005 (Win32 Console application)
подскажите пожалуйста существует ли способ выводить текст любым цветом в Microsoft Visual Studio 2005 (Win32 Console application)

русский язык в командной строке visual studio x64
Здравствуйте, знаю проблема не новая, но у меня почему то если компилить файл через саму IDE, приписывая в мейне setlocale(LC_ALL,...

Visual Studio 2008, WinAPI - Вывод изображения
Как вывести изображение на форму? В гугле искал, но там что-то ничего того,что я могу понять не нашёл =( Понял только , что...

36
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
16.03.2025, 18:44
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Royal_X Посмотреть сообщение
я тебе уже говорил, но ты забыл
Что он забыл? Вообще это работает на MinGW, на системах начиная с Windows 10.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6701 / 3120 / 1064
Регистрация: 01.06.2021
Сообщений: 12,066
16.03.2025, 18:47
Цитата Сообщение от DrOffset Посмотреть сообщение
Вообще это работает на MinGW, на системах начиная с Windows 10.
у меня на вин 11 не работает
на mingw зато у меня работает system("chcp 65001 > nul"); хотя это не работает в VS 2022
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
16.03.2025, 18:49
Цитата Сообщение от Royal_X Посмотреть сообщение
у меня на вин 11 не работает
Ну может быть это из-за галочки, которую ты поставил для поддержки UTF-8. Хотя на 100% я не уверен.
В целом - это работает, потому что в MS поправили legacy-райнтам, исправили в нем баги, которые ранее мешали этой функциональности при использовании MinGW.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6701 / 3120 / 1064
Регистрация: 01.06.2021
Сообщений: 12,066
16.03.2025, 18:51
DrOffset, но ведь ты хочешь спорить? я уже сказал, что ухожу, а ты продолжаешь)

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
из-за галочки, которую ты поставил для поддержки UTF-8
я эту галочку не ставил. Если ставить галку, то все проблемы исчезают. Но у меня есть одна прога, которая ломается от этой галочки, поэтому не ставлю.
Цитата Сообщение от DrOffset Посмотреть сообщение
MS поправили legacy-райнтам
я использую mingw с современным ucrt
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
16.03.2025, 18:51
Royal_X, я отправил пост раньше, чем увидел твое сообщение
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
16.03.2025, 19:06
Цитата Сообщение от Royal_X Посмотреть сообщение
потому что у тебя система православная.
Ага. Visual Studio 2010 professional. Пиратка.
0
Заблокирован
16.03.2025, 19:07
Цитата Сообщение от Royal_X Посмотреть сообщение
у меня на вин 11 не работает
Почему у меня работает? ЧЯДНТ?
Отображение кириллицы в консоли
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6701 / 3120 / 1064
Регистрация: 01.06.2021
Сообщений: 12,066
16.03.2025, 19:26
Verevkin, проверил твой код из Отображение кириллицы в консоли и вправду работает на https://packages.msys2.org/pac... x86_64-gcc
ну не знаю, чё раньше не работало)
0
Заблокирован
16.03.2025, 19:32
Цитата Сообщение от Royal_X Посмотреть сообщение
ну не знаю, чё раньше не работало
И раньше работало. Факты - вещь упрямая, но ты до сих пор пытаешься их оспаривать. Может, это с тобой что-то не так, чел?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6701 / 3120 / 1064
Регистрация: 01.06.2021
Сообщений: 12,066
16.03.2025, 19:59
Цитата Сообщение от Verevkin Посмотреть сообщение
И раньше работало.
я не помню, может быть, я раньше проверял на ОС младше 10. Хз. В любом случае данный метод не универсален и не работает всегда. А тема была именно об этом, что для С++ нет универсального платформонезависимого метода для работы с кириллицей.
Если писать код - велосипед с учетом всех случаев под каждую ОС и даже под разные версии одной ОС, то это уже по сути будет то же самое, что реализовано во всяких Qt, wxWidgets.
0
Заблокирован
16.03.2025, 20:01
Цитата Сообщение от Royal_X Посмотреть сообщение
я не помню
Ну вот, видишь? А говорил, что это я забыл.
Цитата Сообщение от Royal_X Посмотреть сообщение
я тебе уже говорил, но ты забыл
Не делай так больше.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6701 / 3120 / 1064
Регистрация: 01.06.2021
Сообщений: 12,066
16.03.2025, 20:04
Verevkin, не, ту тему я помнил, особенно твою цитату
Цитата Сообщение от Verevkin Посмотреть сообщение
На носу 2025 год уже, почти четверть XXI века прошла! А вы до сих пор трахаетесь с этими кодировками.
и даже то, что ты забыл подключить <io.h>.
0
Заблокирован
16.03.2025, 20:07
Цитата Сообщение от Royal_X Посмотреть сообщение
и даже то, что ты забыл подключить <io.h>.
И без него работало.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6701 / 3120 / 1064
Регистрация: 01.06.2021
Сообщений: 12,066
16.03.2025, 20:12

Не по теме:

Цитата Сообщение от Verevkin Посмотреть сообщение
И без него работало.
в руках мазохиста любой Кнут будет работать


у Хулигана, например, всё и так работает
Цитата Сообщение от CoderHuligan Посмотреть сообщение
У меня её код нормально вводит и выводит русские символы. Visual Studio.
у каждого свое "работало". Чтобы у всех "работало" нужно делиться компом.
Не забывайте делать добро и делиться с теми, кто в нужде, — такие жертвы приятны Богу.
(Послание евреям 13:16)

Не по теме:

Цитата Сообщение от Verevkin Посмотреть сообщение
А говорил, что это я забыл.
а ты с козырей сразу зашел, редиска

1
Заблокирован
16.03.2025, 20:21
Цитата Сообщение от Royal_X Посмотреть сообщение
а ты с козырей сразу зашел, редиска
Не судите, да не судимы будете, ибо каким судом судите, таким будете судимы; и какою мерою мерите, такою и вам будут мерить. (© от Матфея 7:1-6)
Цитата Сообщение от Royal_X Посмотреть сообщение
в руках мазохиста любой Кнут будет работать
В умелых руках и член - балалайка! (© - народная мудрость)
1
 Аватар для Наталья8
640 / 398 / 68
Регистрация: 09.03.2016
Сообщений: 4,404
16.03.2025, 22:31
Красиво излагаете... В каком то фильме подобное было. Не нашёл.
0
17.03.2025, 00:07

Не по теме:

Наталья8, "в умелых руках и ... балалайка" это перевод японского хокку "подобен ситаре нефритовый меч в руках самурая"

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.03.2025, 00:07

Вывод русских букв в Visual Studio 2008
#include &lt;iostream&gt; using namespace std; #include &lt;windows.h&gt; char*Rus(const char*); int main() { long pop1 = 4789426, pop2...

Вывод русских символов в консоль
Чтобы выводить русские буквы в консоли, написал функцию rustext() #include&lt;iostream&gt; using namespace std; ...

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

Выводит ошибку fatal error C1075: end of file found before the left brace '{' at 'c:\users\user\documents\visual studio 2008\projects\recex4\recex4\c
Как испарвить ошибку fatal error C1075: end of file found before the left brace '{' at 'c:\users\user\documents\visual studio...

Visual Studio выводит адрес памяти вместо числа
Здравствуйте всем, сегодня мною были написаны парочку программ с использованием функций rand() и srand() Так вот, в VS при выводе...


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru