![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Fee |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание:Определить, я является ли введенное с клавиатуры целое число кодом латинской прописной или строчной буквы. Если это так, вывести на экран изображение строчной буквы один раз, а прописной - два раза. В противном случае вывести на экран изображение вопросительного знака.
не могли бы вы подсказать, как определить, код прописной или строчной буквы? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
В файле CTYPE.H описаны 2 очень подходящих макроса:
|
Fee |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
ну на сколько я понимаю, это должно выглядеть вот так:
Код #include <stdio.h> #include <string.h> #include <ctype.h> int main(void) { char s[80], s1[80], s2[80]; int a = 0, b = 0, i; gets(s); for (i = 0; s[i] != '\0'; i++) if (isupper(s[i])) s1[a++] = s[i]; if (isupper(s[i])) s1[a++] = s[i]; else if (islower(s[i])) s2[b++] = s[i]; else printf ("?"); s1[a] = '\0'; s2[b] = '\0'; puts(s1); puts(s2); return 0; } поправьте что не верно пожалуйста Сообщение отредактировано: Fee - 8.11.2006 22:13 |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
мне почему-то кажется, что тут надо воспользоваться следующим свойством: коды прописных латинских букв 65-90, а строчных - 97-122 (могу ошибаться со значениями, таблицы под рукой нет).
твоя программка, по-моему, не совсем совпадает с заданием. по условию: Цитата является ли введенное с клавиатуры целое число в приведенном коде: Цитата gets(s); for (i = 0; s[i] != '\0'; i++) ... то есть допустим мы введем 98. рассматриваем как строку (нумерация в строке с нуля?) s[0] у нас '9'. isupper(s[i]) получается равносильно isupper('9'). как думаешь, что вернет функция? В общем, я бы делала так:
Если хочешь, чтобы программа легче читалась и не пришлось запоминать коды, можно сравнивать не числа, а буквы, им соответствующие. Сообщение отредактировано: мисс_граффити - 9.11.2006 2:28 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Savas |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
Если не сложно выложите пожалуйста полное решение данной задачи
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
если устроит ввод/вывод через Edit - без проблем напишу.
если нужно консольное - сам разбирайся. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
давай....
![]() |
Алена |
![]()
Сообщение
#8
|
Гость ![]() |
Вариант "запутайся сам, но и преподавателя запутай":
#include <stdio.h> |
Гость |
![]()
Сообщение
#9
|
Гость ![]() |
чет не то, он все время выпросительный знак выдает....
|
Алена |
![]()
Сообщение
#10
|
Гость ![]() |
Что вводили, чтобы проверить? На чем компилируете?
|
Гость |
![]()
Сообщение
#11
|
Гость ![]() |
турбо с
вводить как я понимаю надо большую и маленькую букву... (соотвественно F и f) |
Алена |
![]()
Сообщение
#12
|
Гость ![]() |
Цитата вводить как я понимаю надо большую и маленькую букву Неправильно понимаешь... Смотрим задание:Цитата является ли введенное с клавиатуры целое число кодом латинской прописной или строчной буквы Вводишь число, а не символы... Например, попробуй ввести 66 (это код прописной 'B'), и посмотри, что будет... Попробуй 98 (это тоже код 'b', только строчной)... Ну, и то, что не входит в диапазоны, описанные мисс_граффити... Вот тут действительно будет печататься знак вопроса. |
Гость |
![]()
Сообщение
#13
|
Гость ![]() |
спасибо, понял
![]() а не могли бы вы комменты приписать, ну что для чего и как ![]() и еще как сделать, чтобы када запускаешь еще раз "enter...." на новой строчке были... а то результат сливается с этой надписью |
Гость |
![]()
Сообщение
#14
|
Гость ![]() |
напиши перед первым выводом \n
|
Гость |
![]()
Сообщение
#15
|
Гость ![]() |
а что есть первый вывод? :/
|
Алена |
![]()
Сообщение
#16
|
Гость ![]() |
puts("\nenter the char code:"); |
Гость |
![]()
Сообщение
#17
|
Гость ![]() |
он же выведет эту надпись .....:/
|
Алена |
![]()
Сообщение
#18
|
Гость ![]() |
Цитата он же выведет эту надпись Какую надпись? Кто выведет? Управляющие символы что, в С уже отменили? А как начинаются управляющие символы? Не с бэкслеша, случайно? А "\n" - уже не перевод строки? Тогда, пожалуйста, приведите цитату из Стандарта, в которой говорится, что \n внутри строки может НЕ трактоваться как символ перевода строки...Все-таки, сначала нужно попробовать то, что посоветовали сделать, а потом уже что-то отвечать... |
![]() ![]() |
![]() |
Текстовая версия | 17.06.2025 21:48 |