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

Начертить 100 окружностей случайного диаметра и цвета - C++

Восстановить пароль Регистрация
 
slava9480
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 12
05.07.2014, 15:50     Начертить 100 окружностей случайного диаметра и цвета #1
Написать программу, которая вычерчивает на экране узор из 100 окружностей случайного диаметра и цвета.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2014, 15:50     Начертить 100 окружностей случайного диаметра и цвета
Посмотрите здесь:

C++ Нахождение радиуса, диаметра и центра графа
C++ Генерация случайного числа, максимально случайного
C++ Даны координаты центров n окружностей и их радиусы. Определить число пересекающихся окружностей
С++ Builder Циклы с условием (при вводе адреса цвета (например, 0 255 0) выдавать имя цвета) C++
C++ SFML 2.0 Выбор случайного цвета
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
05.07.2014, 18:14     Начертить 100 окружностей случайного диаметра и цвета #2
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 <Windows.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
HDC hDC = GetDC(GetConsoleWindow());
HPEN Pen = CreatePen(PS_SOLID, 0.1, RGB(255, 255, 255));
HGDIOBJ hpenOld;
 
//функция которая чертит наш круг
void drawCircle(int r, float x_, float y_)
{
    //используем уравнение окружности, выраженное через тригонометрию
    for (float j = 0; j <= 359; j++)
    {
        float x = x_ + r * cos(j);
        float y = y_ + r * sin(j);
        MoveToEx(hDC, x, y, NULL);
        x = x_ + r * cos(j + 1);
        y = y_ + r * sin(j + 1);
        LineTo(hDC, x, y);
    }
}
 
int main()
{
    srand(time(NULL));
    SelectObject(hDC, Pen);
 
    //цикл для черчения 100 окружностей
    for (int i = 0; i < 100; i++)
    {
        //каждый раз меняем цвет пера
        Pen = CreatePen(PS_SOLID, 1, RGB(rand() % 255, rand() % 255, rand() % 255)); //логическое перо с заданным стилем, шириной и цветом
        hpenOld = (HPEN)SelectObject(hDC, Pen);
 
        //рисуем с рандомными координатами и радиусом
        drawCircle(rand() % 10 + 1, rand() % 600, rand() % 250 + 10);
    }
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
slava9480
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 12
06.07.2014, 11:16  [ТС]     Начертить 100 окружностей случайного диаметра и цвета #3
C++
1
2
3
4
MoveToEx(hDC, x, y, NULL);
        x = x_ + r * cos(j + 1);
        y = y_ + r * sin(j + 1);
        LineTo(hDC, x, y)
ошибку выдает.
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
06.07.2014, 11:47     Начертить 100 окружностей случайного диаметра и цвета #4
slava9480, Какая у тебя среда разработки - IDE? И что за ошибка? Их существует великое множество, но увы я не экстрасенс чтобы понять какая именно у тебя, поточнее можно?
slava9480
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 12
06.07.2014, 12:13  [ТС]     Начертить 100 окружностей случайного диаметра и цвета #5
Dev-C++
не знаю какие ошибки. я не разбираюсь в этом.

Добавлено через 3 минуты
43:2 C:\Users\Dell\Desktop\Новый текстовый документ.cpp [Warning] no newline at end of file
21 C:\Users\Dell\Desktop\Новый текстовый документ.cpp [Warning] passing `float' for converting 3 of `BOOL LineTo(HDC__*, int, int)'
21 C:\Users\Dell\Desktop\Новый текстовый документ.cpp [Warning] passing `float' for converting 2 of `BOOL LineTo(HDC__*, int, int)'
18 C:\Users\Dell\Desktop\Новый текстовый документ.cpp [Warning] passing `float' for converting 3 of `BOOL MoveToEx(HDC__*, int, int, tagPOINT*)'
18 C:\Users\Dell\Desktop\Новый текстовый документ.cpp [Warning] passing `float' for converting 2 of `BOOL MoveToEx(HDC__*, int, int, tagPOINT*)'
C:\Users\Dell\Desktop\Новый текстовый документ.cpp In function `void drawCircle(int, float, float)':
7 C:\Users\Dell\Desktop\Новый текстовый документ.cpp [Warning] passing `double' for converting 2 of `HPEN__* CreatePen(int, int, COLORREF)'
6 C:\Users\Dell\Desktop\Новый текстовый документ.cpp `GetConsoleWindow' was not declared in this scope
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
06.07.2014, 13:23     Начертить 100 окружностей случайного диаметра и цвета #6
slava9480, Главная проблема это "6 C:\Users\Dell\Desktop\Новый текстовый документ.cpp `GetConsoleWindow' was not declared in this scope", но всё как надо, проблем не должно быть, сейчас сам попытался нарисовать хоть что-то в Dev-C++, результат - куча ошибок. Для избавления от предупреждений, перед переменными, которые мы передаём в функцию можно добавить (int). Но вот как решить остальное я не знаю, советую поменять IDE. Используй Qt Creator или Visual Studio, там есть помощник синтаксиса, сразу подчёркивает ошибки и описывает их, для начинающих самое то.
slava9480
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 12
06.07.2014, 13:33  [ТС]     Начертить 100 окружностей случайного диаметра и цвета #7
а у тебя все работает?
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 82
06.07.2014, 14:20     Начертить 100 окружностей случайного диаметра и цвета #8
slava9480, В Visual Studio - всё работает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2014, 14:25     Начертить 100 окружностей случайного диаметра и цвета
Еще ссылки по теме:

Написать программу, которая вычерчивает на экране узор из 50 прямоугольников случайного размера и цвета C++
C++ Расчет площади, длины, диаметра окружности
C++ Расчет диаметра

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

Или воспользуйтесь поиском по форуму:
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,478
06.07.2014, 14:25     Начертить 100 окружностей случайного диаметра и цвета #9
Лучше создать приложение с формой.
Yandex
Объявления
06.07.2014, 14:25     Начертить 100 окружностей случайного диаметра и цвета
Ответ Создать тему
Опции темы

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