Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

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

Ответ
 
Опции темы
Старый 18.11.2012, 13:01   #1
KroshkaKartoshka
Новичок
 
Регистрация: 18.11.2012
Сообщений: 4
Репутация: 10
Сообщение в чем проблема?

Нужно Составить программу, которая рисует на экране точку, движущуюся по окружности с постоянной угловой скоростью. При нажатии на клавишу ">" скорость несколько увеличивается, при нажатии на клавишу "<" скорость несколько уменьшается.

точка по кругу двигается, но скорость не меняется. в чем проблема? подскажите пожалуйста.
Код:

#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#include<math.h>
#include<dos.h>
#include<stdio.h>

void tochka(int x, int y,int r,int X, int Y, int R,int color, int i)
{
x=X+R*cos(i);
y=Y+R*sin(i);

setcolor(color);
circle(x,y,r);
}

void v(int a,int key,int k)
{
a=1000;
if(kbhit())
{
key=getch();
if(key==44)
a=3000;
if(key==46)
a=500;
}
}

int main()
{
clrscr();

int i,r,x,y,X,Y,R,key,a,k;

int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver,&gmode,"");
errorcode=graphresult();
if(errorcode != grOk)
{
printf("Graphics error: %s\n",grapherrormsg(errorcode));
printf("Press any my to half:");
getch();
exit(1);
}

X=getmaxx(); X=X/2;
Y=getmaxy(); Y=Y/2;
R=Y-100;
r=2;
k=0;
for(i=0;i<360;i++)
{
tochka(x,y,r,X,Y,R,RED,i);
v(a,key,k);
delay(a);
tochka(x,y,r,X,Y,R,BLACK,i);
if(i==360)
i=0;
}
closegraph();
return 0;
}


Последний раз редактировалось Stilet; 18.11.2012 в 18:53.
KroshkaKartoshka вне форума   Ответить с цитированием
Старый 18.11.2012, 13:50   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 10,388
Репутация: 1609

icq: 216409213
По умолчанию

начните с того, что синус и косинус принимают аргумент в радианах, а не градусах
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 18.11.2012, 15:21   #3
KroshkaKartoshka
Новичок
 
Регистрация: 18.11.2012
Сообщений: 4
Репутация: 10
По умолчанию

Как это сделать? и что делать со скоростью?
KroshkaKartoshka вне форума   Ответить с цитированием
Старый 18.11.2012, 15:30   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 10,388
Репутация: 1609

icq: 216409213
По умолчанию

Сходить в школу в 5 класс на урок математики и выучить формулу перевода градусов в радианы.

П.С. http://ru.wikipedia.org/wiki/Радиан
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 18.11.2012, 15:36   #5
KroshkaKartoshka
Новичок
 
Регистрация: 18.11.2012
Сообщений: 4
Репутация: 10
По умолчанию

меня больше интересует вопрос о скорости. Как сделать чтобы скорость изменялась?
П.С. спасибо за подсказку
KroshkaKartoshka вне форума   Ответить с цитированием
Старый 18.11.2012, 16:03   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 10,388
Репутация: 1609

icq: 216409213
По умолчанию

Например, задержку между перересовкой сделать постоянной, а изменять шаг цикла.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 19.11.2012, 09:57   #7
stpdqstns
Пользователь
 
Регистрация: 04.11.2012
Сообщений: 33
Репутация: 10
По умолчанию

Еще не понятно зачем вы передаете параметр "а" по значению в функцию v() , по выходу из которой значение "а" остается неизменным.
stpdqstns вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа как программа. вопрос leonidsm Общие вопросы C/C++ 5 02.10.2012 21:30
Программа с применением записей и программа с применение множеств smert99 Помощь студентам 0 16.06.2011 23:14
Программа открыается если есть другая программа. bookkc Паскаль 12 14.10.2009 20:09
Программа создания файла, программа обработки файла [PASCAL] Виколяшка Помощь студентам 1 22.09.2009 22:56




04:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru