Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38

Как вставить цикл в код?

19.10.2015, 08:54. Показов 889. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <graphics.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
class wheel
{
 int X,Y; //coordinata centra kolesa
 int R; //raius kolesa
 
     int X1,Y1;
     int X2,Y2;
     int X3,Y3;
     int X4,Y4; //vspomogatel'nie koordinati koncov
 
     public:wheel (int,int,int);
     void PutX(int);
     int GetX();
     void Show(); //pokazat' object
     void Hide(); //sprytat' object
     void Slide(int); //skolzhenie kolesa
     };
         //opredelenie metodov obyavlennogo kolesa
     wheel::wheel(int X,int Y,int R)
     {
     this ->X=X;
     this ->Y=Y;
     this ->R=R;
     }
 
     int wheel::GetX()
     {
                return(X);
                }
 
     void wheel::PutX(int X)
                 {
                 this ->X=X;
                 }
 
     void wheel::Show()
     {
                 circle(X,Y,R);
     }
 
     void wheel::Hide()
     {
                unsigned Tempcolor;
                Tempcolor=getcolor();
                setcolor(getbkcolor());
                circle(X,Y,R);
                line(X1,Y1,X3,Y3);
                line(X2,Y2,X4,Y4);
                setcolor(Tempcolor);
                }
 
     void wheel::Slide(int DX) //sdvinut' koleso
                {
                Hide();  //spryatat' ego
                PutX(X+DX); //izmenyaetsya koordinata centra
                Show();   //pokazat' koleso
                }
     //sozdanie i ispolzovanie graf objectovv osnovnoi programme
     int main()
     {
        int gdriver=DETECT,gmode,errorcode;
        initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
     // errorcode=graphresult();
 
        wheel W1(100,100,50);
        wheel W2(100,250,50);
        W1.Show();
        W2.Show();
        getch();
        while(!kbhit())
        {
                W2.Slide(50*0.1); //skolzhenie 2 kolesa
                if(W2.GetX()>=700) W2.PutX(-50);
                delay(100);
        }
        getch();
        closegraph();
        return(0);
        }

В эту программу для первого колеса нужно вставить примерно такой бесконечный цикл:
1)пока R меньше 100,прибавлять R на 1
2)когда R=100, уменьшать R на 1 до 20
Можно еще как-то сделать этот цикл с Show и Hide, задача в том,чтобы круг увеличивался и потом уменьшался
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2015, 08:54
Ответы с готовыми решениями:

Как в php цикл вставить код на java script?
//Выводим данные из базы mysql $resultat = mysql_query(&quot;SELECT * FROM chat&quot;,$db); $array = mysql_fetch_array($resultat); do { ...

Как правильно вставить jQuery код в код страницы сайта?
привет всем:) у меня возникла проблема, когда я свой jQuery код вставляю в код html главной страницы , у меня моя анимация оказывается в...

Как вставить div в PHP код (в echo) - исправить код
Народ как вставить div в php код точнее в echo В этот код:&lt;?php //отсеивание $dir = &quot;MP3 PLAYER/&quot;; //задаём имя...

14
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
19.10.2015, 09:40
C++
1
2
3
4
5
for (int k = W1.R, i = 1; true; k+=i) 
{
    W1.R = k;
    if (k==100 || k==20) i = -i;
}
Добавлено через 1 минуту
Только начальный радиус должен быть больше 20 и меньше 100
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38
19.10.2015, 09:46  [ТС]
а куда это написать надо? и наверное надо еще обозначить переменную к?
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
19.10.2015, 09:51
Цитата Сообщение от BoJl4apuk Посмотреть сообщение
надо еще обозначить переменную к?
Она обозначена
C++
1
int k = W1.R
Добавлено через 56 секунд
Цитата Сообщение от BoJl4apuk Посмотреть сообщение
а куда это написать надо?
Тебе виднее
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38
19.10.2015, 09:57  [ТС]
пишет,что у меня нету Wheel::R для W1.R
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
19.10.2015, 10:00
Цитата Сообщение от BoJl4apuk Посмотреть сообщение
пишет,что у меня нету Wheel::R для W1.R
Сделай функции getR и setR для класса wheel
C++
1
2
3
4
5
for (int k = W1.getR(), i = 1; true; k+=i) 
{
    W1.setR(k);
    if (k==100 || k==20) i = -i;
}
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38
19.10.2015, 10:07  [ТС]
А что в них описать?

Добавлено через 16 секунд
еще жалуется на true

Добавлено через 5 минут
true -неизвестный символ
и как дописать параметр к в функции SetR при описании?
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
19.10.2015, 10:09
C++
1
2
3
4
5
6
7
8
9
int wheel::GetR()
{
    return R;
}
 
void wheel::SetR(int const t)
{
    R = t;
}
C++
1
2
3
4
5
for (int k = W1.GetR(), i = 1; k; k+=i) 
{
    W1.SetR(k);
    if (k==100 || k==20) i = -i;
}
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38
19.10.2015, 10:16  [ТС]
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <graphics.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
class wheel
{
 int X,Y; //coordinata centra kolesa
 int R; //raius kolesa
 
     int X1,Y1;
     int X2,Y2;
     int X3,Y3;
     int X4,Y4; //vspomogatel'nie koordinati koncov
 
     public:wheel (int,int,int);
     void PutX(int);
     int GetX();
     void Show(); //pokazat' object
     void Hide(); //sprytat' object
     void Slide(int); //skolzhenie kolesa
     void SetR();
     int GetR();
     };
         //opredelenie metodov obyavlennogo kolesa
     wheel::wheel(int X,int Y,int R)
     {
     this ->X=X;
     this ->Y=Y;
     this ->R=R;
     }
 
     int wheel::GetX()
     {
                return(X);
                }
 
     void wheel::PutX(int X)
                 {
                 this ->X=X;
                 }
 
     int wheel::GetR()
     {
        return(R);
        }
     void wheel::SetR()
     {
     this->R=R;
     }
     void wheel::Show()
     {
                 circle(X,Y,R);
     }
 
     void wheel::Hide()
     {
                unsigned Tempcolor;
                Tempcolor=getcolor();
                setcolor(getbkcolor());
                circle(X,Y,R);
                line(X1,Y1,X3,Y3);
                line(X2,Y2,X4,Y4);
                setcolor(Tempcolor);
                }
 
     void wheel::Slide(int DX) //sdvinut' koleso
                {
                Hide();  //spryatat' ego
                PutX(X+DX); //izmenyaetsya koordinata centra
                Show();   //pokazat' koleso
                }
     //sozdanie i ispolzovanie graf objectovv osnovnoi programme
     int main()
     {
        int gdriver=DETECT,gmode,errorcode;
        initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
     // errorcode=graphresult();
 
        wheel W1(100,100,50);
        wheel W2(100,250,50);
        W1.Show();
        for (int k=W1.GetR(),i=1;true;k+=i)
        {
          W1.SetR(k);
          if(k==100 || k==20) i= -i;
          }
        W2.Show();
        getch();
        while(!kbhit())
        {
                W2.Slide(50*0.1); //skolzhenie 2 kolesa
                if(W2.GetX()>=700) W2.PutX(-50);
                delay(100);
        }
        getch();
        closegraph();
        return(0);
        }
вот в итоге,что дописал, пишет extra parametr в wheel::SetR
и undefined symbol true

Добавлено через 6 минут
а как тогда в описании методов написать SetR?....... SetR(const int)?
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
19.10.2015, 10:18
Цитата Сообщение от BoJl4apuk Посмотреть сообщение
а как тогда в описании методов написать SetR?....... SetR(const int)?
Да.
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38
19.10.2015, 10:19  [ТС]
тогда при запуске он просто показывает 1 колесо,которое ничего не делает почему-то (
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
19.10.2015, 10:30
Так попробуй
C++
1
2
3
4
5
6
for (int k = W1.GetR(), i = 1; k; k+=i) 
{
    W1.SetR(k);
    W1.Show();
    if (k==100 || k==20) i = -i;
}
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38
19.10.2015, 11:43  [ТС]
Надо как-то через Hide написать это,тобишь я задаю начальный радиус 50,нажимаю кнопку..и этот круг увеличивается до 100 и уменьшается до 20,а чтобы была видимость,что это круг делает,после каждого R++ ,предыдущую надо Hide, вот только как это всё написать-я не понимаю....
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
19.10.2015, 11:58
Можно убрать get и set и добавить в класс функцию:
C++
1
2
3
4
5
6
7
8
9
10
void wheel::cycle()
{
    for (int k=R, i = 1; 1; k+=i) 
    {
        if (R==20 || R==100) i = -i;
        Hide();
        R = k;
        Show();
    }
}
А в main:
C++
1
W1.cycle();
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 38
19.10.2015, 12:10  [ТС]
нет,он совсем какую-то чушь делает.....сразу увеличивает до 100 и стирает и рисует стирает и рисует на этой 100

Добавлено через 2 минуты
и при этом не работает второе колесо.... я его просто рисую,может что-то где-то не там написал?
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <graphics.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
class wheel
{
 int X,Y; //coordinata centra kolesa
 int R; //raius kolesa
 
     int X1,Y1;
     int X2,Y2;
     int X3,Y3;
     int X4,Y4; //vspomogatel'nie koordinati koncov
 
     public:wheel (int,int,int);
     void PutX(int);
     int GetX();
     void Show(); //pokazat' object
     void Hide(); //sprytat' object
     void Slide(int); //skolzhenie kolesa
     void Cycle();
     };
         //opredelenie metodov obyavlennogo kolesa
     wheel::wheel(int X,int Y,int R)
     {
     this ->X=X;
     this ->Y=Y;
     this ->R=R;
     }
 
     int wheel::GetX()
     {
                return(X);
                }
 
     void wheel::PutX(int X)
                 {
                 this ->X=X;
                 }
 
     void wheel::Cycle()
     {
     for(int k=R,i=1;1;k+=i)
     {
     if (R==20 || R==100) i=-i;
     Hide();
     R=k;
     Show();
     }
     }
 
     void wheel::Show()
     {
                 circle(X,Y,R);
 
     }
 
     void wheel::Hide()
     {
                unsigned Tempcolor;
                Tempcolor=getcolor();
                setcolor(getbkcolor());
                circle(X,Y,R);
                line(X1,Y1,X3,Y3);
                line(X2,Y2,X4,Y4);
                setcolor(Tempcolor);
                }
 
     void wheel::Slide(int DX) //sdvinut' koleso
                {
                Hide();  //spryatat' ego
                PutX(X+DX); //izmenyaetsya koordinata centra
                Show();   //pokazat' koleso
                }
     //sozdanie i ispolzovanie graf objectovv osnovnoi programme
     int main()
     {
        int gdriver=DETECT,gmode,errorcode;
        initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
     // errorcode=graphresult();
 
        wheel W1(100,100,50);
        wheel W2(100,250,50);
        W1.Show();
        W2.Show();
        getch();
        while(!kbhit())
        {
                W1.Cycle();
                W2.Slide(50*0.1); //skolzhenie 2 kolesa
                if(W2.GetX()>=700) W2.PutX(-50);
                delay(100);
        }
        getch();
        closegraph();
        return(0);
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2015, 12:10
Помогаю со студенческими работами здесь

Как в цикл вставить обработчик событий?
Здравствуйте, у меня проект с элементами swing, и есть блок, который выполняет длительные расчёты с циклами for. Когда запускается расчёт,...

Как вставить решение уравнений в цикл?
ситуация - два нелинейных уравнения, две неизвестных, два параметра меняются парами. задаю несколько пар параметров, и find помогает...

Как внутрь массива вставить цикл for
Есть ассоциативный массив $cart = array( &quot;orderID&quot; =&gt; 12345, &quot;shopperName&quot; =&gt; &quot;Ваня Иванов&quot;, &quot;shopperEmail&quot;...

как в функцию отправки писем вставить цикл
Добрый день! подскажите как в функцию отправки писем вставить цикл. У меня он не работает. Письмо приходит но цикл не выводится ...

Как вставить цикл for в ПхпТег echo<<<_END
Всем привет, у меня возникла следующая ситуация: Задачи: 1- извлечь из одной таблицы &quot;данные№1&quot; 2- извлечь из второй...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru