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

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

Войти
Регистрация
Восстановить пароль
 
VitoAcidrain
58 / 58 / 1
Регистрация: 11.03.2013
Сообщений: 191
#1

Круг в консоли - C++

03.06.2014, 21:30. Просмотров 417. Ответов 5
Метки нет (Все метки)

Всем привет!
Буду благодарен, если кто-нибудь сможет подсказать решение.
И так, имеется класс Circle, задается радиус и нужно отрисовать в консоли круг с помощью звездочек "*".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 21:30     Круг в консоли
Посмотрите здесь:

Написать программу, которая будет воспроизводить движущуюся графику в консоли, например, подвижной круг - C++
Написать программу, которая будет воспроизводить движущуюся графику в консоли, например подвижной круг. Реализовать через классы. Хотя бы...

круг - C++
Нужно вводить точку и что бы писало принадлежет ли она закрашеной области или нет

закрасить круг - C++
подскажите как можно нарисовать закрасить круг в borlandc

Круг и прямая - C++
Дорогие форумчане! Не откажите в помощи, если есть идеи по заданию. Алгоритм или небольшая помощь с кодом На плоскости заданы...

Круг, окружность в С++ - C++
Делаю в задачу в Visual Studio и тут не работает graphics.h. Не подскажите как можно создать окружность или круг? Нужно писать...

класс круг С++ - C++
Разработать класс "круг ", который определяется своим радиусом r. Класс должен владеть методами доступа к радиусу; методами определения...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2014, 21:37     Круг в консоли #2
см. алгоритм Брезенхема.
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
03.06.2014, 21:39     Круг в консоли #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <windows.h>
#include <conio.h>
void main()
{
    HWND hwnd;       
    char Title[1024];
    GetConsoleTitle(Title, 1024); // Узнаем имя окна
    hwnd=FindWindow(NULL, Title); // Узнаем hwnd окна
    RECT rc;
    GetClientRect(hwnd,&rc);
    int w=rc.right; // ширина окна
    int h=rc.bottom; // высота окна
    HDC hdc=GetDC(hwnd);    // Получаем контекст для рисования
    int R=100; // Радиус
    Ellipse(hdc,w/2-R,h/2-R,w/2+R,h/2+R);
    ReleaseDC(hwnd,hdc);    // Освобождаем контекст рисования
    _getch();
    
}
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2014, 21:46     Круг в консоли #4
zss,
Цитата Сообщение от VitoAcidrain Посмотреть сообщение
с помощью звездочек "*".
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
03.06.2014, 21:51     Круг в консоли #5
Tulosba, звездочками некрасиво, да и лень.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2014, 22:24     Круг в консоли
Еще ссылки по теме:

Треугольник, круг, прямоугольник - C++
Необходимо создать эти 3 фигуры, и вывести их на экран в консоли. Фигуры можно двигать. Дайте какие-нибудь рекомендации.

С++, круг минимального радиуса - C++
Помогите решить задачку: Заранее спасибо!

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

Направление движения (круг) - C++
Помогите сделать алгоритм GoDirection - это угол к которому нужно поворачиваться player.direction - это угол персонажа в данный момент ...

Треугольник и круг STL - C++
У меня такое задание по теме классы-контейнеры и классы-итераторы STL: Определите класс Triangle (треугольник) и класс Circle...

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


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

Или воспользуйтесь поиском по форуму:
VitoAcidrain
58 / 58 / 1
Регистрация: 11.03.2013
Сообщений: 191
03.06.2014, 22:24  [ТС]     Круг в консоли #6
Спасибо, что откликнулись!
Заметил ошибку в решении, которое сам пилил. Взгляд замылился и не заметил, что не дописал строчку.
Выкладываю решение моего вопроса. Может кому пригодится.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void circle::draw() {
    int x, y;
 
    cout << "Draw circle:\n\n";
 
    for (y = 0; y < 2 * circle_radius + 1; y++){
        for (x = 0; x < 2 * circle_radius + 1; x++){
            if ((int)hypot(abs(circle_radius - x), abs(circle_radius - y)) == circle_radius){ // Функция hypot вычисляет длину гипотенузы прямоугольного треугольника с заданной длиной двух сторон x и y.Вызов hypot эквивалентен следующему :sqrt(x*x + y*y);
                cout << "*";
            }
            else {
                cout << " ";
            }
        }
        cout << "\n";
    }
 
    cout << "\n";
}
Yandex
Объявления
03.06.2014, 22:24     Круг в консоли
Ответ Создать тему
Опции темы

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