![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
KIngSpades |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здраствуйте, форумчани!
Я недавно занимаюсь Паскалем и у меня появилась одна проблема. Есть две процедуры. При создании программы проверялась работа при одной процедуре. ПРограмма работала. После создания второй процедуры я ввел конструкцию case такого типа: Код Program ... var x:char; a,b,c,d,f:real; Procedure1(a,b:real; var c:real); begin ... end; Procedure2(c,d:real; var f:real); begin ... end; begin readln(x); case x of 'Y':procedure1(a,b,c); 'Z':procedure2(c,d,f); end; readln end. При отсутсвии case и использования одной процедуры программа работает отлично. При использовании программы, приведенной выше программа считывает Х и после етого должна запускаться процедура 1 (или 2). Но после ввода каких либо данных окно программы закрываеться. Помогите пожалуйста решить ету проблему. Надеюсь на понимание. P.S Процедура 2 аналогична Процедуре 1, но только с другими данными. Сообщение отредактировано: KIngSpades - 13.07.2011 11:24 |
![]() ![]() |
KIngSpades |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо за ответ.
Попробую сделать как ты сказал. Если надо я мог бы выложить код программы, чтоб понять суть приминения двух процедур. Добавлено через 8 мин. К сожалению, отладака не сработала так как программа хоть и не работает правильно но все же запускаеться, и Turbo Pacal не видит никаких ошибок. Код program pokerdraw; uses crt; var F,T,E,G:integer; st,sk,r:real; v:char; procedure Flush(st,sk:real; var r:real); begin readln(st); readln(sk); st:= st / 100; r:= sk/st; writeln('текст'); writeln('37 %'); writeln('текст'); if (r <= 37) then writeln('Да'); if (r > 37) then writeln('Нет'); end; Procedure OESD(st,sk:real; var r:real); begin readln(st); readln(sk); st:= st / 100; r:= sk/st; writeln('Текст'); writeln(' 33 %'); writeln('Текст '); if (r <= 33) then writeln('Да'); if (r > 33) then writeln('Нет'); end; begin clrscr; readln(v); case v of 'F':flush(st,sk,r); 'E':OESD(st,sk,r); end; readln end. Надеюсь ето поможет. Я новичок поетому не судите строго если наидете банальние ошибки. Сообщение отредактировано: KIngSpades - 13.07.2011 11:42 |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 21:12 |