Форум программистов, компьютерный форум CyberForum.ru

движение по кругу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ struct and header files http://www.cyberforum.ru/cpp-beginners/thread196533.html
Куда записывать struct? Если определяю его вклассе NMEAStructs.cpp в таком виде: #include "NMEAStructs.h" #include "Satellites.h" #include <stdlib.h> #include <stdio.h> #include <string.h> #include <iostream>
C++ Массив строк Привет всем! Прошу помощи в решении следующей задачи: Нужно ввести строку символов разделителей и массив строк текста с неизвестным кол-вом строк. Окончание ввода происходит при вводе строки с количеством символов равным среднему количеству символов в предыдущих строках. Перед словами максимальной длины вставить заданное слово, а в строках где вставок не было, удалить последнее слово. Вот как... http://www.cyberforum.ru/cpp-beginners/thread196532.html
Вычисление величины a, b и выводила результаты на экран! C++
Составить программу, которая вводила бы три числа x, y, z, вычисляла величины a, b и выводила результаты на экран в удобном для восприятия виде (размещение на экране, объяснения, форматирование, корректные предупреждения о особые точки и т.д.). # Include <iostream.h> / / Подключение системнних библиотек # Include <conio.h> / / для использования в программе методов i # Include...
C++ Одномерные масивы
Дан массив из н элементов , создать программу которая выводит на экран все одинаковые элементы. Помогите где ошибка ? ... спс заранее #include<stdio.h> #include<conio.h> void main() { clrscr(); int a,x,j,i,n; printf("Vedite N= "); scanf("%d",&n); for (i=0;i<n;i++)
C++ Сохранение файла в С++ http://www.cyberforum.ru/cpp-beginners/thread196508.html
Вот прога была написана на Си. И щас переписал на С++ и не знаю ,что делать с сохранеием файла. Помогите исправить ошибку. Сам пишу в visual studio 2008. #include <stdafx.h> #include <iostream> #include<stdio.h> #include<conio.h>
C++ двоичное представление пользователь вводит с клавиатуры 2 беззнаковых длинных целых числа a, b. Вывести на консоль слагаемые и их сумму a+b в двоичной системе. unsigned long bin(unsigned long x) { for(int i = 31; i >= 0; --i) printf("%d", (x>>i) & 1); return (x); } int _tmain(int argc, _TCHAR* argv) подробнее

Показать сообщение отдельно
Люлик
0 / 0 / 0
Регистрация: 18.12.2009
Сообщений: 2

движение по кругу - C++

24.11.2010, 02:33. Просмотров 1193. Ответов 0
Метки (Все метки)

У меня есть проект, в котором несколько файлов.
В файлах описывается различные геометрические фигуры с разными параметрами.


Сначала надо было организовать просто движение любого из классов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
void FigureMove(GeomFigure* pFig,int dx,int dy, int dtime, int count);
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, PATCHTODRIVER);
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
 
int maxx, maxy; maxx = getmaxx(); maxy = getmaxy();
int x0,y0; x0= maxx/2; y0=maxy/2;
Circle A1(50,300,240); A1.Draw();
ColorRect S1(30,50,150,100,2,3,4,5); S1.Draw(); getch();
ColorRect S2(0,360,200,100,BLUE,GREEN,RED,BROWN,YELLOW); S2.Draw();
 
FigureMove(&A1,15,5,750,12);
 
FigureMove(&S1,5, -3, 150, 20);
 getch();
 
closegraph();
return 0;
 
 
}
 
void FigureMove(GeomFigure* pFig,int dx,int dy, int dtime, int count)
{
    for(int i=1; i<=count; i++)
    {
    pFig->Draw();
    delay(dtime);               //    getch();
    pFig->Hide();
    pFig->Shift(dx,dy);
 
    }
 }
А теперь надо сделать движение по кругу. Причём класс ColorRect должен двигатся по классу Circle.


с этим возникли большие проблемы.



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void FigureMovebyCircle(GeomFigure* pFig, int dtime,int x0,int y0,int Radius)
{
 
 Circle (320,240,50).Draw(); getch();
 setcolor(4);
 
const float PI=3.1416;
int Width; int Height;
int x1=x0-Radius*6;
int x2=Width/2;
int y2=Height/2;
int y1=y0-Radius*6;
pFig->Shift(x1,y1);
pFig->Draw();
 
for (double  f=0; f<=2*M_PI; f=f+PI/14)
 
 {
          double df=f*Radius;
 
double dx=Radius*cos(f);
double dy=Radius*sin(f);
pFig->Draw();
delay(dtime);
pFig->Shift (dx,dy);
 
 }
 
   }
причём переменные x0 и y0 надо брать из класса Colorrect, но не получаеться сделать указатель.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru