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

opengl (переменные из хедера не считаются действительными) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ SEH; функция-фильтр необработанных исключений устраняет исключительную ситуацию, но почему-то вызывается постоянно http://www.cyberforum.ru/cpp-beginners/thread851880.html
Ну то есть цель: должна сделать так, чтобы исключительная ситуация больше не возникала и возвратить EXCEPTION_CONTINUE_EXECUTION. Отсюда вывод: функция-фильтр должна отработать только один раз, после чего код должен корректно завершиться. В реалии же функция-фильтр вызывается бесчётное количество раз. ЧЯДНТ? MSVS, Debug, Release #include <windows.h> #include <iostream> using namespace...
C++ Чтение нескольких файлов Можно ли функции fopen передать в качестве аргумента, где указывается назва файла, строку, что-то типа такого FILE*file = fopen("material.txt", "r"); fgets(file,"%s", mat); printf("%s", mat); fclose(file); FILE*f1=fopen("mat","r");//Здесь mat - считаный масив типа char с названием файла for(int i=0;i<N;i++) { fscanf(f1,"%f",E); } http://www.cyberforum.ru/cpp-beginners/thread851861.html
C++ Распределение памяти (подправить программу)
исправить: вывести на экран не номер строки с максимальным количеством положительных элементов, а саму строку. #include <iostream> #include <time.h> using namespace std; void vvod(int n, int m,double** mas) { srand((unsigned) time (NULL));
Почему не выводится "ля-ля". :) Вроде все просто C++
Здравствуйте. Решаю задачу определения простых чисел методом решета Эратосфена, код еще ошибочный. Но на данном моменте не пойму, почему не выводится вот то "lya-lya"? int main() { vector<int> intV(1); intV=2; vector<int> prmV; short int fp=2,c=0; int lim=0,p=0;
C++ Копирование бмп файла http://www.cyberforum.ru/cpp-beginners/thread851826.html
Вообщем есть программа она считывает один бмп файл (8 битный т.е. 1 пиксель 1 цвет) и побитово скопировать во второй я код написал но не работает подскажите пожалуйста что не так , а то уже по всякому испробовал не получается вот код #include "stdafx.h" #include <stdio.h> #include <windows.h> #include <math.h> #include <iostream> #include <conio.h> using namespace std;
C++ В массивах А(10) и В(10) все элементы, предшествующие первому нулевому элементу, заменить на 0,5 Здравствуйте. Не могли бы вы мне помочь? не могу составить программу на функции. Задача. Даны два массива А(10),В(10).В массивах А(10) и В(10) все элменты предшествующие первому нулевому элементу заменить на 0,5. Собственно я сделала ее,НО не по условию(не могу с использованием функции). #include <iostream> #include <math.h> #include <conio.h> # define N 10 int main(void) { подробнее

Показать сообщение отдельно
nazarg
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 21
29.04.2013, 13:50     opengl (переменные из хедера не считаются действительными)
есть код ниже написан, в нём есть переменные (x, y, z, N, G, mastab) которые прописаны в хедер файле.проблема в том, что функции SKeyboard и Draw считает не опредиленными.в чем может быть дело?


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
100
101
102
#include "Point.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <string.h>
#include <cmath>
#include <GL/glut.h>
 
float WinWid=700.0;
float WinHei=700.0;
float Angle=0.0, Scale=1.0;
 
const double M_PI =3.1415926535898;
 
 
void Initialize()
{
        glClearColor(0.0, 0.0, 0.0, 1.0);
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glOrtho(-WinWid/2, WinWid/2, -WinHei/2, WinHei/2, -200.0, 200.0);
        glMatrixMode(GL_MODELVIEW);
}
 
Pointsoon::Pointsoon( const Pointsoon& Point ) 
    : Point( Point )
{
    mastab = Point.mastab;
    ANgle_ = Point.ANgle_;
}
 
void Pointsoon::SKeyboard(int key, int ANgle_)
{
    for( ; ANgle_ > 0; ANgle_--)
        switch(key)
        {
        case GLUT_KEY_LEFT: Angle++;
                break;
        case GLUT_KEY_RIGHT: Angle--;
                break;
        }
}
 
Point::Point(const Point&Point)
{
    N = Point.N;
    x = Point.x;
    y = Point.y;
    z = Point.z;
    mastab = Point.mastab;
}
 
 
void Point:: Draw()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glPushMatrix();
    Scale = mastab - abs(sin(3.14*Angle/90.0)/sqrt(3.0)/2);
    glTranslated(x , y, z);  
    glRotatef(Angle, 0.0, 0.0, 1.0);
    glScalef(Scale, Scale, 1.1);
 
    glLineWidth(2);
    glBegin(GL_LINE_LOOP);
    
    for (int i = 0; i < N; ++i)
        for (int j = i + 0.5; j < N; ++j)
        {
            glVertex2f(cos(2 * M_PI * i  / N), sin(2 * M_PI * i / N));
 
        }
    glEnd();
    glPopMatrix();
    glutSwapBuffers();
}
 
void Timer(int value)
{
      //Draw();
        glutPostRedisplay();
        glutTimerFunc(50, Timer, 0);
}
 
int main(int argc, char **argv)
{   
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
        glutInitWindowSize(WinWid, WinHei);
        glutInitWindowPosition(300, 200);
        glutCreateWindow("Mnogogrannik");
 
        Initialize();
        void Vvod();
 
        glutInitWindowSize(1000, 1600);
        glutDisplayFunc(Draw);
        glutTimerFunc(50, Timer, 0);
        glutSpecialFunc(SKeyboard);
        glutMainLoop();
 
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru