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

Вывести график функции в консоли - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Di3go
Аноним
 Аватар для Di3go
3 / 3 / 2
Регистрация: 15.12.2013
Сообщений: 134
12.02.2014, 00:27     Вывести график функции в консоли #1
Здравствуйте. Я пишу программу. Нужно вывести график функции в консоли. Помню, писал на Dev-C++ это. Там был хедер graphics.h(простой был. Писать на нем - одно удовольствие). В VS я не нашел. Есть какой-то GdiPlusGraphics.h. Но это, походу, не то. Какими средствами можно написать программу? Чтобы было красиво и "писабельно".
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
12.02.2014, 00:39     Вывести график функции в консоли #2
graphics.h - это что-то с древних досовских времен. на сколько я знаю сейчас нормального способа нет.
сплошные хаки вроде такого:
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
#include <iostream>
#include <windows.h>
 
int main()
{
  HWND hwnd = GetConsoleWindow();
  HDC hdc = GetDC(hwnd);
 
  const unsigned pressedMask = 1u << sizeof(SHORT) * 8;
  while (true)
  {
    const unsigned state = static_cast<unsigned>(GetKeyState(VK_LBUTTON));
    //if (pressedMask & state) // if pressed
    {
      POINT cursorPos;
      GetCursorPos(&cursorPos);
      ScreenToClient(hwnd, &cursorPos);
      SetPixel(hdc, cursorPos.x, cursorPos.y, RGB(255, 255, 255));
    }
    Sleep(10);
  }
 
  ReleaseDC(hwnd, hdc);
 
  return 0;
}
рисует до первой перерисовки окна, да и то не всегда если верить тому, что тут написано:
Получение дескриптора консольного окна

Если такое устраивает, то берите семейство этих функций работы с GDI и вперед:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

может есть какие-то сторонние либы, но мне они не известны.
Di3go
Аноним
 Аватар для Di3go
3 / 3 / 2
Регистрация: 15.12.2013
Сообщений: 134
12.02.2014, 00:43  [ТС]     Вывести график функции в консоли #3
DU, Спасибо. Тогда я буду штудировать мателиал.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
12.02.2014, 00:50     Вывести график функции в консоли #4
Цитата Сообщение от Di3go Посмотреть сообщение
Нужно вывести график функции в консоли.
а зачем?
чем окна то не устроили?

Добавлено через 1 минуту
Цитата Сообщение от DU Посмотреть сообщение
SetPixel(hdc, cursorPos.x, cursorPos.y, RGB(255, 255, 255));
ужасно тормознутая функция
Di3go
Аноним
 Аватар для Di3go
3 / 3 / 2
Регистрация: 15.12.2013
Сообщений: 134
13.02.2014, 00:17  [ТС]     Вывести график функции в консоли #5
ValeryS, Мне нужно в консоли. Во-первых, я только учу С++ и с окнами мне пока сложновато разобраться. Во-вторых, полезно для саморазвития кагбэ.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
13.02.2014, 00:21     Вывести график функции в консоли #6
если сильно хочется с повозится с азами виндовых окон, то вот хорошая книга для этого:
Программирование в Windows 95
Автор: Ч. Петзолд

Но знания врятли сильно пригодятся. Лучше осваивать что-нибудь кроссплатформенное. Тот же Qt.
Там с окнами да и не только все сильно сильно проще.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
13.02.2014, 00:44     Вывести график функции в консоли #7
Цитата Сообщение от Di3go Посмотреть сообщение
Во-первых, я только учу С++ и с окнами мне пока сложновато разобраться.
Не сложней чем с консолью
консоль для графиков не предназначена, посему если и сделаешь то получишь не переносимый код
да и знаний тебе это не добавит
Цитата Сообщение от DU Посмотреть сообщение
HWND hwnd = GetConsoleWindow();
* HDC hdc = GetDC(hwnd);
сильно понятно?
что такое дескриптор окна, рисования
Цитата Сообщение от DU Посмотреть сообщение
GetCursorPos(&cursorPos);
* * * ScreenToClient(hwnd, &cursorPos);
* * * SetPixel(hdc, cursorPos.x, cursorPos.y, RGB(255, 255, 255));
а это?
это чисто виндовые функции так называемое WinApi
так что если ты не создал окна то это не значит что не используешь функции WinApi

Цитата Сообщение от Di3go Посмотреть сообщение
я только учу С++
тут я наверное поддержу
Цитата Сообщение от DU Посмотреть сообщение
Тот же Qt.
взяв в руки учебник уже концу дня сможешь сделать красивую програмку
Di3go
Аноним
 Аватар для Di3go
3 / 3 / 2
Регистрация: 15.12.2013
Сообщений: 134
13.02.2014, 23:43  [ТС]     Вывести график функции в консоли #8
ValeryS, Спасибо. Буду изучать) Жаль, что Intellisense не фурычит в VS. Надо будет качнуть QT, но пока с интернетом дефицит)
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
13.02.2014, 23:46     Вывести график функции в консоли #9
Цитата Сообщение от Di3go Посмотреть сообщение
VS. Надо будет качнуть QT,
Qt!!!!
есть Qt Creator а есть и прилуда для VS т.е будешь сидеть в той же IDE только проекты другие
хотя учебники чаще всего под Qt Creator
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2014, 23:49     Вывести график функции в консоли
Еще ссылки по теме:

C++ Нужно вывести на экран график функции, какой язык использовать?
C++ График функции в консоли
Как вывести на экран график функции в виде таблицы? C++

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

Или воспользуйтесь поиском по форуму:
Di3go
Аноним
 Аватар для Di3go
3 / 3 / 2
Регистрация: 15.12.2013
Сообщений: 134
13.02.2014, 23:49  [ТС]     Вывести график функции в консоли #10
ValeryS, Да я скачаю Qt Creator. Это занимает немного(20-30мб), а вот библиотеки...но без них никак
Yandex
Объявления
13.02.2014, 23:49     Вывести график функции в консоли
Ответ Создать тему
Опции темы

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