Писать иноязычный (кроме англоязычного) ввод-вывод в коде совсем не так просто.
И книги и статьи по C/C++ вам в этом не помогут - там везде вам скормят текстовые строки char[], или на худой конец string ... а они для ввода-вывода символов Unicode непригодны.
Вот мои краткие (пока 22 стр.) заметки на эту тему: Локализация в коде C/C++.
И архив программных кодов, иллюстрирующих описываемое.
Это не ... философствование по форумам , а выжимки из практических разработок за несколько (достаточно много) лет.
Но если кто-то подскажет ещё что-то в этом направлении ... больше проблем и вопросов возникающих, чем их решений - я буду очень признателен, и расширю текст в этом направлении.