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

Чёрное окно и всё!( - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
CruserD
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 18
05.05.2011, 17:40     Чёрное окно и всё!( #1
Написал код по видео аля для обучения, откомпилировал ошибок нет всё норм, появился пустое чёрное окно ) в чём причина? ( программа-моделирование гравитации, планеты должны вращаться ) подскажите в чём проблема очень надо до завтра узнать -)
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 "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
#pragma comment (lib, "glut32.lib")
// Моделирование сил притяжения
#include <cmath>
#include <GL/glut.h>
struct Particle
{ 
        float x;
        float y;
        float vx;
        float vy;
        float m;
};
 
const int N = 4;
 
Particle particles[N];
 
void display()
{
        glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_POINTS);
        for (int i = 0; i < N; ++i)
                glVertex2f(particles[i].x, particles[i].y);
        glEnd();
 
        glutSwapBuffers();
}
void timer(int=0)
{
        for (int i = 0; i < N; ++i)//;
        {
                Particle &p0 = particles[i];
                for (int j = 0; j < N; ++j)//;
                {
                        if (j == i)
                                continue;
                        const Particle &p = particles[j];
                        float d = sqrt((p0.x - p.x) * (p0.x - p.x) + 
                                (p0.y - p.y) * (p0.y - p.y));
                        if (d > 3)
                        {
                              p0.vx +=  0000.7 * p.m / d / d * (p.x - p0.x) / d;
                              p0.vy +=  0000.7 * p.m / d / d * (p.y - p0.y) / d; 
                        }
                }
                p0.x += p0.vx;
                p0.y += p0.vy;
        }
        display();
        glutTimerFunc(1, timer, 1);
}
int main(int argc, char **argv)
{
        particles[0].x = 100;
        particles[0].y= 100;
        particles[0].vx = 0;
        particles[0].vy = 0;
        particles[0].m = 1000;
 
        particles[1].x = 130;
        particles[1].y = 100;
        particles[1].vx = 0;
        particles[1].vy = -0.1;
        particles[1].m = 7;
 
        particles[2].x = 30;
        particles[2].y = 100;
        particles[2].vx = 0;
        particles[2].vy = 0;
        particles[2].m = 10;
 
        particles[3].x = 25;
        particles[3].y = 100;
        particles[3].vx = 0;
        particles[3].vy = 0.11;
        particles[3].m = 0.1;
 
 
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
        glutInitWindowSize(200, 200);
        glutInitWindowPosition(20, 810);
        glutCreateWindow("Gravitation");
        
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glOrtho(0, 200, 200, 0, -1, 1);
        glutDisplayFunc(display);
        timer();
        glutMainLoop();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2011, 17:40     Чёрное окно и всё!(
Посмотрите здесь:

окно всё равно закрывается.... C++
НЕ всё так просто C++
C++ Всё просто
C++ Всё ли я правильно делаю ?
C++ Красно-чёрное дерево
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
05.05.2011, 17:57     Чёрное окно и всё!( #2
C++
1
2
3
4
int _tmain(int argc, _TCHAR* argv[])
{
        return 0;
}
У вас программа ничего не делает
CruserD
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 18
06.05.2011, 06:22  [ТС]     Чёрное окно и всё!( #3
исправил)но всё равно просто чёрное окно и всё(
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.05.2011, 07:35     Чёрное окно и всё!( #4
функция main() должна быть одна
CruserD
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 18
06.05.2011, 13:26  [ТС]     Чёрное окно и всё!( #5
59: int main(int argc, char **argv)
и всё больше нет main accept где ещё то?
если не сложно может кто-то сделать чтоб показывались планетки) и прислать исправленный код) или объяснить в чём дело)
ZloyVolkey
 Аватар для ZloyVolkey
27 / 27 / 6
Регистрация: 01.05.2011
Сообщений: 85
06.05.2011, 13:28     Чёрное окно и всё!( #6
Четвёртая строка Вашей программы.
CruserD
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 18
06.05.2011, 13:35  [ТС]     Чёрное окно и всё!( #7
ну я и удалил это уже это не решило проблему
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
06.05.2011, 16:37     Чёрное окно и всё!( #8
Попробуйте так
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
#include <GL/glut.h>
#include <cmath>
 
struct Particle
{
  float x;
  float y;
  float vx;
  float vy;
  float m;
};
 
const int N = 4;
 
Particle particles[N];
 
void display()
{
  glClear(GL_COLOR_BUFFER_BIT);
  glBegin(GL_POINTS);
  for (int i = 0; i < N; ++i)
    glVertex2f(particles[i].x, particles[i].y);
  glEnd();
 
  glutSwapBuffers();
}
 
void timer(int = 0)
{
  for (int i = 0; i < N; ++i)
  {
    Particle &p0 = particles[i];
    for (int j = 0; j < N; ++j)
    {
      if (j == i)
        continue;
      const Particle &p = particles[j];
      float d = sqrt((p0.x - p.x) * (p0.x - p.x) +
                     (p0.y - p.y) * (p0.y - p.y));
      if (d > 3)
      {
        p0.vx += 0.0007 * p.m / d / d * (p.x - p0.x) / d;
        p0.vy += 0.0007 * p.m / d / d * (p.y - p0.y) / d;
      }
    }
    p0.x += p0.vx;
    p0.y += p0.vy;
  }
  display();
  glutTimerFunc(1, timer, 0);
}
 
int main(int argc, char **argv)
{
  particles[0].x = 100;
  particles[0].y = 100;
  particles[0].vx = 0;
  particles[0].vy = 0;
  particles[0].m = 1000;
 
  particles[1].x = 130;
  particles[1].y = 100;
  particles[1].vx = 0;
  particles[1].vy = -0.1;
  particles[1].m = 7;
 
  particles[2].x = 30;
  particles[2].y = 100;
  particles[2].vx = 0;
  particles[2].vy = 0.1;
  particles[2].m = 10;
 
  particles[3].x = 25;
  particles[3].y = 100;
  particles[3].vx = 0;
  particles[3].vy = 0.11;
  particles[3].m = 0.1;
 
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
  glutInitWindowSize(200, 200);
  glutInitWindowPosition(20, 810);
  glutCreateWindow("Gravitation");
  glClearColor(0, 0, 0, 1.0);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  glOrtho(0, 200, 200, 0, -1, 1);
  glutDisplayFunc(display);
  timer();
  glutMainLoop();
}
Как установить glut на MSVC, смотри тут.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2011, 21:25     Чёрное окно и всё!(
Еще ссылки по теме:

Структуры и всё связаное с ними C++
C++ Создать класс окно, используя композицию и иерархию, определить окно заголовком и кнопкой.
C++ Создать окно с кнопкой, закрывающей это окно

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

Или воспользуйтесь поиском по форуму:
CruserD
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 18
07.05.2011, 21:25  [ТС]     Чёрное окно и всё!( #9
сделал всё как по инструкции один фиг не выходит выдаёт ошибки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1>------ Build started: Project: Моделирование гравитации, Configuration: Debug Win32 ------
1>Compiling...
1>cl : Command line warning D9002 : ignoring unknown option '/entry:mainCRTStartup'
1>glu32.lib
1>c1xx : fatal error C1083: Cannot open source file: 'glu32.lib': No such file or directory
1>OPENGL32.lib
1>c1xx : fatal error C1083: Cannot open source file: 'OPENGL32.lib': No such file or directory
1>glut32.lib
1>c1xx : fatal error C1083: Cannot open source file: 'glut32.lib': No such file or directory
1>Generating Code...
1>Skipping... (no relevant changes detected)
1>прога.cpp
1>Build log was saved at "file://c:\Users\1\Documents\Visual Studio 2005\Projects\прога\прога\Debug\BuildLog.htm"
1>Моделирование гравитации - 3 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Добавлено через 34 минуты
фак фак фак как блин сделать эту прогу !!!!!!! (( я замучался уже эти грёбанные 3 планеты на экран вывести не могу ( ЛЮДИ HELP

Добавлено через 5 минут
Гы я в панике
Yandex
Объявления
07.05.2011, 21:25     Чёрное окно и всё!(
Ответ Создать тему
Опции темы

Текущее время: 03:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru