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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.96
usernet009
24 / 24 / 1
Регистрация: 28.12.2009
Сообщений: 85
#1

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

19.01.2010, 23:27. Просмотров 3230. Ответов 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++
при вводе русского вопроса &quot;кто ты?&quot; программа не воспринимает его. и выводит &quot;I can't answer for this question. What is the answer?&quot;. Т.е....

Некорректный ввод русского текста - C++
Всем привет..столкнулся с такой проблемой. Есть программа которая считывает с файла текст на русском языке. Я его спокойно могу...

Ввод в файл с консоли русского текста - C++
Есть ф-ия, для добавления студентиов в базу. На английском вводит номрально, а на русском к сожалению нет. Локаль в мейне подключена....

Не работает ввод русского текста в Microsoft Visual C++ 2010 express - C++
Здравствуйте! Не работает ввод русского текста в Microsoft Visual C++ 2010 express. С выводом разобрался. Вывод русского текста в прг...

SDL ввод текста с клавиатуры и запись в массив - C++
Мой код внизу он неправильный, но работает text=&quot;a&quot;,text=&quot;b&quot; , text=&quot;c&quot; и так весь алфавит посимвольно. Часть кода: char text; int...

Шифр цезаря, ввод текста с клавиатуры, вывод в файл - C++
Здравствуйте, возникла проблема - Задали мне задание и дали срок 4 месяца, я благополучно как смог написал программу за недею, но в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2010, 10:34
Привет! Вот еще темы с ответами:

Массив(сумма, макс. число), ввод текста с клавиатуры и сохранение в *.txt - C++
Написать программу, которая формирует массив 5x5 и вычисляет сумму элементов массива, и наибольшую величину массива с указанием строки и...

Ввод/вывод с использование русского языка - C++
Мне нужно ввести с клавиатуры строку на русском языке (например:&quot;Я живу в России&quot;) и вывести её также. Как это сделать? Я сколько не...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур - C++
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

Как правильно заменить ввод данных простой на ввод с клавиатуры? - C++
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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