0 / 0 / 0
Регистрация: 28.01.2017
Сообщений: 52
|
||||||
1 | ||||||
Нужно, чтобы проверяло, если ли русские буквы в строке28.04.2017, 23:33. Показов 4526. Ответов 14
Метки нет (Все метки)
В строке должны быть буквы английского алфавита, цифры и пробелы. И если буква русская, то оповещать об этом.
Пробовала через isalpha() вместе с isdigit(). Я еще новичок в этом деле, попрошу отнестись с пониманием.
0
|
28.04.2017, 23:33 | |
Ответы с готовыми решениями:
14
Нужно составить программу которая определяет если в строке заданы ЛИШЬ буквы. нужно чтобы в строке если встречается символ то прибавить соответствующую цифру к числу Русские буквы в Командной строке Не получает значение если русские буквы |
Комп_Оратор)
|
|
29.04.2017, 00:09 | 2 |
Это зачем, интересно? Правда, - интересно. Штука в том, что для разных кодировок могут быть разные забавные моменты. В частности нет никакой гарантии, что коды различных символов лежат в непрерывной области. В частности для ASCII кодировочной таблицы буквы А-Я расположены с 192 по 223, а буквы а-я - соответственно с 224-255. Не может же быть! - воскликните Вы и будете не правы. Может. Хотя я, помню, тоже кричал нечто подобное. Ведь мозг с непривычки отказывается верить, что в 31 позицию можно вставить 32 буквы. И он правильно делает, кстати говоря. Потом, когда находишь букву ё по коду 183, а букву Ё наоборот, по коду 167 сразу становится легче. То есть, мозг не ошибается.
Всё это навевает мысль (не радостную) о посимвольной проверке всея русския алфавиту (включая и великия и малыя буквы). Однако, может Вам хватит возможности проверить на "неанглийскость"? Английские символы лежат в непрерывных областях и (a>='a' && a <='z') || (a>='A' && a <='Z') может сработать на большинстве актуальных кодировок.
0
|
0 / 0 / 0
Регистрация: 28.01.2017
Сообщений: 52
|
|
29.04.2017, 00:36 [ТС] | 3 |
А по сути пповерка на неанглийскость это же isalpha(), верно? Еще нужно добавить цифры (это пол дела), но еще же и пробел есть, который может присутствовать в строке.
Это мне нужно для проверки строки, в которую вводят название процессора.
0
|
Комп_Оратор)
|
||||||
29.04.2017, 01:19 | 4 | |||||
Дайте пример названия процессора. tanyalev, C++, это не тот язык который заточен на работу с консолью. Тут всё рассчитано на то, что тот кто жмёт на клавиши не террорист. Поэтому парсинг строки от консоли, это вещь достаточно занятная. А Вам очень нужны русские символы? Может отказаться от локали и работать на английском?
0
|
Комп_Оратор)
|
|
29.04.2017, 01:41 | 6 |
Я про это и говорю, если Вы про isalpha. Хотя данная проверка как раз работает в данной программке.
Добавлено через 5 минут tanyalev, я как раз имел ввиду проверку диапазона для английских символов так как Вы попытались это сделать для русских: (a>='a' && a <='z') || (a>='A' && a <='Z') это безопасно в случае если попадутся символы с кодом '-12'
0
|
Комп_Оратор)
|
|
29.04.2017, 01:49 | 8 |
Что "не буква". В названии процессора их быть не может. Если не Эльбрус конечно. Вообще, о том, что нужно сделать я пытаюсь выведать с самого начала. Пока приходится пускаться в предположения и демонстрировать гипотетические сценарии. Страшилки. Благое дело на ночь.
0
|
IGPIGP
|
29.04.2017, 02:02
#10
|
0
|
nd2
|
29.04.2017, 02:04
#11
|
0
|
IGPIGP
|
29.04.2017, 02:05
#12
|
0
|
0 / 0 / 0
Регистрация: 28.01.2017
Сообщений: 52
|
|
29.04.2017, 07:55 [ТС] | 14 |
Это курсовая работа. Обязательно С или С++, консоль, и все на русском языке. На все пункты должны быть проверки того, что вводит пользователь. У меня база данных "Компьютер" должна быть (не смотря на то, сто это С++ и есть более удобные варианты для этого). Структура computer имеет такие характеристики как название процессора полностью, тактовая его частота, объем оперативной памяти и раличие сетевой платы. Это всем было интересно, как я поняла.
Не буду же я кидать все 350 строк, которые есть на данный момент. Как минимум потому, что меня интересует как воплотить данную задачу в жизнь. Как максимум, когда было ОДЗ, то мою программу просто перекопировал человек с моим вариантом, неприятная ситуация.
0
|
Комп_Оратор)
|
|
29.04.2017, 10:08 | 15 |
tanyalev, - да:
именно это. Смотрите. Пункт должен быть логически обоснован. Я понимаю это так: тактовая частота, объем оперативной памяти и наличие (раличие==наличие && раличие != различие) == true сетевой платы это целочисленные типы. То есть тактовую частоту можно проверить скажем на принадлежность интервалу 500 - 50000 (Mgz). Причём, это опасно и делает программу уязвимой (кто знает какая тактовая частота будет нормой лет через 10) . Объём памяти тоже можно придумать. То есть, единственно что можно сказать определённо: этo натуральные числа (>0). Но программа же учебная. Задайте интервал двумя константами для каждого числового поля и не страдайте (написав - согласуется с заказчиком). То есть если заказчик требует "умную вещь", то пусть сам и несёт за неё ответственность. Что касается названия процессора, то это обычно название не "молодого" и небольшого населённого пункта в США у intel. Название тяжелого кошмара ассоциирующегося с выч. техникой у AMD, название горных вершин у фирмы МЦСТ и символьное выражение первой яркой гормоники ощущения левой пятки у многих других мировых разработчиков. Тут просто нет и не может быть каких-то закономерностей. Можно попробовать потребовать чтобы название состояло из буквенного имени и группы не обязательно букв (цифры, пробелы, слэши и пр.). И это гадость. Я бы пошёл путём древних, еврейских пророков. То есть, после ввода, вывести на экран то что получилось у бедолаги и попросить подтвердить согласие (или ввод полностью). В приглашении написать пожелания вроде "не волнуйтесь, выпейте водички, не набирайте всякую каку вроде кавычек, скобок и знаков припинания, если они не входят в название". Хотя и это лирика. Вообще, требование проверки ввода в таком задании могли написать только люди "творческие". Подыграйте им, не бойтесь, проявите креатив. Пусть они не чувствуют себя одинокими во вселенной. Быть братом/сестрой по разуму с такими людьми, это не позор. Тем более если это вынужденная мера.
0
|
29.04.2017, 10:08 | |
29.04.2017, 10:08 | |
Помогаю со студенческими работами здесь
15
В строке удалить все русские буквы Как вывести Русские буквы в строке? Если русские буквы выводить из переменной - они не выводятся. Если не из переменной - всё нормально. Вывести на экран в обратном порядке русские буквы, которые встречаются в первой строке и не встречаются во второй строке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |