Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2016, 02:02   #21
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Оооо! Говорящий компилятор! Чё курим? Я тоже такую траву хочу!
Вообще-то - компиль пишет сообщение об ошибках. При этом, указывает на строку с ошибкой. По твоему скриншоту, вообще ничего понять не возможно.
на скрине строка с ошибкой и указана
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 02.06.2016, 02:10   #22
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
на скрине строка с ошибкой и указана
Все гляделки проглядел, так и не увидел. Ладно, до завтра. Я сегодня пьянющий, чуть не в драбаданчик.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 02.06.2016, 07:57   #23
Романннн
Пользователь
 
Регистрация: 28.02.2016
Сообщений: 37
По умолчанию

то есть мне нужно вместо ссылки кинуть указатель?и вместо значения по умолчанию,просто передать его как фактический параметр в функцию?
Романннн вне форума Ответить с цитированием
Старый 02.06.2016, 11:13   #24
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Сообщение от Романннн Посмотреть сообщение
то есть мне нужно вместо ссылки кинуть указатель?и вместо значения по умолчанию,просто передать его как фактический параметр в функцию?
передавай по значению
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 02.06.2016, 21:52   #25
Романннн
Пользователь
 
Регистрация: 28.02.2016
Сообщений: 37
По умолчанию

не получается переделать:я убрал амперсанд и "= redColor"-я так понял это и было значение по умолчанию,но все равно не работает(но я думаю надо еще что то переделать,но не понимаю что?),может это легко,но я с графикой еще не работал,по этому просто теряюсь в коде(((
Романннн вне форума Ответить с цитированием
Старый 03.06.2016, 11:48   #26
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Сообщение от Романннн Посмотреть сообщение
не получается переделать:я убрал амперсанд и "= redColor"-я так понял это и было значение по умолчанию,но все равно не работает(но я думаю надо еще что то переделать,но не понимаю что?),может это легко,но я с графикой еще не работал,по этому просто теряюсь в коде(((
это печально
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 03.06.2016, 19:52   #27
Романннн
Пользователь
 
Регистрация: 28.02.2016
Сообщений: 37
По умолчанию

Код:
#include <windows.h>
#include <math.h>
#define ROUND(a) ((int)(a + 0.5))
/* set window handle */
static HWND sHwnd;
static COLORREF redColor = RGB(255, 0, 0);
static COLORREF blueColor = RGB(0, 0, 255);
static COLORREF greenColor = RGB(0, 255, 0);
void SetWindowHandle(HWND hwnd)
{
    sHwnd = hwnd;
}
/* SetPixel */
void setPixel(int x, int y, COLORREF color)
{
    if (sHwnd == NULL)
    {
        MessageBox(NULL, "sHwnd was not initialized !", "Error", MB_OK | MB_ICONERROR);
        exit(0);
    }
    HDC hdc = GetDC(sHwnd);
    SetPixel(hdc, x, y, color);
    ReleaseDC(sHwnd, hdc);
    return;
}
void ellipsePlotPoints(int xCenter, int yCenter, int x, int y)
{
    setPixel(xCenter + x, yCenter + y, 3);
    setPixel(xCenter - x, yCenter + y, 3);
    setPixel(xCenter + x, yCenter - y, 3);
    setPixel(xCenter - x, yCenter - y, 3);
}
void drawEllipse(int xCenter, int yCenter, int Rx, int Ry)
{
    int Rx2 = Rx * Rx;
    int Ry2 = Ry * Ry;
    int twoRx2 = 2 * Rx2;
    int twoRy2 = 2 * Ry2;
    int p;
    int x = 0;
    int y = Ry;
    int px = 0;
    int py = twoRx2 * y;
    ellipsePlotPoints(xCenter, yCenter, x, y);
    /* For Region 1 */
    p = ROUND(Ry2 - (Rx2 * Ry) + (0.25) * Rx2);
    while (px < py)
    {
        x++;
        px += twoRy2;
        if (p < 0)
        {
            p += Ry2 + px;
        }
        else
        {
            y--;
            py -= twoRx2;
            p += Ry2 + px - py;
        }
        ellipsePlotPoints(xCenter, yCenter, x, y);
    }
    /* For Region 2*/
    p = ROUND(Ry2 * (x + 0.5) * (x + 0.5) + Rx2 * (y - 1) * (y - 1) - Rx2 * Ry2);
    while (y > 0)
    {
        y--;
        py -= twoRx2;
        if (p > 0)
        {
            p += Rx2 - py;
        }
        else
        {
            x++;
            px += twoRy2;
            p += Rx2 - py + px;
        }
        ellipsePlotPoints(xCenter, yCenter, x, y);
    }
}
/* Window Procedure WndProc */
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_PAINT:
            SetWindowHandle(hwnd);
            drawEllipse(200, 200, 100, 50);
            break;
        case WM_CLOSE: // FAIL THROUGH to call DefWindowProc
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
        default:
            break; // FAIL to call DefWindowProc //
    }
    return DefWindowProc(hwnd, message, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow)
{
    static TCHAR szAppName[] = TEXT("Ellipse");
    WNDCLASS wndclass;
    wndclass.style = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc = WndProc;
    wndclass.cbClsExtra = 0;
    wndclass.cbWndExtra = 0;
    wndclass.hInstance = hInstance;
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    wndclass.lpszMenuName = NULL;
    wndclass.lpszClassName = szAppName;
    // Register the window //
    if (!RegisterClass(&wndclass))
    {
        MessageBox(NULL, "Registering the class failled", "Error", MB_OK | MB_ICONERROR);
        exit(0);
    }
    // CreateWindow //
    HWND hwnd = CreateWindow(szAppName, "Mid Point Ellipse Drawing - Programming Techniques",
        WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL,
        hInstance, NULL);
    if (!hwnd)
    {
        MessageBox(NULL, "Window Creation Failed!", "Error", MB_OK);
        exit(0);
    }
    // ShowWindow and UpdateWindow //
    ShowWindow(hwnd, iCmdShow);
    UpdateWindow(hwnd);
    // Message Loop //
    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    /* return no error to the operating system */
    return 0;
}
Романннн вне форума Ответить с цитированием
Старый 03.06.2016, 19:54   #28
Романннн
Пользователь
 
Регистрация: 28.02.2016
Сообщений: 37
По умолчанию

что это?пытаюсь скомпилить,но вот:
Романннн вне форума Ответить с цитированием
Старый 03.06.2016, 19:58   #29
Романннн
Пользователь
 
Регистрация: 28.02.2016
Сообщений: 37
По умолчанию

кстати здесь можно как нибудь выкладывать код с номерами строк?
Романннн вне форума Ответить с цитированием
Старый 03.06.2016, 22:10   #30
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Романннн, встроенной возможности не знаю, так что можно так.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите дописать прогу wall33 C++ Builder 21 18.12.2015 11:58
Паскаль Не получаеться дописать прогу помогите ПЛИЗ ученик91 Помощь студентам 3 08.12.2009 19:50
Помогите дописать прогу на делфи fox7 Помощь студентам 3 16.06.2007 23:44