Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Ivan-K
1 / 1 / 1
Регистрация: 12.11.2015
Сообщений: 11
1

Определение символов

12.11.2015, 09:24. Просмотров 1782. Ответов 9
Метки нет (Все метки)

Всем, доброго времени суток. Недавно начал изучать c++, задали такую задачу:
"Пользователь вводит с клавиатуры символ. Определить, какой это символ: Буква, цифра, знак препинания или другое."
Подсобите с тем, в каком направлении двигаться) прошли только ветвления.
То как думаю, должно быть вида
C++
1
2
3
4
5
char x;
cin >> x;
if ( x == 'вот здесь что?') {
cout << "буква, цифра, знак или что другое"}
else if (x == 'ну дальше подобным образом'{}
Как сделать проверку на букву, знак и т.д.?
есть подозрение, что при помощи таблицы с char, но это всю таблицу перебивать
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2015, 09:24
Ответы с готовыми решениями:

Определение количества символов в тексте
Во входном файле text.txt содержится текст на английском языке. Требуется...

определение сколько символов/чисел в массиве
сабж. как определить сколько в введёном массиве всего символов/букв/абрыкадабры...

Определение процентного содержания символов в текстовом файле
Написал программу для определения процентного содержания символов в текстовом...

Определение в строке количества слов длиннее четырёх символов
Помогите с решением контрольных на C++. Пожалуйста. 2. Разработать...

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

9
nmcf
6515 / 5744 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
12.11.2015, 09:32 2
isdigit() - цифры, isalpha() - буквы, ispunct() - знаки препинания.
1
Aqua77
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
12.11.2015, 09:32 3
Ascii?
0
zss
Модератор
Эксперт С++
7485 / 6852 / 4326
Регистрация: 18.12.2011
Сообщений: 18,128
Завершенные тесты: 1
12.11.2015, 09:33 4
Лучший ответ Сообщение было отмечено Ivan-K как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
unsigned char x;
cin >> x;
if(x>='0' && x<='9')
   cout<<"цифра";
else if(x>='A' && x<='Z')
  cout<<cout << "Английская заглавная буква";
else if(x>='a' && x<='z')
  cout<<cout << "Английская строчная буква";
else if(x>='А' && x<='Я' || x=='Ё')
  cout<<cout << "Русская заглавная буква";
else if(x>='а' && x<='я' || x=='ё')
  cout<<cout << "Русская строчная буква";
else
   cout<<"Знак";
З.ы. Для русских букв нужно дополнительно выполнить перекодировку из кодовой таблицы 866 в 1251
1
Kerry_Jr
Эксперт PHP
2211 / 2007 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
12.11.2015, 09:35 5
Ivan-K, проверка на букву isalpha(char), на цифру - isdigit(char), пробельный символ (пробел, таб, новая строка) - isspace(char), знаки препинания - ispunct(char). Для этих функций нужно
C++
1
#include <cctype>
1
Aqua77
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
12.11.2015, 09:36 6
Цитата Сообщение от Ivan-K Посмотреть сообщение
if ( x == 'вот здесь что?')
if ( x == 'Здесть тот символ который надо нажать для вывода сообщения') Например if ( x == 'q') если введёшь q то выйдет сообщение
0
Ivan-K
1 / 1 / 1
Регистрация: 12.11.2015
Сообщений: 11
12.11.2015, 10:47  [ТС] 7
Спасибо, за ответы) Пошел пробовать))

Добавлено через 58 минут
С библиотекой <cctype> нельзя работать, только с тем что прошли)
zss - хотел подсказку дали решение) Для русских букв русскую локаль подключил setlocale(LC_ALL, "RUSSIAN");
У себя поставил один cout, но другие (имею ввиду другие задания) подчеркнулись, как ошибка, но все работает)
В Вашем, ответе оператор cout идет подряд, почему?

Добавлено через 8 минут
Все же не все работает, при вводе русских букв, выдает, что это знак. Следовательно вопрос про перекодировку) Как из кодировки 866 в 1251? И что значит оператор cout - неоднозначный? Задание, конечно, выполнено, но хотелось бы понимать, что делаю, а не копипастить. Все равно, всем, спасибо)

Добавлено через 2 минуты
Ну и код, немного переписанный)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    unsigned char simvol;
    cout <<"Введите символ: ";
    cin >> simvol;
    if (simvol >= '0' && simvol <= '9') {
        cout <<"Это цифра" << endl;
    }
    else if (simvol >= 'A' && simvol <= 'Z') {
        cout <<"Это заглавная буква латинского алфавита" << endl;
    }
    else if (simvol >= 'a' && simvol <= 'z') {
        cout <<"Это строчная буква латинского алфавита" << endl;
    }
    else if (simvol >= 'А' && simvol <= 'Я' || simvol == 'Ё' ) {
        cout <<"Это заглавная буква русского алфавита" << endl;
    }
    else if (simvol >= 'а' && simvol <= 'я' || simvol == 'ё') {
        cout <<"Это строчная буква русского алфавита" << endl;
    }
    else 
        cout << "Это знак" << endl;
0
sourcerer
Модератор
Эксперт CЭксперт С++
4874 / 2060 / 325
Регистрация: 20.02.2013
Сообщений: 5,558
Записей в блоге: 24
Завершенные тесты: 1
12.11.2015, 13:14 8
del
0
nmcf
6515 / 5744 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
12.11.2015, 14:52 9
Цитата Сообщение от Ivan-K Посмотреть сообщение
С библиотекой <cctype> нельзя работать, только с тем что прошли
Её как-то по особому "пройти" должны?
0
Ivan-K
1 / 1 / 1
Регистрация: 12.11.2015
Сообщений: 11
12.11.2015, 16:22  [ТС] 10
Не, сказали пользоваться теми средствами, которые изучили. А о <cctype> я просто, даже и не знал)
0
12.11.2015, 16:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2015, 16:22

Введите массив символов из 12 элементов. Удвоить все коды символов массива
Условие :Введите массив символов из 12 элементов. Удвоить все коды символов...

Как настроить ввод русских символов и в дальнейшем вывод этих символов
Подскажите как в этом коде настроить ввод русских символов и в дальнейшем вывод...

Дана строка символов. Подсчитать общее число вхождений символов .,+ в строку
Здравствуйте. Дана строка символов. Подсчитать общее число вхождений символов...


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

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

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