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

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

16.03.2025, 12:41. Показов 4329. Ответов 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
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
16.03.2025, 18:44
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Royal_X Посмотреть сообщение
я тебе уже говорил, но ты забыл
Что он забыл? Вообще это работает на MinGW, на системах начиная с Windows 10.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
16.03.2025, 18:47
Цитата Сообщение от DrOffset Посмотреть сообщение
Вообще это работает на MinGW, на системах начиная с Windows 10.
у меня на вин 11 не работает
на mingw зато у меня работает system("chcp 65001 > nul"); хотя это не работает в VS 2022
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
16.03.2025, 18:49
Цитата Сообщение от Royal_X Посмотреть сообщение
у меня на вин 11 не работает
Ну может быть это из-за галочки, которую ты поставил для поддержки UTF-8. Хотя на 100% я не уверен.
В целом - это работает, потому что в MS поправили legacy-райнтам, исправили в нем баги, которые ранее мешали этой функциональности при использовании MinGW.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,148
16.03.2025, 18:51
DrOffset, но ведь ты хочешь спорить? я уже сказал, что ухожу, а ты продолжаешь)

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

Не по теме:

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


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

Не по теме:

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

1
Нарушитель
10225 / 5655 / 1257
Регистрация: 12.03.2015
Сообщений: 26,183
16.03.2025, 20:21
Цитата Сообщение от Royal_X Посмотреть сообщение
а ты с козырей сразу зашел, редиска
Не судите, да не судимы будете, ибо каким судом судите, таким будете судимы; и какою мерою мерите, такою и вам будут мерить. (© от Матфея 7:1-6)
Цитата Сообщение от Royal_X Посмотреть сообщение
в руках мазохиста любой Кнут будет работать
В умелых руках и член - балалайка! (© - народная мудрость)
1
 Аватар для Наталья8
518 / 368 / 65
Регистрация: 09.03.2016
Сообщений: 3,867
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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru