Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/56: Рейтинг темы: голосов - 56, средняя оценка - 4.50
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 392
1

Нарисовать круг в консоли

13.04.2015, 23:04. Показов 11113. Ответов 11
Метки нет (Все метки)

Подскажите как нарисовать круг в консоли? Нужно ли использовать библиотеку <graphics.h>?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2015, 23:04
Ответы с готовыми решениями:

Как нарисовать простой круг
Как работать с графикой на Си? Заголовочный файл graphics.h подключить не удаётся. Какими...

Нарисовать на экране круг зеленого цвета, который движется по горизонтали
&quot;Нарисовать на экране круг зеленого цвета, который движется по горизонтали, при достижении границы...

Как нарисовать таблицу в консоли?
Доброго времени суток. Можно ли в C на скорую руку реализовать таблицу (чтобы при запуске символы...

Как можно нарисовать ровный круг в консоли?
Всем привет! Делаю проект на 1 курсе. Для начала нужно понять, как нарисовать в консоли круг или...

11
1773 / 751 / 153
Регистрация: 03.06.2009
Сообщений: 5,482
14.04.2015, 09:18 2
https://ru.wikipedia.org/wiki/... 0%BC%D0%B0
Нарисовать можно звездочками, но из-за прямоугольных пропорций символов получится эллипс.
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 392
14.04.2015, 09:54  [ТС] 3
а при помощи <graphics.h> можно?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
29990 / 16467 / 3334
Регистрация: 12.02.2012
Сообщений: 27,402
Записей в блоге: 5
14.04.2015, 10:43 4
Цитата Сообщение от yura0103 Посмотреть сообщение
а при помощи <graphics.h> можно?
- не думаю. Только в DOS-е
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 392
14.04.2015, 10:53  [ТС] 5
Мне нужно нарисовать несколько геометрических фигур разного цвета и в методичке указана эта библиотека
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
29990 / 16467 / 3334
Регистрация: 12.02.2012
Сообщений: 27,402
Записей в блоге: 5
14.04.2015, 11:16 6
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
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
 
#define RED RGB(255,0,0)
 
int main(int argc, char *argv[])
{
  
   HWND    hWnd = GetForegroundWindow();
   COORD   P  = {0};
   RECT    pRECT= {0};
   
   GetClientRect(hWnd,&pRECT);
   
   HPEN    RPEN = CreatePen(PS_SOLID, 2, RED);
 
   HDC hDC = GetWindowDC(hWnd);
 
   SetBkMode(hDC,TRANSPARENT);
  
   P.X=100;
   P.Y=100;
   
   EXTLOGPEN pINFO;
   
   GetObject(RPEN,sizeof(EXTLOGPEN),&pINFO);
   
   SelectObject(hDC,RPEN);
   
   Ellipse
        (
                hDC,
                P.X - 30,
                P.Y + 30,
                P.X + 30,
                P.Y - 30 
        );
   
  system("PAUSE");  
  return 0;
 
}
Миниатюры
Нарисовать круг в консоли  
0
Падаван С++
445 / 259 / 89
Регистрация: 11.11.2014
Сообщений: 905
15.04.2015, 02:50 7
Catstail, Может быть имелось ввиду создать графическое окно и нарисовать в нем круг
По теме, если все же рисовать нужно в графическом окне то :
C
1
2
3
4
int x = 100, y = 100, r = 50;
initwindows(800,600);
setcolor(1);
circle(x,y,r);
Ну с увереностью сказать не могу библиотеки нет, но как то так, ну или можно написать функцию рисования круга, если это имелось ввиду :
C
1
2
3
4
5
6
7
8
9
void circle(int x0, int y0, int R)
{
    for(float angle = 0; angle < 6.4; angle += 0.01)
    {
        int x = R * cosf(angle);
        int y = R * sinf(angle);
        drawDot(x + x0, y + y0);
    }
}
Где функция drawDot просто рисует точку по координатам.
Можно еще воспользоваться алгоритмом Брезенхема для рисования окружности, если будет желание почитайте
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
void simpoints(int x0, int y0, int x, int y)
{
    drawDot(x0 + x, y0 + y);
    drawDot(x0 - x, y0 + y);
    drawDot(x0 + x, y0 - y);
    drawDot(x0 - x, y0 - y);
    drawDot(x0 + y, y0 + x);
    drawDot(x0 - y, y0 + x);
    drawDot(x0 + y, y0 - x);
    drawDot(x0 - y, y0 - x);
}
void DrawCircle(int x0, int y0, int R)
{
    int x = 0, y = R;
    int d = 3 - 2 * R;
    do
    {
        simpoints(x0, y0, x, y);
        if (d < 0)
        {
            d = d + 4 * x + 6;
            x = x + 1;
        }
        else
        {
            if (d >= 0)
            {
                d = d + 4 * (x - y) + 10;
                x++;
                y--;
            }
        }
    } while (x < R/sqrt(2.0));
 
}
0
6 / 6 / 4
Регистрация: 20.10.2014
Сообщений: 392
15.04.2015, 09:27  [ТС] 8
Не подскажете как подключить библиотеку (откуда скачать ) для графического окна
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
29990 / 16467 / 3334
Регистрация: 12.02.2012
Сообщений: 27,402
Записей в блоге: 5
15.04.2015, 12:54 9
obivan, это код не для DOS?
0
Падаван С++
445 / 259 / 89
Регистрация: 11.11.2014
Сообщений: 905
16.04.2015, 18:04 10
Catstail, Ммм, ну примеры для окружности я немного переделал из OpenGL, но суть от этого не поменяеться, а по поводу кода для DOS, разве graphics.h только с ним работает, мы в университете тоже немного касались этой темы, и делали не под DOS.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
29990 / 16467 / 3334
Регистрация: 12.02.2012
Сообщений: 27,402
Записей в блоге: 5
16.04.2015, 18:15 11
Цитата Сообщение от obivan Посмотреть сообщение
мы в университете тоже немного касались этой темы, и делали не под DOS.
- не буду настаивать.
0
Заблокирован
17.04.2015, 02:53 12
Цитата Сообщение от yura0103 Посмотреть сообщение
а при помощи <graphics.h> можно?
В TurboC - родная среда для этой библиотеки
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2015, 02:53

Круг в консоли
Всем привет! Буду благодарен, если кто-нибудь сможет подсказать решение. И так, имеется класс...

Круг в консоли
Задание:консольное приложение для отрисовки круга в консоли определенным символом. Входные...

Как создать в консоли круг?
Помогите пожалуйста

Нарисовать круг
помогите нарисовать круг


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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