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

C для начинающих

Войти
Регистрация
Восстановить пароль
 
raperd
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 8
#1

Как перейти от консоли к графике? - C (СИ)

10.01.2017, 23:29. Просмотров 317. Ответов 18
Метки нет (Все метки)

Всем привет! Изучаю самостоятельно пррграммирование с нуля. Читаю книгу по си, все вроде пока понимаю и все ок, НО, после беглого просмотра до конца книги я понял, что к концу книги научусь делать только консольные программы, что меня не устраивает. Посоветуйте, пожалуйста, литературу, чтобы научиться делать программы с графическим интерфейсом.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
22458 / 10863 / 1769
Регистрация: 12.02.2012
Сообщений: 17,990
11.01.2017, 09:16     Как перейти от консоли к графике? #2
А какой компилятор используешь? Чтобы сделать приложение с графическим интерфейсом, нужно выбрать соотв. тип проекта. Другой вариант (windows) использовать winApi и создавать "все самому".
raperd
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 8
11.01.2017, 10:59  [ТС]     Как перейти от консоли к графике? #3
Учусь на турбо с, так как книга старовата и там обучение на этом компиляторе ведется. Я впринципе понял, что для графического интерфейса нужно использовать среду разработки, но не могу найти пособие, по которому можно научиться делать графический интерфейс
Байт
Эксперт C
15686 / 10013 / 1504
Регистрация: 24.12.2010
Сообщений: 18,816
11.01.2017, 12:28     Как перейти от консоли к графике? #4
raperd, я бы тебе советовал не теряя времени смотреть в сторону Qt. Правда для него требуется владение основами С++, но, Имхо, от этого все равно не уйдешь. На чистом Си можно работать только через WinAPI, но это очень и очень не просто. И к С++ все равно придешь.
По Qt для начала есть книга Макса Шлее (на русском) и прекрасная документация (все больше на английском)

Добавлено через 2 минуты
Цитата Сообщение от raperd Посмотреть сообщение
книга старовата
мягко говоря
Это только Си можно учить по Кернигану и Ричи.
raperd
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 8
11.01.2017, 13:31  [ТС]     Как перейти от консоли к графике? #5
Я так и планировал, сначала изучить си, потом на его основе си++. Я так понял, что на си не стоит пытаться научиться делать графический интерфейс, а только освоить в консоли, а потом учить си++ и к нему Qt? А Макса Шлее достаточно чтобы освоить Qt? А то с английским плохо
FHelio
25 / 25 / 5
Регистрация: 04.01.2017
Сообщений: 52
11.01.2017, 13:45     Как перейти от консоли к графике? #6
Цитата Сообщение от raperd Посмотреть сообщение
Я так понял, что на си не стоит пытаться научиться делать графический интерфейс
Почему? Есть различные библиотеки, чтобы писать GUI на C. Некоторые даже довольно популярны:
Nuklear.
Libui.
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,420
11.01.2017, 13:52     Как перейти от консоли к графике? #7
Цитата Сообщение от raperd Посмотреть сообщение
А Макса Шлее достаточно чтобы освоить Qt? А то с английским плохо
Если заниматься как следует хватит. А английский выучить все равно надо будет. И чем раньше начнете учить - тем лучше будет.
Так что я тоже советую переходить с C на C++, а Qt сейчас самый популярный фреймворк для создания GUI.
raperd
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 8
11.01.2017, 14:17  [ТС]     Как перейти от консоли к графике? #8
Вот у меня все равно к сожалению не складывается цельной картины, объясните пожалуйста в очень упрощенном виде взаимосвязь: язык программирования-фреймворк-библиотека?
Байт
Эксперт C
15686 / 10013 / 1504
Регистрация: 24.12.2010
Сообщений: 18,816
11.01.2017, 15:55     Как перейти от консоли к графике? #9
Цитата Сообщение от raperd Посмотреть сообщение
А то с английским плохо
У меня тоже не очень хорошо. Но как-то разбираюсь. Помимо Шлее есть и другие книги, статьи, материалы на русском. Плюс наш замечательный Форум. Без английского экспертом, конечно, не станешь. Но работать можно.

Добавлено через 3 минуты
Цитата Сообщение от raperd Посмотреть сообщение
все равно к сожалению не складывается цельной картины,
А ты чего хотел? Свалился с луны - и сразу в зоопарк! Оглядись. Мозаика, конечно, чудовищная, но потихоньку кое-что проясняется.
Emmk
72 / 72 / 21
Регистрация: 12.02.2016
Сообщений: 199
Завершенные тесты: 1
11.01.2017, 16:19     Как перейти от консоли к графике? #10
Цитата Сообщение от raperd Посмотреть сообщение
Я так и планировал, сначала изучить си, потом на его основе си++
НЕТ! Выбросите эту глупость из головы. Разные языки с разной сферой применения, вдобавок, гораздо сложнее адаптировать изученные вещи в Си на плюсы, многие из которых считаются моветоном использования в С++. Почитайте рекомендации Страуструпа по этому вопросу.

Товарищ Байт совершенно правильно рекомендует не страдать ерундой и изучать Qt. Советую его послушаться

Писать на Си GUI приложения можно, библиотек достаточно, начиная с ncurses для псевдографики и до Nuklear по которому не так давно была статья на хабре. Но не стоит этого делать. Язык изумительно хорош в низкоуровневом системном программировании. Писать ГУИ на нем извращение. имхо.
Байт
Эксперт C
15686 / 10013 / 1504
Регистрация: 24.12.2010
Сообщений: 18,816
11.01.2017, 16:27     Как перейти от консоли к графике? #11
Цитата Сообщение от raperd Посмотреть сообщение
язык программирования-фреймворк-библиотека?
Попробую в двух словах.
Язык... Набор синтаксических правил с определенной семантикой, тебя такое определение устроит?
Библиотека - набор функций (что такое функция, надеюсь, объяснять не надо?) Есть стандартные библиотеки, которые подключаются без твоего ведома, такие как работа со строками (strcat), ввод-вывод (printf), математика (siin, log).
А есть еще добрые дяди, которые сделали для тебя еще какие-то функции, собрали их в кучки (библиотеки) и рассказали тебе, как к этим функциям обращаться и что они делают (то есть - зачем). Такие библиотеки надо указывать явно в описании сборки.
Фрэймворк - понятие несколько расплывчатое. В переводе - рабочий ящик. Вот метафора. Есть колеса, есть сидения. А фрэймворк - автомобиль. Все собрано + еще куча прибамбасов. Сел, вставил ключ, поехал. Только надо знать, на какие педальки нажимать, и что приборы обозначают. И, конечно, ПДД соблюдать.
Так вот, фрэймворк - это собранные в одну конструкцию средства разработки проекта. Это и редактор, и отладчик, и куча классов (а класс можно понимать как расширение стандартных типов языка), и куча библиотек, эти классы обслуживающих, и средства сборки, и документация... (пусть меня дополнят и поправят знающие люди)

Добавлено через 3 минуты
Цитата Сообщение от Emmk Посмотреть сообщение
НЕТ! Выбросите эту глупость из головы
Ну не надо так резко, и не надо разжигать священных войн. Есть разные подходы. И Страуструпп (в просторечии - дохлый страус) не является непререкаемым авторитетом.
А с остальной частью вашего поста согласен.
Emmk
72 / 72 / 21
Регистрация: 12.02.2016
Сообщений: 199
Завершенные тесты: 1
11.01.2017, 16:35     Как перейти от консоли к графике? #12
Цитата Сообщение от Байт Посмотреть сообщение
Ну не надо так резко, и не надо разжигать священных войн.
Согласен, накипело Что и в книгах по С++ (к счастью не во всех современных) и ВУЗах язык учат именно по такому маршруту. Мол, сейчас мы с вами посмотрим откуда же все таки ноги росли, а потом узнаем про дядьку который добавил в этот язык классы! И тогда все станет понятно.
raperd
0 / 0 / 0
Регистрация: 09.01.2017
Сообщений: 8
11.01.2017, 21:38  [ТС]     Как перейти от консоли к графике? #13
Всем спасибо за советы, так и сделаю
RuCode
20 / 24 / 4
Регистрация: 03.06.2016
Сообщений: 224
12.01.2017, 17:02     Как перейти от консоли к графике? #14
Народ Вы что несёте?! Если не разбираетесь в Си, не надо советовать ТС бросать всё и учить другой ЯП.

raperd, смотри в сторону GTK+, мышкой можешь делать графические интерфейсы в Glade https://glade.gnome.org/

Добавлено через 3 минуты
http://open-life.org/blog/gtk/1537.html
Байт
Эксперт C
15686 / 10013 / 1504
Регистрация: 24.12.2010
Сообщений: 18,816
12.01.2017, 17:27     Как перейти от консоли к графике? #15
Цитата Сообщение от RuCode Посмотреть сообщение
Народ Вы что несёте?! Если не разбираетесь в Си
Чуток поменьше агрессии, ладно?
Есть разные пути. Вы предлагаете один из них. Вот я не уверен, что он настолько лучше других...
И даже если GTK+ настолько великолепен, как вы считаете, у него есть один недостаток. Он менее популярен. И если ТС поставит на него, он окажется на необитаемом острове. Впрочем, это опять же - его выбор.
Emmk
72 / 72 / 21
Регистрация: 12.02.2016
Сообщений: 199
Завершенные тесты: 1
12.01.2017, 17:29     Как перейти от консоли к графике? #16
RuCode, что ты, что ты! Мы наоборот всеми руками поддерживаем написание интерфейсов и на Си, и на ассемблере на винапи... да что там - на машинных кодах и транзисторах рекомендуем делать!
RuCode
20 / 24 / 4
Регистрация: 03.06.2016
Сообщений: 224
12.01.2017, 18:24     Как перейти от консоли к графике? #17
Цитата Сообщение от Байт Посмотреть сообщение
Чуток поменьше агрессии, ладно?
Прошу прощения

Цитата Сообщение от Emmk Посмотреть сообщение
RuCode, что ты, что ты! Мы наоборот всеми руками поддерживаем написание интерфейсов и на Си, и на ассемблере на винапи... да что там - на машинных кодах и транзисторах рекомендуем делать!
Был конкретный вопрос, как делать интерфейсы на Си, я дал конкретный ответ. Это наиболее правильный путь в Си.
Байт
12.01.2017, 18:36
  #18

Не по теме:

Цитата Сообщение от RuCode Посмотреть сообщение
Полагаю, это наиболее правильный путь в Си.
Помните песенку Галича?
Но больше всего вы бойтесь того,
Кто скажет - "Я знаю как надо!"

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2017, 09:18     Как перейти от консоли к графике?
Еще ссылки по теме:
Движение в графике с сохранением фона C (СИ)
Не получается воспроизвести пример из книги по графике на С C (СИ)
На какой ЯП перейти с Си, если разработчику дорого время C (СИ)
Определить, сможет ли ферзь перейти с одной клетки на другую C (СИ)
Написать функцию, проверяющую может ли король за один ход перейти с одного заданного поля на другое C (СИ)

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

Или воспользуйтесь поиском по форуму:
RuCode
20 / 24 / 4
Регистрация: 03.06.2016
Сообщений: 224
13.01.2017, 09:18     Как перейти от консоли к графике? #19
Цитата Сообщение от Байт Посмотреть сообщение
Помните песенку Галича?
Но больше всего вы бойтесь того,
Кто скажет - "Я знаю как надо!"
Нафиг аргументы по теме - да?!
Yandex
Объявления
13.01.2017, 09:18     Как перейти от консоли к графике?
Ответ Создать тему
Опции темы

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