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

консольная графика - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Текстовый файл - как ресурс http://www.cyberforum.ru/cpp-beginners/thread912043.html
Не будем тянуть кота за яица, так что вопрос в следующем - как включить текстовый файл в конечный исполняемый файл, и плюс как его использовать в функциях. Допустим есть файл содержащий тристо ячеек в каждой по пятьдесят строк, не загружать же весь файл в оперативную память, нужен метод который будет с ним работать, в общем объясните, пожалуйста мне, нубу. Есть подозрение, что то о чем я...
C++ Двумерные массивы. Определить массив Х из 5 элементов по правилу Дана матрица А(5х5). Определить массив Х из 5 элементов, каждый из которых равен среднему арифметическому элементов строки и столбца, на пересечении которых находится соответствующий элемент побочной диагонали. Определить величину Y, как произведение четных элементов, расположенных после наименьшего элемента массива X. Помогите пожалуйста решить задачу http://www.cyberforum.ru/cpp-beginners/thread912040.html
virtual void execute()=0 C++
ребят,скажите пожалуйста что значит эта за строчка virtual void execute()=0 ???для чего она нужна?и что она вообще делает?
C++ класс список
Всем привет. В качестве задания было необходимо реализовать односвязный список. И вот в итоге что получилось: my_list.h #ifndef _MY_LIST_H_ #define _MY_LIST_H_ #include <cstdlib>
C++ Наследование,порождение объектов http://www.cyberforum.ru/cpp-beginners/thread912028.html
Помогите,пожалуйста.Задача состоит в том,что даны точка->квадрат->параллелограмм одно порождается от другого.Point-точка,Kv-квадрат,Par-пар-м.У точки изначально присутствуют две координаты.Нужно добавить св-ва квадрата и пар-ма,как это сделать я не совсем догоняю. у квадрата появится длина и высота,а у пар-ма угол.Подскажите #include "stdafx.h" class Point{ public: double x; double y;
C++ Отладка порожденного процесса Очень сильно не хватает эрудированности по этой теме. Делаю вот так: Пытаюсь запустить CreateProcess'ом процесс, процесс запускается, лезу в Attach to Process и, к сожалению, вижу порождённый процесс, но серого цвета, не могу его выделить (т.е. выделить могу, не могу подтвердить). Я подозреваю, что при собирании дочернего процесса я где-то не поставил галочку или не переключил режимы, для... подробнее

Показать сообщение отдельно
pa3k
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 3

консольная графика - C++

25.06.2013, 23:21. Просмотров 710. Ответов 1
Метки (Все метки)

Помогите, пожалуйста, с графикой.
Не выводит на экран рисунок.


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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# include <graphics.h>
# include <conio.h>
# include <iostream.h>
# include <stdlib.h>
 
# include <stdio.h>
 
//ввод массива
void generateArray(int array[])
{
  randomize();
  for(int i=0; i<20; i++)
    array[i]=random(15);
}
 
 
//рисовка элемента массива
void drawArray(int array[])
{
  int dr=DETECT, mod, err, k;
  initgraph(&dr,&mod, " ");
  err=graphresult();
  if(err)
  {
    cout<<"error initgraph "<<grapherrormsg(err);
    exit(1);
  }
  setcolor(15);
  for(int i=0; i<20; i++)
  {
   // cout<<array[i]<<" ";
    setfillstyle(SOLID_FILL, i+1);
    bar(20+30*i, 455-20*array[i], 50+30*i-1, 455);
  }
  //cout<<"\r\n";
  closegraph();
}
 
void showMessage(int x, int y, char str[])
{
  int dr=DETECT, mod, err, k;
  initgraph(&dr,&mod, " ");
  err=graphresult();
  if(err)
  {
    cout<<"error initgraph "<<grapherrormsg(err);
    exit(1);
  }
  setcolor(5);
  outtextxy(x, y, str);
  closegraph();
}
 
 
 
//вывод сообщения
void printText(int x, int y, char str[])
{
  gotoxy(x,y);
  cprintf(str);
}
 
 
//перестановка элементов
void exchangeValue(int *value1, int *value2)
 {
  int tmp = *value2;
  *value2 = *value1;
  *value1 = tmp;
}
 
 
//сортировка
void sortArray(int array[])
{
  for(int j=0; j<20; j++)
    for(int i=0; i<19; i++)
      if(array[i] < array[i+1])
      {
    drawArray(array);
    getch(); // пауза, для отображения процесса сортировки
    exchangeValue(&array[i], &array[i+1]);
      }
  drawArray(array);
  getch();
}
 
 
void setDefaultColor()
{
  textcolor(7);
  textbackground(0);
}
 
void setMarkerColor()
{
  textcolor(15);
  textbackground(4);
}
 
int menuSelect()
{
  int key; //код нажатой клавиши
 
  //строковый массив с названиями строк меню
  char *menuText[5]={
     "1. Mission:",
     "2. Original array",
     "3. Sorting an array",
     "4. Clear screen!",
     "5. exit!"
     };
 
  int pos=0; //начальная позиция планки = 0
  setMarkerColor();
  printText(2, 1, menuText[pos]); //установили планку на начальную строку
  setDefaultColor();
  for(int i=1; i<5; i++)
    printText(2, 1+i, menuText[i]);
 
 
  while(1)  //Цикл обработки нажатия клавиши
  {
    key=getch(); //Получим код клавиши
 
    switch(key)
    {
      case 80: { //Если была нажата стрелка вниз
         printText(2, 1+pos, menuText[pos]); //Восстанавливаем предыдущее местоположение в нормальный незакрашенный вид
         if (pos<4) pos++; //Если пункт не последний, спускаемся ниже
         else pos=0;       //Если пункт меню последний, переходим опять на первый
         setMarkerColor();
         printText(2, 1+pos, menuText[pos]); //Закрашиваем планочкой новое место
         setDefaultColor();
         break;
           }
 
 
      case 72: { //Если стрелка вверх
         printText(2, 1+pos, menuText[pos]);
         if (pos>0) pos--;
         else pos=4;
         setMarkerColor();
         printText(2, 1+pos, menuText[pos]);
         setDefaultColor();
         break;
           }
 
      case 13: return pos; //Если Enter
 
      //case 27: return 4;   //Если надо по Esc выйти 
    }
  }
}
 
 
void main()
{
  clrscr();
 
  int array1[20]; // исходный массив
  int array2[20]; // отсортированный массив
  int select;     // выбранный пункт меню
 
  while(1)
  {
    select=menuSelect();
    switch(select)
    {
      case 0: {
        printText(2, 10, "Given an array of numbers from 20 pieces. Arrange numbers in descending order.");
        printText(3, 11, "use graphics for visualize the process of arrangement.");
        getch();
        break;
          }
 
      case 1: {
        generateArray(array1);
        drawArray(array1);
        getch();
        break;
          }
 
      case 2: {
        for(int i=0; i<20; i++) { array2[i]=array1[i];
        sortArray(array2);
        break;
        getch(); }
        showMessage(310,30, "Sorting is over!");
          }
 
      case 3: {
        clrscr();
        break;
          }
 
      case 4: exit(0); //Выйти из программы
    }
  }
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru