Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
123456кам
1 / 1 / 0
Регистрация: 11.11.2011
Сообщений: 49
#1

Кириллица в консоли - C++

06.05.2012, 15:39. Просмотров 1232. Ответов 6
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream.h>
#include  "seria.h"
#include<windows.h>
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
 
void main()
{
        float **mass=0;
    int const k = 3;
    mass = new float *[k];
    for (i = 0; i < k; i++)
    mass[i] = new float [k];
    cout << Rus("Введите матрицу:\n");
    for (i = 0; i < k; i++)
        for (int j = 0; j < k; j++)
        {
            cout << Rus("Введите элемент матрицы[")<<i+1<<("][")<<j+1<<("]: ");
            cin >> mass[i][j];
        }
 
    seria(mass,3);
    cout << "\n";
 
}

а вот сам срр файл:

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
#include "stdafx.h"
#include <iostream.h>
 
float seria(float ** mas, int const n = 3)
{
    bool flag = false;
    int const k = n - 1;
    float *m = 0;
    m = new float [k];  
 
    for (int i = 0; i < k; i++)
    {
        m[i] = 0;
        for (int j = 0; j < k; j++)
        {
            flag;
            if(mas[i][j] == mas[i][j+1])
            {
                m[i]++;
                flag=true;
            }
        }
    }
 
    float max = m[0];
    int numstr = 0;
 
    for (i = 0; i < n; i++)
    {
        if(max < m[i])
        {
            max = m[i];
            numstr = i;
        }
    }
    
    if (!flag)
    cout << "Последовательностей с одинаковыми элементами нет!\n";
    else
    cout << "Строка с самой длинной последовательностью: " << numstr << endl;
 
    return numstr;
    
}

а теперь сам вопрос, как сделать так, чтобы внутри из функции выводилось на консоль в кириллице, пробовал #include<windows.h>

C++
1
2
3
4
5
6
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
перед функцией вставлять, не помогает, что делать, подскажите пожалуйста)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 15:39     Кириллица в консоли
Посмотрите здесь:

Кириллица в консоли - C++
Пишу простенькую программу: #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Это моя первая C++ программа.&quot;; ...

Кириллица в консоли - C++
Здравствуйте. Произошла вот такая проблема. Надеюсь, поможете. Написал легкую программу на C++, написал редактором Dev-C++ и...

Кириллица в консоли - C++
Знаю что вопрос уже не раз задавали, но там люди программировали в какой-либо из IDE. Я же программирую на Windows в MinGW(эмулятор g++,...

Не отображается кириллица в консоли - C++
Что делать?

Условный оператор, кириллица в консоли - C++
Ниже представлен код с условным оператором if. Ввожу Привет мир! но, нечего не происходит, почему? Заранее спасибо! #include...

Кириллица в языке си++ - C++
Нужно использовать кириллицу в программе на си++(вместо слов английскими буквами, нужно их нормально на русском вывести в консоль). может...

Getline и кириллица - C++
Есть string name;, проблема следующая...работаю с CURL. Формирую POST-запрос, где имеется параметр name. Так вот, если с клавиатуры ввести...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
06.05.2012, 15:58     Кириллица в консоли #2
Используйте функцию Rus раз уж объявили:
C++
1
cout<<Rus("вывод на русском")<<endl;
123456кам
1 / 1 / 0
Регистрация: 11.11.2011
Сообщений: 49
06.05.2012, 17:30  [ТС]     Кириллица в консоли #3
C++
1
2
3
4
5
6
7
8
9
10
ввожу
    if (!flag)
    cout << Rus("ÏîñëåäîâГ*òåëüГ*îñòåé Г± îäèГ*Г*êîâûìè ýëåìåГ*ГІГ*ìè Г*ГҐГІ!\n");
    else
    cout << Rus("ÑòðîêГ* Г± Г±Г*ìîé äëèГ*Г*îé ïîñëåäîâГ*òåëüГ*îñòüþ: ") << numstr << endl;
 
    return numstr;
 
выдает 
'Rus' : undeclared identifier
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.05.2012, 17:36     Кириллица в консоли #4
функция до кода объявлена?
123456кам
1 / 1 / 0
Регистрация: 11.11.2011
Сообщений: 49
06.05.2012, 18:33  [ТС]     Кириллица в консоли #5
вот что я сделал в главном файле:
C++
1
2
3
4
5
6
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
и каждый раз перед текстом вставляю:
C++
1
cout << Rus(".....\n");
но не помогает, может нужно как-то указать в срр файле, что функция для кириллицы объявлена?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.05.2012, 21:42     Кириллица в консоли #6
Цитата Сообщение от 123456кам Посмотреть сообщение
вот что я сделал в главном файле:
объявите функцию до функции main
реализацию можете после написать, все работает, вы просто что-то не то делаете. Выкладывайте весь код уже
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 21:55     Кириллица в консоли
Еще ссылки по теме:

кириллица в памяти - C++
Выводить кириллицу на экран не проблема, но когда сохраняешь её в память, она себя как то странно ведет и коды сохраняются совершенно...

Кириллица WIN32 CA - C++
Добрый вечер! прошу помощи - возникла проблема с кириллицей VS 2008 Win32 CA есть txt файл, из которого считываю строки. Для сортировки...

Кириллица в UTF-8 - C++
Отдельно задам ранее возникший вопрос. При работе с однобайтовой кодировкой (например, в старом борланде 3.1, где, если я правильно понял,...

Кириллица, ошибки - C++
Всем доброго время суток. Столкнулся с проблемой: Имеется текстовый файл с которого считывает программа данные FILE *f; char a; ...

Кириллица при выводе - C++
Доброго времени суток! Помогите с некорректным выводом кириллических символов из строки. Когда я ввожу строку она бывает на русском, а при...


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

Или воспользуйтесь поиском по форуму:
123456кам
1 / 1 / 0
Регистрация: 11.11.2011
Сообщений: 49
06.05.2012, 21:55  [ТС]     Кириллица в консоли #7
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
я сделал вот так и вроде работает:
 
#include "stdafx.h"
#include <iostream.h>
#include "seria.h"
#include <windows.h>
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
 
void main()
{
    float **mass=0;
    int const k = 3;
    mass = new float *[k];
    for (i = 0; i < k; i++)
    mass[i] = new float [k];
    cout << Rus("Введите матрицу:\n");
    for (i = 0; i < k; i++)
        for (int j = 0; j < k; j++)
        {
            cout << Rus("Введите элемент матрицы[")<<i+1<<("][")<<j+1<<("]: ");
            cin >> mass[i][j];
        }
 
    seria(mass,3);
    cout << "\n";
 
}
 
и плюс .срр файл который я вызываю с помощью .h файла
 
#include "stdafx.h"
#include <iostream.h>
#include <windows.h>
 
char* Rus(const char* text);
 
float seria(float ** mas, int const n = 3)
{
    bool flag = false;
    int const k = n - 1;
    float *m = 0;
    m = new float [k];  
 
    for (int i = 0; i < k; i++)
    {
        m[i] = 0;
        for (int j = 0; j < k; j++)
        {
            flag;
            if(mas[i][j] == mas[i][j+1])
            {
                m[i]++;
                flag=true;
            }
        }
    }
 
    float max = m[0];
    int numstr = 0;
 
    for (i = 0; i < n; i++)
    {
        if(max < m[i])
        {
            max = m[i];
            numstr = i;
        }
    }
    
    if (!flag)
    cout << Rus("Последовательностей с одинаковыми элементами нет!\n");
    else
    cout << Rus("Строка с самой длинной последовательностью: ") << numstr << endl;
 
    return numstr;
    
}
 
вот так все заработало)
Yandex
Объявления
06.05.2012, 21:55     Кириллица в консоли
Ответ Создать тему
Опции темы

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