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

Ввод с клавиатуры русского текста - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.96
usernet009
 Аватар для usernet009
24 / 24 / 1
Регистрация: 28.12.2009
Сообщений: 85
19.01.2010, 23:27     Ввод с клавиатуры русского текста #1
Привет форум. Сел писать програмку на С++ и встретился с проблемой. Вот собственно задание

"C клавиатуры посимвольно вводится фраза. Определите, из символов какого алфавита состоит введенная фраза, и выведите на экран одно из сообщений:
”Вы использовали только символы латинского алфавита”
”Вы использовали только символы кириллицы”.
”Вы пользовались символами разных алфавитов”.
Фраза считается введенной, если очередной веденный символ - точка."

Сам алгоритм вроде понятен. Вот что у меня получилось
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
 
 
void main ()
{
 clrscr();
 int statKir=0;  // статус использования кирилицы
 int statLat=0;  // статус использования латиницы
 int sumbol;  // код введенного символа
 do 
 {
    sumbol = getche();  // вводим один символ
    if ( (sumbol >=65 && sumbol <=90 ) || ( sumbol >= 97 && sumbol <= 122 ))   
       statLat = 1; // присваиваем статусу использования латиницы если введенный символ из алфавита латиницы
    if ( (sumbol >=65 && sumbol <=90 ) || ( sumbol >= 97 && sumbol <= 122 ))
       statLat = 1;  // присваиваем статусу использования кирилицы если введенный символ из алфавита кирилицы
 } while( sumbol != 46 ); // если введена точка - выйти из цикла
// дальше думаю все понятно 
 if ( statKir == 0 && statLat == 1 )
    printf("You use only Latin\n");
 if ( statKir == 1 && statLat == 0 )
    printf("You use only Cyrillic\n";
 if ( statKir == 1 && statLat == 1)
    printf("You use Latin and Cyrillic\n");
 getch();
}
Теперь вопросы
1 - как ввести русский текст в консоли ? Просто даже когда я переключаю клавиатуру на русский язык, то вводятся русские символы.
2 - где найти ASCII таблицу кирилицы ? Только не в шестнадцатеричном виде, а в обычном, десятичном

p,s в строке 17 коды такие же как и для латиницы, так как еще не нашел ASCII таблицу для кирилицы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2010, 23:27     Ввод с клавиатуры русского текста
Посмотрите здесь:

Сохранение в файл русского текста C++
C++ Вывод русского текста в консоли
Ввод/вывод с использование русского языка C++
Запись в файл русского текста C++
Некорректный ввод русского текста C++
Шифр цезаря, ввод текста с клавиатуры, вывод в файл C++
Массив(сумма, макс. число), ввод текста с клавиатуры и сохранение в *.txt C++
Как правильно заменить ввод данных простой на ввод с клавиатуры? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
20.01.2010, 10:34     Ввод с клавиатуры русского текста #2
Вот тебе вся таблица ASCII
C++
1
2
for(int i = 0; i < 256; ++i)
    std::cout<<i<<'\t'<<(char)i<<std::endl;
Проверить кириллица или латиница можно по коду символа.
Для ввода, а точнее преобразования в кириллицу, используй функцию OemToChar из библиотеки windows.h. Для вывода соответственно - CharToOem
Yandex
Объявления
20.01.2010, 10:34     Ввод с клавиатуры русского текста
Ответ Создать тему
Опции темы

Текущее время: 02:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru