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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 164, средняя оценка - 4.85
rinat19
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 4
15.11.2008, 13:42     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #1
Help!!!!
Нужно нарисовать прямоугольник, чтобы верхний левый угол был расположен в точке (50;50), а правый нижний - в точке (100;100).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2008, 13:42     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке
Посмотрите здесь:

C++ Мышь откидывает в левый угол(windows.h)
C++ Путём перестановки элементов матрицы поместить её максимальный элемент в левый верхний угол
Путем перестановок строк и столбцов (целиком) элемент надо переместить в правый верхний угол подмассива (Перевести программу в c++) C++
C++ Путем перестановок строк и столбцов элемент переместить в правый верхний угол подмассива (С Turbo Pascal на C++)
Движение по шахматной доске коня (с левого нижнего угла в верхний правый угол) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
15.11.2008, 15:03     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #2
WinAPI?MFC?Direct3D?OpenGL?еще что-нибудь?
rinat19
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 4
15.11.2008, 15:15  [ТС]     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #3
Прямоугольник нарисовать в С++ как вообще это сделать??? какую библиотеку подключить или какой оператор использовать????
kapriz0n
 Аватар для kapriz0n
20 / 20 / 2
Регистрация: 26.10.2008
Сообщений: 77
15.11.2008, 17:19     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #4
Прямоугольник нарисовать в окне DOS? Даже самый простой это просто нарисовать циклами символы по горизонтали и вертикали, а потом текст вписывать с помощью SetConsoleCursorPosition()... но это под CLR, так же можно и поверх лепить, но это нужно почитать, помню какаято структура специальная прямоугоьники рисовала, но я предпочитал сам рисовать, я новичек... но всеровно уточни где тебе именно нужно нарисовать..
rinat19
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 4
15.11.2008, 17:30  [ТС]     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #5
полностью задачка такая:
Составить программу для управления размерами прямоугольника и его положением на экране. Левый верхний угол исходного прямоугольника расположен в точке (50;50), а правый нижний - в точке (100;100). Управление выполняется клавишами:
">" увеличивает ширину прямоугольника на 5 точек;
"<" уменьшает ширину прямоугольника на 5 точек;
"+" увеличивает высоту прямоугольника на 5 точек;
"-" уменьшает высоту прямоугольника на 5 точек;
клавиши управления курсором вызывают перемещение прямоугольника в соответствующем направлении;
"ввод" завершает программу.

Помогите кому не сложно!
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
15.11.2008, 17:40     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #6
Цитата Сообщение от rinat19 Посмотреть сообщение
полностью задачка такая:
Составить программу для управления размерами прямоугольника и его положением на экране.
На экране...хм,а какая операционная система еще расположена на этом экране?
Левый верхний угол исходного прямоугольника расположен в точке (50;50), а правый нижний - в точке (100;100).
Если ОС виндоус - координаты отсчитываются относительно окна,или вернехго левого угла монитора,или,скажем,курсора мыши?Координаты не имеют смысла без точки отсчета,как многие знают...[/quote]

А так же. Какие АПИ можно(нужно)использовать? Какая ОС? Консольное/оконное приложение? может,вообще полноэкранное?
kapriz0n
 Аватар для kapriz0n
20 / 20 / 2
Регистрация: 26.10.2008
Сообщений: 77
15.11.2008, 18:10     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #7
Все что могу предложить на скорую это программу на C++
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <iostream>
#include<windows.h>
#include<conio.h>
using namespace std;
 
class Interface
{
private: 
    COORD A;
    COORD B;
    char simvol;
    WORD COLOR;
    WORD BKCOLOR;
    HANDLE consol;
 
public:
    
    
    
    void Box(char G_simvol,char V_simvol,int A_x,int A_y,int kol_G,int kol_V,  // требуется ввод
        WORD G_COLOR=7, WORD G_BKCOLOR=0,WORD V_COLOR=7, WORD V_BKCOLOR=0) //можно пользоваться по умолчанию не изменяя как есть
    {   
        //             ПРЯМОУГОЛЬНИК
        //G_simvol - символ для вертикальной линии
        //V_simvol - символ для горизонтальной линии
        //A_x      - начальные координаты прямоугольника X
        //A_y      - начальные координаты прямоугольника Y
        //kol_G    - количество символов по горизонтали
        //kol_V,   - количество линий по вертикали
        // G_COLOR=7 G_BKCOLOR=0 цвета по горизонтали символов и фона
        // V_COLOR=7 V_BKCOLOR=0 цвета по вертикали символов и фона
 
        
        HANDLE consol=GetStdHandle(STD_OUTPUT_HANDLE); 
        
        COORD pos_A;
        
 
 
 
       
        pos_A.X=A_x;
        pos_A.Y=A_y;
        
        
        
        int i=0;// горизонтальная верхняя линия
 
        while(i<kol_G)
        {
        SetConsoleCursorPosition(consol,pos_A);
        SetConsoleTextAttribute(consol, G_COLOR | G_BKCOLOR);
        cout<<G_simvol;
        i++;
        pos_A.X++;
        }
 
        i=0;// вертикальная левая линия
        pos_A.X=A_x;
        pos_A.Y=A_y+1;
 
        while(i<kol_V) 
        {
        SetConsoleCursorPosition(consol,pos_A);
        SetConsoleTextAttribute(consol, V_COLOR | V_BKCOLOR);
        cout<<V_simvol;
        i++;
        pos_A.Y++;
        }
 
        i=0;// горизонтальная нижняя линия
        pos_A.X=A_x;
        pos_A.Y=A_y+kol_V+1;
 
        while(i<kol_G)
        {
        SetConsoleCursorPosition(consol,pos_A);
        SetConsoleTextAttribute(consol, G_COLOR | G_BKCOLOR);
        cout<<G_simvol;
        i++;
        pos_A.X++;
        }
 
        i=0;// вертикальная правая линия
        pos_A.X=A_x+kol_G-1;
        pos_A.Y=A_y+1;
 
        while(i<kol_V) 
        {
        SetConsoleCursorPosition(consol,pos_A);
        SetConsoleTextAttribute(consol, V_COLOR | V_BKCOLOR);
        cout<<V_simvol;
        i++;
        pos_A.Y++;
        }
 
        COORD pos_B;
        pos_B.X=1;
        pos_B.Y=1;
        SetConsoleTextAttribute(consol, 7 | 0 );
        SetConsoleCursorPosition(consol,pos_B);
 
    }
};
    void main()
{
    setlocale (LC_CTYPE,"rus"); // подключение русского языка
     int x=5,y=5,nx=20,ny=30,g; // стартовая позиция
    Interface Line;
    while(1)
    {
 
        Line.Box('-','|',x,y,nx,ny);
        g=getch();
        if(g=='1') nx+=5;
        else if(g=='2') nx-=5;
        else if(g=='3') ny+=5;
        else if(g=='4') ny-=5;
        else if(g=='5') break;
        else cout<<"Не те кнопки нажаты\n";
        system("cls");
    }
// управление клавишами 1 2 3 4 
// выход выход из программы 5
}
rinat19
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 4
22.11.2008, 18:54  [ТС]     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #8
kapriz0n спасибо большое за программу, только компилятор 1 ошибку выдает а найти не могу!!!!
Если в dos программируешь, то как задавать координаты???
kapriz0n
 Аватар для kapriz0n
20 / 20 / 2
Регистрация: 26.10.2008
Сообщений: 77
22.11.2008, 22:26     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #9
Странно, интересно какая именно ошибка напиши её. Я перепроверил у меня работает
Прога написана в Win32 Console Application
Затем ставишь пустой проект, это птичка Empty progect в окне после нажатия next,
присоединяешь .cpp и туда копируешь...
Line.Box('-','|',x,y,nx,ny); это для тебя главное... класс так написан, что
'-' это символ по горизонтали, можешь задать любой но в ковычках
'|' по вертикали
x,y это начало координат точки верхней вершины прямоугольника т е точка "A"
nx,ny это расстояние, как бы точка "B" но оно модефицировано ведь растояние будет так вычесляться это "B-A" так вот здесь оно не нужно хотя можешь переписать это просто изменить...
все переделывается на координаты в самом классе тебе же нужно просто внести int значения и все, а да там есть цвета линий и заднего фона, так вот их можно вписывать тоже в main но они заданы по умолчанию поэтому можно и не писать, но если захочешь изменить просто допиши в main в самом Line.Box цветики, вообщемто возле класса они описаны. У меня все работает писал в Visual C++.
lotos1391
Сообщений: n/a
03.01.2009, 11:47     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #10
А как нарисовать сферу на трех осях?
Nuenda
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 5
19.09.2011, 21:05     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #11
У меня тоже ошибку выдает)не может файл найти. где взять?
Cannot open include file: 'windows.h': No such file or directory
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.09.2011, 10:06     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #12
Nuenda, В windows...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 01:47     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке
Еще ссылки по теме:

C++ Построить прямоугольник с центром в точке (xc, yc), высотой h и шириной w
Переместить самый максимальный элемент массива в левый верхний угол C++
Переставляя строки и столбцы матрицы, перенести ее минимальный элемент в левый верхний угол C++

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

Или воспользуйтесь поиском по форуму:
Dewi1
0 / 0 / 0
Регистрация: 25.02.2012
Сообщений: 4
16.04.2012, 01:47     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке #13
kapriz0n

Ошибка в 106 строке, нужно написать: int main (void)
Yandex
Объявления
16.04.2012, 01:47     Нарисовать прямоугольник, чтобы верхний левый угол был расположен в заданной точке
Ответ Создать тему
Опции темы

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