Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2008, 23:36   #1
GaJIbI4
Пользователь
 
Регистрация: 03.10.2008
Сообщений: 77
По умолчанию меню пользователя в паскале

Пожалуйста помогите найти ошибки в программе. Это прога выводит на экран меню где 4 пункта 1)Ввод строки 2)преобразование(удаление лишних пробелов) 3)вывод строки 4)Выход
Проблема в том, что первый и четвёртый пункт работает, а 2 и 3 - нет, немогу найти ошибки

Код:
USES CRT;
Var
kod:char;
st,s:string[15];

Procedure MENU;
begin
TextBackGround(0);
clrscr;
Window(1,3,78,2);
TextBackGround(7);
clrscr;
Textcolor(4);
gotoxy(34,4); write('1_BBOD');
gotoxy(34,8); write('2_IIpeo6pa3oBaHue');
gotoxy(34,12); write('3_BbIBOD');
gotoxy(34,16); write('4_BbIXOD');
end;

Procedure VVOD;
begin
writeln;
writeln;
Writeln('BBEDuTE CTPOKY');
readln(st);
end;

function pr(s:string):string;
begin
s:=st;
while pos('  ', s)>0 do
delete(s, pos('  ', s), 1);
pr:=s;
end;

Procedure Vivod;
begin
gotoxy(34,18);
writeln;
writeln;
Writeln('CTPOKA ', st);
end;

begin
while true do
begin
clrscr;
MENU;
Kod:=ReadKey;
Case Kod of
'1':VVOD;
'2':st:=pr(s);
'3':Vivod;
'4':EXIT;
else writeln('HeIIpaBuJIbHo BBeDeH HoMep IIyHKTA');
end;
end;
end.
GaJIbI4 вне форума Ответить с цитированием
Старый 16.11.2008, 00:16   #2
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

А как проявляется ваше не работет? На вид все сделано верно... Просто могу предположить, что результаты работы отчищаются, так как вы в цикле сразу чистите экран от результатов выполнения программы...
Можно сделать например так:
Код:
begin
while true do
begin
clrscr;
MENU;
Kod:=ReadKey;
Case Kod of
'1':VVOD;
'2':st:=pr(s);
'3':Vivod;
'4':EXIT;
else writeln('HeIIpaBuJIbHo BBeDeH HoMep IIyHKTA');
end;
Writeln('для продолжения нажмите любую клавишу');
Readkey;
end;
end.
Таким образом успеешь увидить результат выполнения тех процедур...
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 16.11.2008, 12:17   #3
GaJIbI4
Пользователь
 
Регистрация: 03.10.2008
Сообщений: 77
По умолчанию

спасибо теперь вроде всё работает
GaJIbI4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Идентификация пользователя Gorychev PHP 9 10.02.2009 08:56
Удаление пользователя треч О форуме и сайтах клуба 4 26.05.2008 21:38
Назначение прав пользователя Seqular Безопасность, Шифрование 1 04.08.2007 16:48
Имя пользователя Albenous Win Api 3 20.01.2007 22:39