IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> оператор Case, пример использования case
nikon
сообщение 24.03.2005 11:10
Сообщение #1


Гость






начал pascal c нуля. все вроде нормально но есть некоторые "воросы"..
в переменную типа char вводится символ с клавиатуры.
прога должна выдать:

цифра от 0 до 9 ;
латинская строчная буква ;
латинская прописная буква ;

Код


program zad5_11;
  uses crt;
var
  x:char;

begin
    clrscr;
    writeln('введите символ');
    readln(x);
    case x of

     '0'..'9':writeln('цифра от 0 до 9');
    'a'..'z': writeln('латинская строчная буква');
    'A'..'Z': writeln('латинская прописная буква')
    else writeln('ошибка ввода ')
    end;
   readln
end.



загвоздка в том что под условие '0'..'9' - подпадает и 1 и 11 и 111 т. к. char понимает только первый символ

вот если написать '2'..'9' то 1 уже не попадает в интервал..
можно использовать таблицу ASCII и написать перевести 0 в chr(48) но и с этим тоже не получается
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
klem4
сообщение 24.03.2005 11:32
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


можно так :

Код

x:=readkey;
case x of
...
end;


но Volvo прав, char хранит только один символ, вводить больше не имеет смысла

Сообщение отредактировано: klem4 - 24.03.2005 11:35


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
nikon
сообщение 24.03.2005 11:59
Сообщение #3


Гость






я понимаю что в принципе все правильно :D
я знаю что забегаю вперед
просто хотел расширить возможности программы чтобы при вводе числа больше 9 тоже выдавалась ошибка.
А за ответы спасибо smile.gif
 К началу страницы 
+ Ответить 

Сообщений в этой теме


Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 15:51
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"