Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
1

Русские буквы в С

23.10.2009, 13:58. Показов 2950. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите разобраться с алфавитом в с как сделать что бы когда я ввожу русские буквы то компилятор не распознает их и я не могу работать с русскими буквами например найти в строке русские буквы и вывести их
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2009, 13:58
Ответы с готовыми решениями:

Русские буквы
такая ситуация : написал в консоле карточную игру, для обозначения значков мастей нужна строчка...

русские буквы
Всем привет!!! У меня есть один вопрос, может кто-нибудь знает ответ на него. Итак, как известно в...

русские буквы
можно ли как-нибудь ввести в консоль русский текст, получить его, а затем работать с ним, а затем...

Русские буквы
Суть такая: надо записать в файл название модуля. Для модулей с английским названием и путём до них...

13
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
23.10.2009, 14:56 2
А как Вы вводите русские буквы?
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
23.10.2009, 15:39  [ТС] 3
ввожу в строку через gets и вывожу через puts
0
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
23.10.2009, 15:48 4
А как Вы вводите именно РУССКИЕ буквы? И почему они не понимаются?
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
23.10.2009, 16:13  [ТС] 5
я не понимаю вопроса,напиши пример кода как можно работать с русским алфавитом
0
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
23.10.2009, 16:19 6
sergeu90, да это мы тут не понимаем, может у вас крякозябры, может так и остаются латинские буквы...

Вообще пробуйте установить локаль, если вы под Windows пишете... Как это делаетсяв юниксе я не знаю точно...

Ну и ещё, русске буквы не вводятся при разработке ПО, или уже при исполнении?
0
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
23.10.2009, 16:21 7
Для программы нет разницы между русскими и английскими буквами.
Какая у Вас проблема конкретно?

Приведите пример Вашей программы - которая с проблемами!
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
23.10.2009, 16:26  [ТС] 8
буквы при исполнении вводятся,но в отладчике смотрел там какой то шифр следовательно результата нету
0
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
23.10.2009, 16:40 9
1. Приведите пример Вашей программы - которая с проблемами!
2. Какой шифр? Приведите скриншот!
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
23.10.2009, 16:46  [ТС] 10
завтра выложу вечером код а то сейчас мобильного телефона сижу
0
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250
23.10.2009, 17:11 11
попробуй эту штуку
setlocale( LC_ALL, "CP1251")
0
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
23.10.2009, 23:39 12
во-первых какой у вас компилятор,и во-вторых,какие библиотеки вы подключаете?
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
23.10.2009, 23:47  [ТС] 13
подключаю директиву windows.h charToOem
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
24.10.2009, 21:08  [ТС] 14
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
#include<stdio.h>
#include<string.h>
#include<windows.h>
#define SIZE 81
#define LIM 21
#define HALT ""
#define MAX_LENGTH 255
#define MAX_WORD_LENGTH  50
#define MAX_WORD 50
#define ENTER 13
void main(void);
void SortString(char Str[]);
char* Rus(const char* text);
void main(void)
{
    static  char input[LIM][SIZE];
    char *ptstr[LIM];
    int ct=0;
    int k,q;
    printf("BEG:");
    printf(Rus("Введите до %d строк и они будут отсортированы.\n"),LIM);
    printf(Rus("Для прекращения ввода нажмите Enter в начале строки.\n"));
    while (gets(input[ct])!=NULL && strcmp(input[ct],HALT)!=0 && ct++<LIM)
    
    {
        ptstr[ct-1]=input[ct-1];
    }    
    puts(Rus("\nИсходный текст:\n"));
    for (q=0;q<ct;q++)
        puts(input[q]);
    for (int i=0;i<ct;i++)
    {
        SortString(ptstr[i]);
    }
 
    puts(Rus("\nОтсортированный список строк:\n"));
    for (k=0;k<ct;k++)
        puts(Rus(ptstr[k]));
 
}
 
 
void SortString(char Str[])
{
char  buf[MAX_WORD][MAX_WORD_LENGTH],wordMin=MAX_WORD_LENGTH+1,wordMax=-1;
char *ptr[MAX_WORD],sogl[]={'й','ц','к','н','г','ш','щ','з','х','ъ','ф','в','п','р','л','д','ж','ч','с','м','т','ь','б' };
 
int counter,counterStr,i,j,o;
//дробим строку на слова
counter=0;counterStr=0;
counterStr=strlen(Str);
Str[counterStr]=' ';
Str[counterStr+1]='\0';
counterStr=0;
for( i=0;i<strlen(Str);i++)
{
buf[counterStr][counter++]=Str[i];
    if (Str[i]==' ')
{
    if (--counter)
    {
        buf[counterStr][counter]='\0';++counterStr;counter=0;
    }
}
}
buf[counterStr++][counter]='\0';
for( i=0;i<counterStr;i++)
{
    ptr[i]=buf[i];
}
 
int countStr=0,x=0;
for(i=0;i<counterStr;i++)
{
    if (strlen(ptr[i]))
    {
        x=strlen(ptr[i]);
   for(j=0;j<strlen(ptr[i]);j++)
         for(o=0;o<=6;o++)
         
         if (ptr[i][0]==sogl[o])
         
         { 
         for(o=0;o<=6;o++)
         
         if (ptr[i][x-1]==sogl[o])
         
       {
          while (j<=strlen(ptr[i])-1) 
          {
              Str[countStr]=ptr[i][j];
          ++j;
          ++countStr;
         }}
        
                Str[countStr++]=' ';
          
         }
    }
}
Str[countStr]='\0';
}    
 
char bufRus[256];
char* Rus(const char* text)
{
CharToOem(text,bufRus);
    return bufRus;
}
вот задача звучит так даны строки нужно вывести только те слова которые которые начинаются и заканчиваются на согласные буквы.Там я сделал массив забил туда согласные буквы но компилятор не может понять когда я ввожу с клавиатуры русские буквы и поэтомы не может проверить на наличие согласной буквы.Вот код с английскими пробывал работает отлично,помогите что не так
0
24.10.2009, 21:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2009, 21:08
Помогаю со студенческими работами здесь

Русские буквы
Ребят всем привет!!! Подскажите мне пожалуйста такую вещь,хочу в С++ чтобы на русском...

Русские буквы в C++
Помогите исправить, спасибо. Доброго времен суток! Я написал программу с Русскими буквами. ...

строки, русские буквы!!!
Дано предложение. Напечатать все его буквы &quot;и&quot;. но ведь С не знает русских букв??? помогите...

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


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

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