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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2008, 08:08   #1
ANARHIST
Пользователь
 
Регистрация: 01.07.2008
Сообщений: 11
По умолчанию есть программа помогите исправить

Нарисовать на экране катящееся по наклонной вида Y=kX колесо с че-тырьмя спицами.
Код:
Program koleso;
uses crt,graph;
var
k,i:integer;
driver,mode:integer;
path:string;
Y,x1,x2,y1,y2,x11,x12,y11,y12:integer;
procedure paint;
 begin
WriteLn('################################ Zadanie 1_1 ################################');
Writeln;
WriteLn('################################ Uslovie ################################');
WriteLn('  Narisovat na ekrane katjasheecja po gorizontali ');
WriteLn(' koleco c cetirmja spicami');
 
WriteLn;
WriteLn('                                                           Vypolnil');
WriteLn('                                                     Kuznetcov A.A.');
WriteLn;
WriteLn('######################## Dlya prodolzheniay nazhmite ENTER######################');
ReadLn;


{///////////////////}
   setcolor(15);
   x1:=round(20*cos(i/120*pi)+82+i);
   y1:=round(20*sin(i/120*pi)+256);
   x2:=round(20*cos(i/120*pi+pi)+82+i);
   y2:=round(20*sin(i/120*pi+pi)+256);

  line(x1,y1+y,x2,y2+y);
   x11:=round(20*cos(i/120*pi+pi/2)+82+i);
   y11:=round(20*sin(i/120*pi+pi/2)+256);
   x12:=round(20*cos(i/120*pi+pi+pi/2)+82+i);
   y12:=round(20*sin(i/120*pi+pi+pi/2)+256);
   line(x11,y11+y,x12,y12+y);

   setcolor(15);
  circle(82+i, 256+y,20);
   circle(82+i, 256+y,30);
    delay(2000);
  setcolor(0);
{///////////////////}

 end;
begin
 i:=-100;
 driver:=vga;
 mode:=vgahi;
path:='g:\bp\bgi';
 initgraph(driver,mode,path);   
  
 repeat  
 inc(k);   
  
 paint;   
 delay(200);   
 cleardevice;   
 inc(i);   
 if i=660 then i:=-280;   
until KeyPressed;   
closegraph;     
end.

Последний раз редактировалось Stilet; 08.07.2008 в 08:16.
ANARHIST вне форума Ответить с цитированием
Старый 08.07.2008, 08:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну и зачем ты смешал ReadLn и WriteLn с графикой? Хоть бы режим выставил чтоб эти "консольные" команды работали в графическом режиме.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2008, 12:17   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Исключи из процедуры Paint всю текстовую часть(начало), оформи в другой процедуре и вызывай ее сразу в начале программы, после begin и до initgraph. Тогда у тебя сначала в текстовом окне будет презентация, а затем в графическом режиме демонстрация. При повторных запусках все будет в графическом режиме.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код Tanuska___:) БД в Delphi 4 07.08.2008 17:40
Помогите исправить L_M Помощь студентам 3 08.06.2008 01:06
Помогите исправить NeiL Общие вопросы C/C++ 1 31.05.2008 13:31
Помогите исправить код student_63 Помощь студентам 5 13.12.2007 18:20