|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.04.2014, 18:34 | #1 |
Пользователь
Регистрация: 25.03.2014
Сообщений: 18
|
Программа написано верно, но почему-то не работает (на Си)
Написал прогу, кампилятор на нее не ругается. Запускаю, но правильно она не работает.
Задание:Написать функцию, которая возвращает True, если символ, полученный функцией в качестве аргумента, является согласной буквой русского алфавита. Код:
Последний раз редактировалось Stilet; 29.04.2014 в 21:12. |
29.04.2014, 18:55 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Кодировка текста в исходнике и при вводе в консоли не совпадают. Исходник, скорее всего, имеет кодировку CP1251, а ввод в консоли происходит в CP866. Забейте коды букв - кодировка. Используйте unsigned char на всякий случай. Или попробуйте поиграться с setlocale и chartooem.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 29.04.2014 в 18:59. |
29.04.2014, 18:59 | #3 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
1. Операдны логических выражений должны заключаться в скобки:
Код:
вот этого уродства: Код:
используйте другие средства. Например, составьте строку из идущих подряд согласных букв и проверяйте символ на вхождение в эту строку. 3. Пусть ваша функция возвращает логическое значение (bool) Последний раз редактировалось Stilet; 29.04.2014 в 21:12. |
29.04.2014, 18:59 | #4 |
Форумчанин
Регистрация: 26.01.2007
Сообщений: 278
|
И проще перебрать гласные. Их поменьше.
|
29.04.2014, 19:02 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Вадим Мошев, "==" имеет больший приоритет, чем "||".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
29.04.2014, 19:02 | #6 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
|
29.04.2014, 20:08 | #7 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Кстати, гласных гораздо меньше, чем согласных.
Если бы задача была " TRUE , если буква не Ы , FALSE - если Ы " - стали бы перечислять 32 буквы ? |
29.04.2014, 20:19 | #8 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему не работает программа? | blacktener | Общие вопросы C/C++ | 5 | 09.09.2013 09:37 |
Почему не работает программа? | forged | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 12.03.2013 17:40 |
почему не работает программа? | Miles | Помощь студентам | 1 | 20.12.2011 20:19 |
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? | >>STINGER<< | Помощь студентам | 4 | 08.03.2011 09:56 |
Почему не работает программа? | St1mkA | Помощь студентам | 3 | 07.04.2010 19:51 |