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

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

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

 
 Ответить  Открыть новую тему 
> ЗАДАЧА ПРО ФУнкцию.., ПОМОГИТЕ
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


ТАКАЯ ЗАДАЧА:
Написать функцию, обеспечивающую ввод с клавиатуры положительного двухзначного числа. При нажатии пользователем какой-либо клавиши соответствующей ей символ должен появляться на экране только в том случае, если этот символ является цифрой. Функция должна позволять пользователю редактировать введенное число при помощи клавиши <BackSpace>. Если пользователь ввел хотя бы одну цифру, то при нажатии клавиши <Enter> функция должна завершать работу и возвращать введенное пользователем число вызвавшей ее процедуре.
ПОЖАЛУЙСТА ПОМОГИТЕ ,напишите программу...ИЛИ хотя бы обьясните суть задачи..А то я чето так и не понял всей сути задачи..ПОМОГИТЕ!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


Продолжение экспериментов со строкой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Помоги разработать программу а то мне надо курасач по этой задаче в ближ дни сдавать а времени на разбор задачи нет! sad.gif

Сообщение отредактировано: AAAAAAA -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(AAAAAAA @ 12.05.2007 10:03) *

времени на разбор задачи нет! sad.gif

Нет времени?.. А у нас всех его, конечно, навалом..
Помочь - поможем. Что конкретно не ясно? Говори, спрашивай.
Решать за тебя не будем

 ! 
Правила, п. 1.10: На Форуме запрещается регистрировать несколько профилей.
Профиль AAAAAAA удаляю.
Пользователь RAPON получает повышение уровня предупреждений.



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


Lapp, если бы у вас форум не глючил при цитате сообщух , я бы не регал второго пользователя,в замешательстве был вот и создал второго и потом ,такая же байда..

Добавлено через 2 мин.
В суть задачи вникнуться не могу может кто обьяснит?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(RAPON @ 12.05.2007 10:53) *

если бы у вас форум не глючил при цитате сообщух , я бы не регал второго пользователя

Хорошо, объяснение принимается, вопрос закрыт. Я снимаю предупреждение.

По поводу глюков - пиши в раздел Книга Жалоб и Предложений.

Добавлено через 6 мин.
Цитата(RAPON @ 12.05.2007 10:53) *

В суть задачи вникнуться не могу может кто обьяснит?

Ты сам хоть что-то пытался начинать? пробовал? Если да, покажи, что есть.
Если нет - пробуй..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Смысл такой:
1. Если пользователь нажал цифру - отображаем ее на экране.
2. Если пользователь нажал BackSpase, затираем последний символ.
3. Если пользователь нажал Enter, возвращаем введенное число.
4. Иначе ничего не делаем.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


А как проверить пользователь цифру нажал ли символ?Затем на экране отобразить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


Может мне кто нибудь ответит?1

Сообщение отредактировано: RAPON -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


может быть.
if ch in ['1'..'9'] then
{это значит, что он ввел цифру}

вообще лучше через case - вариантов-то у нас много.
как работать со спецсимволами (BackSpase, например) - поищи по форуму, было совсем недавно.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


мисс_граффити, почто ноль не в фаворе? smile.gif
Да, лучше воспользоваться case. Типа так:
case c in
'0'..'9': begin
Write©;
s:=s+c;
end;
#8: if Length(s)>0 then begin
Write(#8,' ',#8);
Delete(s,Length(s),1)
end;
#13: if Length(s)>0 then begin
WriteLn;
Val(s,x,e)
end;


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


СПАСИБО,вечером попробую,че непонятно потом спрошу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


Цитата(Lapp @ 14.05.2007 5:58) *

мисс_граффити, почто ноль не в фаворе? smile.gif
Да, лучше воспользоваться case. Типа так:
case c in
'0'..'9': begin
Write©;
s:=s+c;
end;
#8: if Length(s)>0 then begin
Write(#8,' ',#8);
Delete(s,Length(s),1)
end;
#13: if Length(s)>0 then begin
WriteLn;
Val(s,x,e)
end;


Что делает эта часть программы ?можно узнать,точно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
мисс_граффити, почто ноль не в фаворе?

blink.gif не знаю. сказывается делание лабораторок по матстатистике.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(RAPON @ 14.05.2007 23:06) *

Что делает эта часть программы ?можно узнать,точно?

Да, конечно.
Это:
1. распознавание введенного символа (переменная c), а также
2. реакция на этот символ (если цфра - добавляем к вводимой строке, если энтер - переводим строку в число, если бакспейс - удаляем символ и переходим на одну позицию вперед, остальные символы игнорируем).

Это как бы центральная часть программы. Теперь нужно организовать цикл с опросом клавиатуры и вводом символа. Выход из цикла по признаку c=#13


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


Цитата(Lapp @ 14.05.2007 23:27) *

Да, конечно.
Это:
1. распознавание введенного символа (переменная c), а также
2. реакция на этот символ (если цфра - добавляем к вводимой строке, если энтер - переводим строку в число, если бакспейс - удаляем символ и переходим на одну позицию вперед, остальные символы игнорируем).

Это как бы центральная часть программы. Теперь нужно организовать цикл с опросом клавиатуры и вводом символа. Выход из цикла по признаку c=#13

А переменную C нужно описать CHAR?
а эта часть это и есть уже один опрос,да?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


если CHAR могу заранее сказать что ,после "0".. у меня ошибку 41 пишет,а понять не могу че просит у меня буквы там непонятные..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


а сase почему in стоит?вроде же только of может стоять..
а здесь readkey надо будет использовать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(RAPON @ 15.05.2007 1:13) *

после "0".. у меня ошибку 41 пишет

Я извиняюсь, описка произошла: вместо "in" поставь "of". Глупейшая ошибка, извини..

Для того, чтоб понимать ошибки по номерам (и для многих других полезных целей), скачай вот это:
http://download.excode.ru/download277.html

И если будут вопросы - приводи текст программы.
Успехов!


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской

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


М
Теги !


СПАСИБО БОЛЬШОЕ ЗА ПОМОЩЬ!!!Вот моя задача!
Uses crt;
Var c:char;
S:string;
X,e:integer;
Function far(l:byte):integer;
Label 1,2;
Begin
1:c:=readkey;
case c of
‘0’..’9’:begin
write©;
s:=s+c;
goto 1;
end;
#8:if length(s)>0 then begin
write(#8,’ ‘,#8);
delete(s,length(s),1);
goto 1;
end;
#13:begin
if length(s)>0 then begin
writekn;
val(s,x,e);
goto 2;
end;
goto 1;
end;
else goto 1
end;
2:far:=x;
end;
begin
far(1);
readln
end.


Сообщение отредактировано: klem4 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 6:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name