Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2019, 11:42   #1
Вася3123
Новичок
Джуниор
 
Регистрация: 17.12.2019
Сообщений: 4
Злость Перевод из С++ в С

Переведите из C++ в С, пожалуйста.

Код:
#include <iostream>
#include <glut.h>
#include <cmath>
 
struct Load
{
    float y;
    float vy;
};
 
Load load = { 350, 0 };
 
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_LINES);
    glVertex2f(200, 0);
    glVertex2f(200, load.y);
    for (int i = 0; i < 36; ++i)
    {
        glVertex2f(200 + 5 * cos(2 * M_PI * i / 36), load.y + 5 * sin(2 * M_PI * i / 36));
        glVertex2f(200 + 5 * cos(2 * M_PI * (i + 1) / 36), load.y + 5 * sin(2 * M_PI * (i + 1) / 36));
    }
    glEnd();
    glutSwapBuffers();
}
 
void timer(int = 0)
{
    float f = 0;
    if (load.y > 200)
        f = 0.001 * (load.y - 200);
    f -= 0.1;
    load.vy -= f;
    load.y += load.vy;
    display();
    glutTimerFunc(10, timer, 0);
}
 
int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    glutInitWindowSize(400, 400);
    glutInitWindowPosition(20, 1050 - 450);
    glutCreateWindow("Load");
    glClearColor(0, 0, 0, 1.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0, 400, 400, 0, -1, 1);
    glutDisplayFunc(display);
    timer();
    glutMainLoop();
}
Если не сложно можете написать с комментариями. (Заранее спасибо)
Вася3123 вне форума Ответить с цитированием
Старый 25.12.2019, 12:43   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,620
По умолчанию

Вопрос - будет ли оно работать в Си? Тут подключается сторонняя библиотека ( OpenGL ? )
Щас знатоки подтянутся и ответят. На первый взгляд - переводить нечего, не вижу операторов, отсутствующих в Си. Всё сводится к вызовам процедур из этой библиотеки.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод на C++ dimon_snake Общие вопросы C/C++ 2 20.12.2015 20:08
ПЕРЕВОД НА C# kostan3 C# (си шарп) 2 10.04.2015 17:45
Перевод из HEX в DEC (из 16 в 10) spcallisto SQL, базы данных 1 22.01.2013 13:42
перевод в СИ Temka Общие вопросы Delphi 0 10.12.2010 19:14
Перевод из Кб в Мб и т.д. okgo Паскаль, Turbo Pascal, PascalABC.NET 8 18.11.2008 21:03