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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
Rudnik
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 19
#1

Графика в С++ в принципе - C++

16.11.2013, 14:06. Просмотров 2260. Ответов 59
Метки нет (Все метки)

Я новичек. Вернее сказать: очень новичек. Решил изучить С++ и попробовать программирование. В качестве хобби. Странное хобби конечно, но так. У моей жены,например, хобби расчищать снег перед моей машиной,даже когда это мне не нужно и никто это странным не находит. Так чем мое хобби хуже? Я нашел кучу литературы. Одну книгу, С. Прата, даже дочитал до конца (остальные просмотрел). Все понял (или мне так показалось), решил несколько упражнений разной сложности, программируя в консольном приложении. Поскольку это хобби, я решил решить сразу большую задачу: написать приложение для составления различных протоколов, актов, результатов замеров и.т.д. с архивацией, выводом на печать, возможностью корректировки и.т.д. Поскольку я новичек, то решил, что это вообщем не сложно и ООП, как раз для этого подходит. И тут возникла первая трудность, которую я не могу решить уже две недели. А именно начало. По мысли все должно начинаться так:при запуске программы--цветная заставка с кнопками меню, затем выпадающее меню и дальше... как бог пошлет. Но при запуске консольного приложения выскакивает маленькое черное окошечко в котором выполняется программа. И как в нем реализовать мои грандиозные планы неясно. Я задавал этот вопрос на разных форумах и все ответы можно разделить на два:1. Это как то по другому 2.Иди в жопу (учи мат.часть). Но влюбой книге (мат.части) сказано: прочитай меня без графики, а графика это уже проще. Копаясь в интернете я выяснил, что есть две возможности:1.Преревести экран в графический режим и рисовать с помощью функций. 2. Использовать OpenGL, DirectX, Win32API и.т.д. По поводу первого способа: я понял, что это устаревший вариант и сейчас так сделать нельзя. По повод второго способа, я столкнулся с рядом трудностей: во-первых мой компилятор(IDE) (code::blocks) поддерживает не все варианты, т.е. проекты такие есть, но проблемы с библиотеками и заголовочными файлами, а менять code::blocks на что-нибудь другое не хотелось бы. Во вторых я так и не нашел соответствующей литературы, где бы четко и ясно (как в учебниках по С++) разъяснялось, как это делается в ПРИНЦИПЕ, с самого начала. Если бы кто-нибудь из опытных(или не очень) гуру пояснил бы мне с чего начать(или начальную литературу) или подсказал иной вариант или способ, я был бы очень рад и благодарен.

С уважением Новичок
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2013, 14:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Графика в С++ в принципе (C++):

Не могу разобраться в принципе работы цикла - C++
1. как в данном случае работает цикл for без третьего условия? for(i=0; s ; ) { for(;s&&s==' ';i++); if(s) {....}}2. Чему у нас...

Разобраться в принципе работы задачч. (Работа с динамической памятью через указатели. ) - C++
Вот условие задачи: Создать массив из N целых чисел, N вводит пользователь. Заполнить массив случайным образом в диапазоне от 1 до 12....

Не могу разобраться в принципе работы цикла - C (СИ)
1. как в данном случае работает цикл for без третьего условия? for(i=0; s ; ) { for(;s&&s==' ';i++); if(s) {....}}2. Чему у нас...

Как круг вписать в массив и возможно ли в принципе? - MathCAD
Создал массив данных получил 3D изображение двух четырёхгранников соединённых вместе . хочу в месте где они соединены поставить круг вместо...

Можно ли в принципе максимально апгредейдить эту мать - Материнские платы
материнка Epox EP-4PEA9(I) (5 PCI, 1 AGP, 2 DDR DIMM, Audio) с чипсетом Intel Brookdale i845PE-W83627. Не могу ни как найти однозначного...

Можно ли в принципе максимально апгредейдить эту мать - Апгрейд компьютера
Старенький - да, но работает и родной!))) Системная плата Epox EP-4PEA9(I), подробно во вложениях. Есть желание просто поднять по максимуму...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
castaway
16.11.2013, 21:17     Графика в С++ в принципе
  #16

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Коллега, а нельзя ли повежливей?
Я не хотел никого обидеть, просто высказал своё мнение

0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,456
16.11.2013, 21:36 #17
Цитата Сообщение от Крюгер Посмотреть сообщение
как на счет C#
1. Плохо знаю. Считай - никак.
2. Не кроссово
3. Само название не очень нравится. В названии "Мы - Си!!!(#)" И синтаксис похож. Но это - совершенно другой язык! И вот выезжать на популярности действительно удачного продукта - не шибко камильфо. То же я самое могу сказать и по поводу тов.Страусструппа.
Впрочем, тут мы уже вступаем на тропу священных войн, скоро тему прикроют, а нас всех забанят
Тем не менее, помочь топик-стартеру почему-то хочется.

Добавлено через 10 минут
Цитата Сообщение от castaway Посмотреть сообщение
интересно, что на нём нельзя написать..

Не по теме:

Давно теоретиками доказано, что все, что можно написать на любом языке программирования, можно реализовать и с помощью машины Тьюринга. Даже немножко лучше, поскольку в распоряжении МТ имеется бесконечная лента.

Кстати, вот вам и задачка. Посчитайте квадратный корень из двух. √2. Не с некоторой конечной точностью. а вообще. Язык - на ваш выбор.
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
16.11.2013, 22:09 #18
Байт, а это можно реализовать на каком-нибудь другом языке?
0
Tulosba
16.11.2013, 22:19
  #19

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Посчитайте квадратный корень из двух. √2. Не с некоторой конечной точностью. а вообще.
И как Вам представить результат?

1
castaway
16.11.2013, 22:22
  #20

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
И как Вам представить результат?
Кстати, да

0
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
16.11.2013, 23:26 #21
Rudnik, Графический интерфейс он просто дает возможность менять параметры настройки программы и запускать программу несколько раз на выполнение. Я от не создал еще ни одного окошка, ну в принципе консольную программу можно запускать каждый раз с разными настройками. Просто создай файл текстовый в него запиши настройки и запускай программу, программа должна считать настройки их этого файла, инициализироваться так сказать отработала завершила свою работу. Ты берешь открываешь этот текстовый файл и меняешь его содержимое, ну это настройки программы, снова запускаешь программу.

Гуи тут догадываться не нужно явно видно дает возможность менять настройки програмы, скажим так редакритует этот файл используя меню и запускает выполнение программы, походу поддерживает несколько потоков в одном потоке сама программа выполняется с менюшками которые редактируют этот файл, и этот поток создает еще один поток в котором отрабатывает основная программа которая читает настройки из файла, настройки которые редактируются с помощью менюшек.

Ну и что тут сложного, создай файл с настройками и саму программу которая будет читать эти настройки и просто запускай хотябы саму программу.

Это вообще то мое представление ГУИ да и вообще ГУИ ото обычные формы и кнопочки по нажатию которых что нибуть происходить, ну в моем примере ГУИ должно быть в виде формы, что бы можно было ее заполнить и отредактировать настройки самой программы.

Добавлено через 5 минут
Вообще если для себя пишешь программы, то можно за ГУИ не беспокоится, достаточно текстового файла в котором собрать все настройки программы.
Гуи я так считаю нужны для таких программ которые будут создаваться для кого нить, что б он смог разобраться и сам легко поменять настройки. Те программы что для себя пишешь, там ГУИ и нафиг не нужны!!!

Добавлено через 49 секунд
Так что не заморачивайся, у тебя программа должна работать сначала без ГУИ, а затем уже прикрутишь.

Добавлено через 47 секунд
Да как целое оно не будет работать без ГУИ, но как набор программ, может работать по отдельности.
2
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,456
16.11.2013, 23:35 #22
Цитата Сообщение от castaway Посмотреть сообщение
а это можно реализовать на каком-нибудь другом языке?
Цитата Сообщение от Tulosba Посмотреть сообщение
И как Вам представить результат?
Ребята, я очень рад, что вы поняли о чем идет речь. Да, ни один конечный автомат с этой задачей не справится.

Не по теме:

Мы с приятелем уже в годы мехматской юности это с удовольствием выяснили, и вот я прихожу к нему с бутылкой и с воплем - "Я знаю. как сделать программу, вычисляющую корень из двух!" Он меня просто выгнал вон. Вместе с бутылкой. К сожалению, в дальнейшем мы к этой теме не возвращались, и уже не возвратимся по причине отсутствия моего приятеля на этом белом свете. А у меня была такая идея. Вот, стоит большая ЭВМ ЕС-1052. И девчонки тащут к ней магнитные ленты. Столько, сколько она через свой пультовой машинописный интерфейс попросит.

Т.е. автомат получается - бесконечный.
И дело в том еще, что представление любого иррационального числа в виде десятичного, это - процесс, а не некий конечный результат. Для процесса (если он не цикличен) необходима бесконечная память. Вот МТ этой памятью обладает. И алгоритм прост до смешного. Для той же МТ он займет не более 10000 строк. Да и любой язык, дай ему бесконечную память, сделает все это даже ловчей. На том же Си можно, думаю в сотню строк уложиться. Нас же учили в школе (как вас - не знаю, а меня учили) извлекать корни не то столбиком, не то ступенькою. Алгоритм - незамысловатый, не помню уж какой. Дело было только в количестве бумаги...

Добавлено через 4 минуты

Не по теме:

Простите, но это уже не программирование. Это даже ближе к философии, чем к математике. И не надо забывать, что Эммануила Кантора доконало все-таки МДП.

1
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
16.11.2013, 23:37 #23
Цитата Сообщение от Rudnik Посмотреть сообщение
написать приложение для составления различных протоколов, актов, результатов замеров и.т.д. с архивацией, выводом на печать, возможностью корректировки и.т.д.
Тут от явно видно что можно создать само приложение (приложение для составления различных протоколов) ну и настроечный файл в котором будет задаваться текущий протокол, от для начала создай просто консольное приложение для кокого нибуть протокола допустим протокола№1, запиши в файл настройки все исходные данные программы и запусти программу, все она работает, дальше делай измени файл настройки добавь какой нить другой протокол например протокол №2, научи программу что бы она понимала что сейчас нужно обработать протокол №2, потом научи программу что бы она понимала различные акты, результаты измерения, просто научи программу читать файл настроек! Добавь какие нить флаги в этой файл настроек, нужна ли архивация или нет, нужно ли выводить на печать или нет, просто научи программу общаться с пользователем через файл.

А дальше, а дальше ты будешь знать как работать с программой через файл, ну а для обычных пользователей создашь потом ГУИ менюшки и всякую фигню, там уже не сложно будет ГУИ заставить редактировать текстовый файл настроек. В общем это мое ИМХО, возможно я ошибаюсь, но походу нет.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
16.11.2013, 23:43 #24
Цитата Сообщение от Байт Посмотреть сообщение
Ребята, я очень рад, что вы поняли о чем идет речь.
Так всё же, посчитать или отобразить? Можно ведь и уравнения в символьной форме решать в каком-нибудь маткаде. А уж представить корень из двух как http://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{2} проще пареной репы. И это будет, между прочим, точный результат.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2013, 00:22 #25
Цитата Сообщение от Rudnik Посмотреть сообщение
Значит все таки лучше WinAPI. Сейчас установлю QT.
WinAPI - только windows, Qt - кроссплатформенность.
0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,456
17.11.2013, 00:59 #26
Цитата Сообщение от alsav22 Посмотреть сообщение
WinAPI - только windows
Не считая того, что это ужас что такое! Писывали, писывали на ВинАпи! Не застрелился только от того, что все-таки есть обертки.

Добавлено через 16 минут
Цитата Сообщение от Tulosba Посмотреть сообщение
Так всё же, посчитать или отобразить?
Не думаю, что вы не поняли, о чем идет речь. Впрочем, плевать. Много ли вы знаете трансцендентных (не алгебраических, которые являются решениями простых уравнений) чисел? Я знаю 2 таких числа - ПИ и Е (ну и все им кратные). И доказательства их несводимости к такой ерунде, как sqrt(2) занимает несколько серьезных страниц. Но их же значительно больше, чем всех остальных. А мы их практически никого не знаем в лицо. Казалось бы - обычные числа. Ан - инопланетяне.
Господа, простите за бред. Ни на чем не настаиваю. Если Рамануджан записывал все натуральные числа себе в друзья, то мне остались только те, которые не пересчитываются.
0
Croessmah
Эксперт CЭксперт С++
13215 / 7487 / 842
Регистрация: 27.09.2012
Сообщений: 18,404
Записей в блоге: 3
Завершенные тесты: 1
17.11.2013, 06:28 #27

Не по теме:

Цитата Сообщение от ninja2 Посмотреть сообщение
Графический интерфейс он просто дает возможность менять параметры настройки программы и запускать программу несколько раз на выполнение.
дальше не читал...
Цитата Сообщение от Байт Посмотреть сообщение
Не считая того, что это ужас что такое! Писывали, писывали на ВинАпи! Не застрелился только от того, что все-таки есть обертки.
Вперед писать на Visual Basic + WinAPI, это такая веселуха



Цитата Сообщение от Rudnik Посмотреть сообщение
Поскольку это хобби, я решил решить сразу большую задачу
Можете поставить себе задачу более подходящую по текущим Вашим знаниям.

Цитата Сообщение от Rudnik Посмотреть сообщение
И тут возникла первая трудность, которую я не могу решить уже две недели.
Поверьте, эта проблема чуть более чем пустышка по сравнению с теми, что Вас ожидают.

Цитата Сообщение от alsav22 Посмотреть сообщение
WinAPI - только windows, Qt - кроссплатформенность.
А кому нужна эта кроссплатформенность, вот в чем вопрос. (c) Саня Недошекспир
Не думаю, что новичку в программировании вообще нужен кроссплатформенный код, да что там говорить о новичках, если большая часть софта пишется под конкретную платформу.

Я бы посоветовал повозиться в консоли и замахиваться на ГУЙню только после основательного изучения языка, да и если писать "крупный" проект, то знания лишь языка и библиотек будет не достаточно.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2013, 07:34 #28
Цитата Сообщение от Croessmah Посмотреть сообщение
А кому нужна эта кроссплатформенность, вот в чем вопрос.
Я только к тому это написал, чтобы ТС понял, что Qt - это не WinAPI.
Цитата Сообщение от Rudnik Посмотреть сообщение
Одну книгу, С. Прата, даже дочитал до конца (остальные просмотрел). Все понял (или мне так показалось), решил несколько упражнений разной сложности, программируя в консольном приложении.
Для Qt вполне достаточно, там и своего хватает. Макс Шлее. "Qt 4.5. Профессиональное программирование на C++ (2010)" и вперёд, к большой задаче.
1
Tulosba
17.11.2013, 08:37
  #29

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Макс Шлее. "Qt 4.5. Профессиональное программирование на C++ (2010)" и вперёд, к большой задаче.
Имхо, дурацкая книга. Почти как Архангельский для всяких буилдеров. Буков много, смысла мало.

0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.11.2013, 09:25 #30
Rudnik, с такими глобальными вопросами будет на долго.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2013, 09:25
Привет! Вот еще темы с ответами:

Вывести top сумм с сортировкой, возможно ли в принципе? - SQL Server
Здравствуйте! Скажите, пожалуйста, данную задачу как-то можно реализовать посредством SQL одним запросом? Платформа MSSQL 2005. ...

Как в принципе передавать картинку в апплет в runtime. - Java
Искал на форуме, не нашел. Задача следующая: апплет должен рисовать у себя в canvas'е картинку. Но в момент сборки апплета...

Как лучше в принципе реализовывать систему регистрации/авторизации - C# MVC
Как лучше в принципе реализовывать систему регистрации/авторизации? Создаётся свой MembershipProvider, происходит валидация пользователя...

Как в принципе осуществляется связь с БД, если она на сервере - C#
Здравствуйте! У нас идет курс C# и курс БД. Дабы нам всем "облегчить" жизнь преподаватели объединили лабу. Нужно написать клиента на...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.11.2013, 09:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru