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

Как выводить русский текст?

06.01.2013, 18:03. Показов 15438. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите кто нибудь с выводом русского текста в этой программе пытался воспользоваться решениями с форума, но видимо я конченый дегенерат так и не смог ничего сделать.

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
//простая программа ведения базы данных служащих.
#include <iostream>
#include <cstdlib>
using namespace std;
 
char name [10] [80]; //массив имен служащих.
char pfone [10] [20]; //массив телефонов служащих
float hours [10]; //массив часов отработанных за неделю
float wage [10]; //массив окладов
int menu ();
void enter(), report();
int main () 
{
    int choice;
    do {
        choice = menu(); //получаем команду выбранную пользователем.
        switch (choice){
        case 0: break;
        case 1: enter();
            break;
        case 2: report();
            break;
        default: cout << "попробуйте снова\n\n";
        }
    } while (choice != 0);
    return 0;
}
//функция возвращает команду выбранную пользователем.
int menu()
{
int choice;
cout << "0. Выход из программы\n";
    cout << "1. Ввод информации\n";
    cout << "2. генерирование отчета\n";
    cout << "\nВыберите команду: ";
    cin >> choice;
    return choice;
}
//Функция ввоа информации в базу данных.
void enter ()
{
    int i;
    char temp [80];
    for (i=0; i<10; i++) {
        cout << "Введите фамилию: ";
        cin >> name [i];
        cout << "Введите номер телефона: ";
        cin >> pfone [i];
        cout << "Введите количество отработанных часов: ";
        cin >> hours [i];
        cout << "Введите оклад: ";
        cin >> wage[i];
    }
}
//отображение отчета
void report()
{
    int i;
    for (i=0; i<10; i++){
        cout << name [i] << ' ' << pfone[i] << '\n';
        cout << "Заработная плата за неделю: "
        << wage [i] * hours [i];
        cout << '\n';
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2013, 18:03
Ответы с готовыми решениями:

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

Как передать в функцию русский текст
Есть такие функции Append ( const uint16 * aText,int32 aLength = -1 ) Append ( const char *...

Как в файл вывести русский текст?
Когда русский текст вывожу в файл выводит какую то какафонию как это исправить

Как записать русский текст в файл?
std::ofstream m_fOutput(PathFile); std::string Error = &quot;Ошибка открытия файла&quot;; if...

18
погромист
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
06.01.2013, 18:14 2
#include <windows.h>
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Пробовали?
0
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 20
06.01.2013, 18:17  [ТС] 3
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
"Это объявление не содержит класс хранения или спецификатор типа"
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
06.01.2013, 18:18 4
Цитата Сообщение от Evgeni pengwin Посмотреть сообщение
"Это объявление не содержит класс хранения или спецификатор типа"
а не нужно вызов функций вне функции производить.
Запихните сие две строчки в начало main.
0
2 / 2 / 0
Регистрация: 12.10.2012
Сообщений: 43
06.01.2013, 18:19 5
У вас IDE какой? (среда разработки)
0
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 20
06.01.2013, 18:20  [ТС] 6
ну это я понял (после того как первое написал но в мейне то же самое)
0
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102
06.01.2013, 18:20 7
в функции пишеш setlocale(LC_ALL "rus");
0
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 20
06.01.2013, 18:21  [ТС] 8
ms visual C++ express 2012
0
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102
06.01.2013, 18:21 9
Цитата Сообщение от Evgeni pengwin Посмотреть сообщение
int main () {
setlocale(LC_ALL "rus");
int choice; do { choice = menu(); //получаем команду выбранную пользователем.
вот так
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
06.01.2013, 18:23 10
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <windows.h>
 
int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    std::cout<<"Я программа! И вывожу русский текст! Если нет, то поменяй шрифт на Lucida Console";
    std::cin.get();
    return 0;
}
0
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102
06.01.2013, 18:25 11
если русский текст не только в main() то и в начале остальных функций тоже впиши setlocale(LC_ALL "rus" );

Добавлено через 1 минуту
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
//простая программа ведения базы данных служащих.
#include <iostream>
#include <cstdlib>
using namespace std;
 
char name [10] [80]; //массив имен служащих.
char pfone [10] [20]; //массив телефонов служащих
float hours [10]; //массив часов отработанных за неделю
float wage [10]; //массив окладов
int menu ();
void enter(), report();
int main () 
{
    setlocale(LC_ALL, "rus" );
    int choice;
    do {
        choice = menu(); //получаем команду выбранную пользователем.
        switch (choice){
        case 0: break;
        case 1: enter();
            break;
        case 2: report();
            break;
        default: cout << "попробуйте снова\n\n";
        }
    } while (choice != 0);
    return 0;
}
//функция возвращает команду выбранную пользователем.
int menu()
{
    setlocale(LC_ALL, "rus" );
int choice;
cout << "0. Выход из программы\n";
    cout << "1. Ввод информации\n";
    cout << "2. генерирование отчета\n";
    cout << "\nВыберите команду: ";
    cin >> choice;
    return choice;
}
//Функция ввоа информации в базу данных.
void enter ()
{ 
    setlocale(LC_ALL, "rus" );
    int i;
    char temp [80];
    for (i=0; i<10; i++) {
        cout << "Введите фамилию: ";
        cin >> name [i];
        cout << "Введите номер телефона: ";
        cin >> pfone [i];
        cout << "Введите количество отработанных часов: ";
        cin >> hours [i];
        cout << "Введите оклад: ";
        cin >> wage[i];
    }
}
//отображение отчета
void report()
{
    setlocale(LC_ALL, "rus" );
    int i;
    for (i=0; i<10; i++){
        cout << name [i] << ' ' << pfone[i] << '\n';
        cout << "Заработная плата за неделю: "
        << wage [i] * hours [i];
        cout << '\n';
    }
}
1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
06.01.2013, 18:27 12
Цитата Сообщение от TheVlad Посмотреть сообщение
если русский текст не только в main() то и в начале остальных функций тоже впиши setlocale(LC_ALL "rus" );
локаль устанавливается для консоли, а не для функции
1
2 / 2 / 0
Регистрация: 12.10.2012
Сообщений: 43
06.01.2013, 18:28 13
Может глупо... Вообщем скачай Dev-C++, вот ссылка - http://sourceforge.net/project... rror=sunet а потом следуя этой инструкции установи русский компилятор - http://kpolyakov.narod.ru/school/c/faq.htm#rus, у меня работает...
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
06.01.2013, 18:29 14
ЛОКАЛИЗАЦИЯ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ В ЯЗЫКЕ C++
Советую почитать. Там есть ответы на многие Ваши вопросы
1
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102
06.01.2013, 18:34 15
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
//простая программа ведения базы данных служащих.
#include <iostream>
#include <cstdlib>
using namespace std;
 
char name [10] [80]; //массив имен служащих.
char pfone [10] [20]; //массив телефонов служащих
float hours [10]; //массив часов отработанных за неделю
float wage [10]; //массив окладов
int menu ();
void enter(), report();
int main () 
{
    setlocale(LC_ALL, "rus" );
    int choice;
    do {
        choice = menu(); //получаем команду выбранную пользователем.
        switch (choice){
        case 0: break;
        case 1: enter();
            break;
        case 2: report();
            break;
        default: cout << "попробуйте снова\n\n";
        }
    } while (choice != 0);
    return 0;
}
//функция возвращает команду выбранную пользователем.
int menu()
{
    setlocale(LC_ALL, "rus" );
int choice;
cout << "0. Выход из программы\n";
    cout << "1. Ввод информации\n";
    cout << "2. генерирование отчета\n";
    cout << "\nВыберите команду: ";
    cin >> choice;
    return choice;
}
//Функция ввоа информации в базу данных.
void enter ()
{ 
    setlocale(LC_ALL, "rus" );
    int i;
    char temp [80];
    for (i=0; i<10; i++) {
        cout << "Введите фамилию: ";
        cin >> name [i];
        cout << "Введите номер телефона: ";
        cin >> pfone [i];
        cout << "Введите количество отработанных часов: ";
        cin >> hours [i];
        cout << "Введите оклад: ";
        cin >> wage[i];
    }
}
//отображение отчета
void report()
{
    setlocale(LC_ALL, "rus" );
    int i;
    for (i=0; i<10; i++){
        cout << name [i] << ' ' << pfone[i] << '\n';
        cout << "Заработная плата за неделю: "
        << wage [i] * hours [i];
        cout << '\n';
    }
}
работает и хорошо =)
Миниатюры
Как выводить русский текст?  
1
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 20
06.01.2013, 18:36  [ТС] 16
а как шрифт в консоли сменить ?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
06.01.2013, 18:39 17
Цитата Сообщение от Evgeni pengwin Посмотреть сообщение
а как шрифт в консоли сменить ?
ПКМ на заголовке консоли->Свойства. Там увидите

Добавлено через 37 секунд
А вообще то вот: Русские шрифты в консоли
1
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
06.01.2013, 18:41 18
На консоли вверху, правой кнопкой мыши, там будут свойства.
1
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 20
06.01.2013, 18:41  [ТС] 19
Цитата Сообщение от TheVlad Посмотреть сообщение
работает и хорошо =)
И правда работает, все спасибо вроде всем расставил выручили спасибо еще раз.
0
06.01.2013, 18:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2013, 18:41
Помогаю со студенческими работами здесь

Как заменить русский текст в файле?
Мне нужно написать функцию,которая заменяет русский текст без учета регистра в файле.Типа void...

Как с консоли записать в файл русский текст
Как с консоли записать в файл русский текст? Если так, то пишется только английский: #include...

Как заставить VC++ воспринимать русский текст на форме?
проблемма: помещаю на форму кнопку задаю надпись 'старт' - все ок... но когда запускаю... от...

Как научить IDE Cbuilder 6 понимать русский текст (массив строк с кириллицей преобразуется в знаки вопроса)?
Например массив строк с кириллицей он преобразует в занаки вопросы. Как это исправить?


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

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