Версия для печати темы
Форум «Всё о Паскале» _ Задачи _ если вводится не буква и цифра выводится сообщение
Автор: dct 3.01.2005 20:30
как вывести сообщение о том что была введина цифра или буква уже повторялась????
Автор: Altair 3.01.2005 20:35
надо сохранять все введенные символы... (буквы)
если введенна цифра, или в списке есть уже такая буква выводим диагностику
пример для цифры:
Код
var
c:char;
begin
c:=readkey;
case c of
'1'..'9','0': writeln('введена цифра');
else write('символ');
end
end.
Автор: volvo 3.01.2005 20:36
dct
В моей функции придется кое-что изменить:
Код
function myReadKey: Char;
function upchar(ch:char):char;
{Поднимает символ в верхний регистр}
begin
upchar:=char(byte(ch)-$20*byte(ch>#96)-$30*byte(ch>#$DF));
end;
var ch: char;
begin
repeat
ch := upchar(readkey);
if ch in ['0' .. '9'] then
begin gotoxy({где-то}); writeln('введена цифра') end
else if not (ch in charSet) then
begin gotoxy({где-то}); writeln('не буква, или эта буква уже была') end;
until ch in charSet;
exclude(charset, ch);
myReadKey := ch
end;
Автор: dct 3.01.2005 20:41
сообщения накладываются один на другой!!!
Автор: volvo 3.01.2005 20:43
ну тогда выводи их в самый низ экрана... тебе виднее, где они должны появляться...
Автор: dct 3.01.2005 20:50
где прописывать координаты???
При запросе очередной буквы должны выводиться номер ошибки и попытки кол-во закрытых и угаданных букв???
Автор: dct 3.01.2005 20:51
как это сделать(это к вопросу о запросе)
Автор: Altair 3.01.2005 20:54
Цитата
где прописывать координаты???
для вывода текста?
gotoXY
Автор: dct 3.01.2005 20:56
А точнее на самой програме???
Автор: Altair 3.01.2005 20:58
Что значит точнее?
что тебе надо?
gotoxy(x,y) перенесет курсор в позицию x,y.
Автор: dct 3.01.2005 20:59
Хорошо!!
А вот это:При запросе очередной буквы должны выводиться номер ошибки и попытки кол-во закрытых и угаданных букв
Автор: volvo 3.01.2005 20:59
dct
Смотри мой пост, там указано, где должны стоять GotoXY
Автор: Altair 3.01.2005 21:01
Цитата
При запросе очередной буквы должны выводиться номер ошибки
зачем?
если надо ввести букву - зачем выводить сообщение об ошибке?
Автор: dct 3.01.2005 21:04
Смотри мой пост, там указано, где должны стоять GotoXY
А это где???
Автор: Altair 3.01.2005 21:07
3 по счету мессага.
Цитата
gotoxy({где-то});
вместо "где-то" поставь "что надо"
;)
и убери коментарий
Автор: dct 3.01.2005 21:11
он пишет Unknow identetifer!!!
gotoxy(x:0,y:15)
Автор: Altair 3.01.2005 21:15
dct, ты бы еще по русски написал "перейди туда".
gotoxy(x,y) - у тебя переменные х и у надо описать...
как integer напаример....
Автор: dct 3.01.2005 21:18
теперь емузапятую хочется!!!!!!
Код
var ch: char;
x,y: byte;
begin
repeat
ch := upchar(readkey);
if ch in ['0'..'9'] then
begin
gotoxy(x:0;y:15);-вот здесь!!!
writeln ('введена цифра')
end;
else if not (ch in charSet)then
begin
gotoxy (x:0;y:13);
writeln('не буква, или эта буква уже была')
КОД В ТЕГИ!!!!!
Автор: Altair 3.01.2005 21:20
я последний раз говорю!
gotoxy(x:0,y:15);
не так, а вот так:
gotoxy(x,y);
Автор: APAL 3.01.2005 21:21
мда... учебник штоли почитал... ;)
и я о том-же...
Автор: dct 3.01.2005 21:22
я ни чё не понимаю!!!1
Автор: APAL 3.01.2005 21:24
Цитата(Oleg_Z @ 3.01.05 17:20)
я последний раз говорю!
gotoxy(x:0,y:15);
не так, а вот так:
gotoxy(x,y);
Ага, а значения присваиваются так:
Код
x:=0; y:=15;
:D
Автор: dct 3.01.2005 21:27
Код
repeat
ch := upchar(readkey);
if ch in ['0'..'9'] then
begin
x:=0;
y:=15;
gotoxy(x,y);
writeln ('введена цифра');
end else if not (ch in charSet) then
begin
x:=0
y:=14
gotoxy (x,y);
writeln('не буква, или эта буква уже была'
end;
until {...}
Код я исправил.... условие только добавь...
Автор: APAL 3.01.2005 21:28
Если ты не будешь сам заключать код в теги, то я начну удалять сообщения!
Автор: dct 3.01.2005 21:29
SORRRy!!!
Автор: Altair 3.01.2005 21:29
все, dct, здесь не "разумный компилятор". читай учебник. тебе все рассказали.
код на блюдечке ты не получишь все равно... пораскинь мозгами..
закрыто.