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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 71, средняя оценка - 4.90
Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
#1

Как нарисовать круг - C++

07.04.2013, 13:30. Просмотров 11187. Ответов 37
Метки нет (Все метки)

Нужно нарисовать круг
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 13:30     Как нарисовать круг
Посмотрите здесь:

Нарисовать круг в классе - C++
Нужно нарисовать круг в классе чтоб можна било в консоле задавать его 1)цвет 2)радиус 3) и угол на которий я захочю его повернуть!

Нарисовать круг C++ (для чайников) - C++
Добрый день! Я, вообще, новичок в программировании, в том числе и на C ++. Я использую CodeBlocks+MinGW. Мне нужно нарисовать круг.... В...

Нарисовать круг через цикл - C++
Народ, салют. У меня уже бошка кипит, не могу никак поймать "озарение". Нужно нарисать круг при помощи цикла "for" ну или while. С...

Нарисовать цветной круг. Ошибка компиляции - C++
Доброго времени суток! Помогите, пожалуйста, разобраться с темной магией Мне нужно нарисовать цветовой круг на плюсах. Как только начал...

Выведено изображение, нужно на нем нарисовать по фигуру (квадрат, круг) - C++
Выведено изображение, нужно на нем нарисовать по фигуру (квадрат, круг). размер и положение я должен выбрать.

С помощью циклов нарисовать символами "звездочка" куб и круг - C++
Здравствуйте! Задачка сама по себе не сложная, но мозг ломает.. Помогите решить, пожалуйста!! Нужно с помощью циклов нарисовать символами...

Как закрасить круг (circle) - C++
Как закрасить круг в любой цвет, не могу найти таких ф-ций, setfillstyle не подходит

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
07.04.2013, 13:34     Как нарисовать круг #2
Вот:
Название: Безымянный.png
Просмотров: 1573

Размер: 751 байт
Цитата Сообщение от Lion- Посмотреть сообщение
Нужно нарисовать круг
Что за круг, где и с помощью чего рисовать?
Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
07.04.2013, 13:48  [ТС]     Как нарисовать круг #3
Croessmah, мне нужен код функции в С++ которая рисует круг!

Добавлено через 4 минуты
Croessmah, так ти напишеш?

Добавлено через 6 минут
KeyGen, Можеш написать функцию которая рисует круг?
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
07.04.2013, 13:55     Как нарисовать круг #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <windows.h>
 
int main(){
    HDC hDC=GetDC(NULL);
    HBRUSH hBrush=(HBRUSH)GetStockObject(WHITE_BRUSH);
    HPEN hPen=(HPEN)GetStockObject(WHITE_PEN);
    HBRUSH hOldBrush=(HBRUSH)SelectObject(hDC,hBrush);
    HPEN hOldPen=(HPEN)SelectObject(hDC,hPen);
    Ellipse(hDC,0,0,100,100);
    SelectObject(hDC,hOldBrush);
    SelectObject(hDC,hOldPen);
    ReleaseDC(NULL,hDC);
    return 0;
}
Добавлено через 28 секунд
Цитата Сообщение от Lion- Посмотреть сообщение
нужен код функции в С++ которая рисует круг!
В C++ нет такой функции
Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
07.04.2013, 14:05  [ТС]     Как нарисовать круг #5
Croessmah, почему оно в консоле не вибивает круг?
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
07.04.2013, 14:08     Как нарисовать круг #6
Цитата Сообщение от Lion- Посмотреть сообщение
почему оно в консоле не вибивает круг?
Потому что нужно задачу ставить нормально.
Цитата Сообщение от Lion- Посмотреть сообщение
Нужно нарисовать круг
Где? Какой? С помощью чего?
Может нужно с помощью OpenGL вывести, может использовать API и выводить на окне калькулятора, может нужно на консольном окне рисовать, может на дисплее, может вообще символами в консоли, а может на листе бумаги а?
Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
07.04.2013, 14:12  [ТС]     Как нарисовать круг #7
Croessmah, извени что не обяснил норм!! мне нужно круг в консоле и чтоб можна било менять его розмер, перемещать по екрану
Tulosba
07.04.2013, 14:16
  #8

Не по теме:

Цитата Сообщение от Lion- Посмотреть сообщение
извени что не обяснил норм!! мне нужно круг в консоле и чтоб можна било менять его розмер, перемещать по екрану
Развидеть это! Может орфографию проверять перед постингом надо в принудительном порядке?

Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
07.04.2013, 14:17  [ТС]     Как нарисовать круг #9
Croessmah, и еще чтоб можна било задавать его цвет!
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
07.04.2013, 14:22     Как нарисовать круг #10
Цитата Сообщение от Lion- Посмотреть сообщение
задавать его цвет
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
#include <windows.h>
 
using namespace std;
enum ConsoleColor
{
    чёрный            ,
    синий             ,
    зелёный           ,
    голубой           ,
    красный           ,
    сиренивый         ,
    коричневый        ,
    светло_серый      ,
    тёмно_серый       ,
    светло_синий      ,
    светло_зелёный    ,
    светло_голубой    ,
    светло_красный    ,
    светло_сиренивый  ,
    жёлтый            ,
    белый
};
 
 
void SetColor(int Number_Color)
{
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdOut , (WORD) Number_Color);
}
Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
07.04.2013, 14:59  [ТС]     Как нарисовать круг #11
Starscream, можеш написать полностю прогу нужно круг в консоле и чтоб можна било менять его розмер, перемещать по екрану и еще чтоб можна било задавать его цвет!

Добавлено через 29 минут
Croessmah, напиши пожалуста!
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
07.04.2013, 16:12     Как нарисовать круг #12
Кривой вариант:
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
#include <windows.h>
#include <iostream>
 
int InputInteger(const char * str, int min, int max){
    int x;
    std::cout<<str;
    bool ErrorFlag;
    do{
        std::cin.clear();
        std::cin.ignore(std::cin.rdbuf()->in_avail());
        std::cin>>x;
        ErrorFlag=!std::cin.good() || x< min|| x>max;
        if(ErrorFlag){
            std::cout<<"Error. "<<str;
        }
    }while(ErrorFlag);
    std::cin.ignore(std::cin.rdbuf()->in_avail());
    return x;
}
 
int main(){
    HWND hWnd=GetConsoleWindow();
    HDC hDC=GetDC(hWnd);
    RECT temp;
    GetClientRect(hWnd,&temp);
    HDC hBufferDC=CreateCompatibleDC(hDC);
    HBITMAP hBufferBmp=CreateBitmap(temp.right,temp.bottom,1,32,NULL);
    HBITMAP hBufferBmpOld=(HBITMAP)SelectObject(hBufferDC,hBufferBmp);
    FillRect(hBufferDC,&temp,(HBRUSH)GetStockObject(WHITE_BRUSH));
    std::cout<<"Enter color:\n";
    int r,g,b;
    r=InputInteger("Enter R value[0,255]:",0,255);
    g=InputInteger("Enter G value[0,255]:",0,255);
    b=InputInteger("Enter B value[0,255]:",0,255);
    system("cls");
    HBRUSH hBrush=CreateSolidBrush(RGB(r,g,b));
    HPEN hPen=CreatePen(PS_SOLID,1,RGB(r,g,b));
    HBRUSH hOldBrush=(HBRUSH)SelectObject(hBufferDC,hBrush);
    HPEN hOldPen=(HPEN)SelectObject(hBufferDC,hPen);
    RECT circle={0,0,100,100};
    size_t step_h=3,step_v=3;
    while(!GetAsyncKeyState(VK_ESCAPE)){
        FillRect(hBufferDC,&circle,(HBRUSH)GetStockObject(WHITE_BRUSH));
        if(GetAsyncKeyState(VK_LEFT)){
            circle.left-=step_h;
            circle.right-=step_h;
        }
        if(GetAsyncKeyState(VK_RIGHT)){
            circle.left+=step_h;
            circle.right+=step_h;
        }
        if(GetAsyncKeyState(VK_DOWN)){
            circle.top+=step_v;
            circle.bottom+=step_v;
        }
        if(GetAsyncKeyState(VK_UP)){
            circle.top-=step_v;
            circle.bottom-=step_v;
        }
        Ellipse(hBufferDC,circle.left,circle.top,circle.right,circle.bottom);
        BitBlt(hDC,0,0,temp.right,temp.bottom,hBufferDC,0,0,SRCCOPY);
        Sleep(10);
    }
    SelectObject(hBufferDC,hOldBrush);
    SelectObject(hBufferDC,hOldPen);
    SelectObject(hBufferDC,hBufferBmpOld);
    DeleteObject(hBrush);
    DeleteObject(hPen);
    DeleteObject(hBufferBmp);
    DeleteDC(hBufferDC);
    ReleaseDC(hWnd,hDC);
    return 0;
}
Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
07.04.2013, 16:36  [ТС]     Как нарисовать круг #13
Croessmah, спс! но почему я сам не задаю цвет и не могу перемещать его?

Добавлено через 14 минут
Croessmah, все уже норм спс! а можеш переделать его на коло а не на круг?
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
07.04.2013, 16:45     Как нарисовать круг #14
Цитата Сообщение от Lion- Посмотреть сообщение
а можеш переделать его на коло а не на круг?
что такое коло?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 16:51     Как нарисовать круг
Еще ссылки по теме:

Как уместить круг и треугольник друг в друге? - C++
как правильно написать формулу? Известны площади круга и равностороннего треугольника. Определить: а) уместится ли круг в...

Как нарисовать на С++ 3D пистолет... - C++
Нарисовать на С++ 3D пистолет, который можно вращать(проверка на трехмерность), и за компанию , чтоб стрелял. Как это написать на Visual...

Как нарисовать полигон - C++
Помогите пожалуйста найти методички и материал для построения.

Как нарисовать окружность - C++
Подскажите, пожалуйста, как нарисовать окружность в Microsoft Visual C++ .:thank_you:

Как нарисовать восьмиугольник? - C++
не получается задать координаты 8-угольника( //--------------------------------------------------------------------------- ...


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

Или воспользуйтесь поиском по форуму:
Lion-
-1 / 1 / 0
Регистрация: 03.12.2012
Сообщений: 68
07.04.2013, 16:51  [ТС]     Как нарисовать круг #15
Croessmah, ну круг ето когда заполнено в нутри краской а коло ето когда только линия меняет цвет а в нутри прозрачно!
Yandex
Объявления
07.04.2013, 16:51     Как нарисовать круг
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru