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

BGI graphics.h - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
12.04.2014, 18:02     BGI graphics.h #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
#include "graphics.h"
#include <iostream>
#include <math.h>
#include <stdlib.h>                     // Provides exit   
#include <ctype.h>                      // Provides toupper
using namespace std;
void PicCircle(float x, float y, float R, int n)
{
    float k=0.7;//коэффициент от 0.0 до 3.0 МОЖНО ЗАДАТЬ(изменяет R)
    circle(x, y, R);           // рисуем окружность 
    if (n == 1) return;         // все нарисовали, выход 
    PicCircle(x + R, y, k*R, n - 1); // четыре рекурсивных вызова 
    PicCircle(x - R, y, k*R, n - 1);
    PicCircle(x, y + R, k*R, n - 1);
    PicCircle(x, y - R, k*R, n - 1);
}
 
int APIENTRY WinMain
( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
    initwindow(700, 700);
    setcolor(YELLOW);//Цвет можно задать
    PicCircle(350, 350, 170, 5);//6 - это n - количество уровней, 170 - R - радиус МОЖНО ЗАДАТЬ
        getch();
        cleardevice();
    closegraph();
}
Как можно задавать значения R,k,n,цвет? (вообще любые переменные) Ни cin, ни scanf не работают, программа запускается и сразу отрисовывает.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Leoleshucov008
13 / 13 / 1
Регистрация: 23.02.2010
Сообщений: 221
12.04.2014, 18:19     BGI graphics.h #2
подключи stdio.h
C
1
2
    int R, k, n;
    scanf("%d%d%d", &R, &k, &n);
либо с потоками
C++
1
2
int R, k, n;
cin>>R>>k>>n;
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
12.04.2014, 18:37  [ТС]     BGI graphics.h #3
Leoleshucov008, не работает, сразу отрисовывает...
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
12.04.2014, 18:53     BGI graphics.h #4
Gygocopter,
C++
1
2
3
int r, k, n;
    std::cin >> r >> k >> n;
    initwindow(700, 700);
У меня все работает.
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
12.04.2014, 19:07  [ТС]     BGI graphics.h #5
dimcoder, а можешь залить на rghost или куда-нибудь папку с проектом?
Написал как ты перед initwindow, все равно отрисовывает только, как ошибку не подчеркивает
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
12.04.2014, 20:02     BGI graphics.h #6
Цитата Сообщение от Gygocopter Посмотреть сообщение
Написал как ты перед initwindow, все равно отрисовывает только, как ошибку не подчеркивает
А ты проект перестраиваешь/заново компилируешь? Может если нажимаешь не ту горячую клавишу, то он сразу и запускается без перекомпиляции? Проект скинул, он на wxDevCpp.
Вложения
Тип файла: zip temp3.zip (2.1 Кб, 10 просмотров)
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
12.04.2014, 20:31  [ТС]     BGI graphics.h #7
dimcoder, создал проект заного, скопировал твой код, появляется черное окно, ввожу цифру, энтер, цифру, энтер(НО НИЧЕГО НЕ ОТОБРАЖАЕТСЯ), ничего не происходит, окно зависает, и лагает, даже отрисовки нет, прерываю. (у меня Visual Studio)
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
12.04.2014, 20:42     BGI graphics.h #8
Цитата Сообщение от Gygocopter Посмотреть сообщение
цифру, энтер, цифру, энтер(НО НИЧЕГО НЕ ОТОБРАЖАЕТСЯ)
Почти. Надо три числа. Не два. А если два (r, n), то
C++
1
2
3
4
5
int r, k, n;
    std::cin >> r >> n;
    initwindow(700, 700);
    setcolor(YELLOW);
    PicCircle(350, 350, r, n);
Leoleshucov008
13 / 13 / 1
Регистрация: 23.02.2010
Сообщений: 221
12.04.2014, 20:44     BGI graphics.h #9
А в VS как библиотеку подключали?
http://www.cs.colorado.edu/~main/bgi/visual/
Я использовал вот этот проект, там библиотека и файл main.cxx из него все удалите и вставьте свой код.
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
12.04.2014, 20:58  [ТС]     BGI graphics.h #10
dimcoder, и два, и три вводил, зависает.
А вот подождал немного, комьпютер лагал все это время и вот что
http://s1.ipicture.ru/uploads/20140412/FGTHMtoT.jpg

Добавлено через 8 минут
Leoleshucov008, так и делал, все нормально рисует, а вводить не хочет, скрин выше.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2014, 21:08     BGI graphics.h
Еще ссылки по теме:

C++ borland c++ bgi
DevCpp + bgi, очистка дисплея C++
C++ Как нарисовать рисунок (BGI)

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

Или воспользуйтесь поиском по форуму:
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
12.04.2014, 21:08     BGI graphics.h #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Gygocopter, наверное слишком большое значение для n ввел. Вот так думаю проще будет:
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
#include "graphics.h"
#include <iostream>
#include <math.h>
#include <stdlib.h>                     // Provides exit   
#include <ctype.h>                      // Provides toupper
using namespace std;
void PicCircle(float x, float y, float R, int n)
{
    float k=0.7;//??????????? ?? 0.0 ?? 3.0 ????? ??????(???????? R)
    circle(x, y, R);           // ?????? ?????????? 
    if (n == 1) return;         // ??? ??????????, ????? 
    PicCircle(x + R, y, k*R, n - 1); // ?????? ??????????? ?????? 
    PicCircle(x - R, y, k*R, n - 1);
    PicCircle(x, y + R, k*R, n - 1);
    PicCircle(x, y - R, k*R, n - 1);
}
 
int APIENTRY WinMain
( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
    int r, n;
    cout << "R = ";
    cin >> r;
    cout << "n = ";
    cin >> n;
    initwindow(700, 700);
    setcolor(YELLOW);//???? ????? ??????
    PicCircle(350, 350, r, n);//6 - ??? n - ?????????? ???????, 170 - R - ?????? ????? ??????
        getch();
        cleardevice();
    closegraph();
}
Ввожу 170 и 5. Все нормально.
Миниатюры
BGI graphics.h  
Yandex
Объявления
12.04.2014, 21:08     BGI graphics.h
Ответ Создать тему
Опции темы

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