Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> С++ под консоль 
:(
    Опции темы
DoDo
Дата 11.8.2005, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.8.2005

Репутация: нет
Всего: нет



Приветствую всех кто читает мой первый топик !
Вот у меня появился вопрос , зачем надо учить и знать С++ под консоль , если можно писать под GUI интерфейс , а не под консоль ?
Под консолью я имею ввиду писать тексты программ в файлах с расширением .cpp
Прошу строго меня не судить , я новичок !

PM MAIL   Вверх
chaos
Дата 11.8.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



Цитата
Под консолью я имею ввиду писать тексты программ в файлах с расширением .cpp


чето ни че не понял smile
PM WWW   Вверх
Romikgy
Дата 11.8.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



В С++ есть ООП , а консоль это или чтото другое без разницы smile
ЗЫ Хотя наверное будет очень сложно написать ГУИ прогу без классов smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
comcon1
Дата 11.8.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Под консоль - означает, что вывод программы идет в "черное окошко" терминала. Учить там практически ничего не надо. Чтобы выводить на консоль, надо знать 2-3 команды (можно и больше).
А вот GUI - программирование в оконном интерфейсе требует существенно болших знаний об устройстве соответствующей GUI-библиотеки. А *.cpp - так это они везде *.cpp, хотя можешь их назвать и *.xrenavam - ссуть не изменится smile.


--------------------
PM MAIL   Вверх
DoDo
Дата 11.8.2005, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.8.2005

Репутация: нет
Всего: нет



С всем этим я согласен . Скорее всего я просто криво выразился , но я имел ввиду , много ли даст , то что если писать программы не под GUI интерфейс , а под консоль .
Просто многие мне говорят , что если писать программы под консоль ( "черное окно" ) , то это пустая трата времени .
Но мне кажется , что писать под консоль , всё же иметь навык надо .
Согласны ли Вы с этим утверждением ?
PM MAIL   Вверх
Fixin
Дата 11.8.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 2
Всего: 18



Естественно, знать надо. Вдруг тебе надо обработать пару файлов? Будешь писать ГУИ? Но, вообще, сравнивать консоль и окно - как автомобиль с катером.
PM MAIL ICQ   Вверх
Mayk
Дата 11.8.2005, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Смотря для чего программа. ИМХО писать графический редактор под консоль - пустая трата времени(в теории это это возможно с использованием таких либ как aa или caca(цветное aa, я под какой mplayer'ом пользовался. Мультики смотрятся нормально, а вот фильмы плохо, но я отвлекся)). Написание под консоль занимает меньше времени. Вообщем каждой задачи свой интерфейс...
Ах да, еще гуйные приложния нельзя построить в конвеер(dir | more). А консольные - можно. И это громаднейший плюс.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
DoDo
Дата 11.8.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.8.2005

Репутация: нет
Всего: нет



Я всё понял .
Всем большое спасибо !
Если Вам не трудно напишите мне в ICQ: 100 - 200 - 300 или дайте свои номера . Если не затруднит конечно .
Нам есть о чем поговрить !
Просто на форуме я флудить не хочу smile

Это сообщение отредактировал(а) DoDo - 11.8.2005, 18:33
PM MAIL   Вверх
comcon1
Дата 11.8.2005, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Цитата
Ах да, еще гуйные приложния нельзя построить в конвеер(dir | more). А консольные - можно. И это громаднейший плюс.

GUI-приложение вполне может сохранить за собой stdout. Почему нет??

Это не может быть пустая трата времени. К примеру задача, когда надо придумать алгоритм, на вход которому подается массив чисел. Писать ГУИ здесь - лишняя трата времени. Читаешь числа из файла или stdin и что-то с ними делаешь. Отлаживаешь свой алгоритм, оформляешь его ввиде функции или класса - и у тебя готовый кусок кода.

Можешь ее потом использовать в ГУИ приложении. ГУИ - может быть последним этапом, так сказать оформительным. Когда уже все есть, занимаешься интерфейсом. Это, разумеется не относится ко всякой графике, как уже сказал Mayk. Но относительно всяких вычислений, когда важна скорость, когда надо быстро написать - никаких GUI.

Самые быстрые в мире вычислительные программы написаны именно в консоли (молдинамика, квантхимия). И это не потому что людям было лень написать интерфейс, а это продиктованано условиями задачи.

Это сообщение отредактировал(а) comcon1 - 11.8.2005, 18:37


--------------------
PM MAIL   Вверх
Mayk
Дата 11.8.2005, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(comcon1 @ 11.8.2005, 22:36)
GUI-приложение вполне может сохранить за собой stdout. Почему нет??

Потому что гуй - это кнопки, менюшки и прочие пимпочки. Гуй и конвеер это экзотика. Назови мне десять приложений ГУЕв, которые можно использовать для построения конвееров. Лучше всего вот так:
App1 | App2 | ... AppA.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Guest
  Дата 11.8.2005, 21:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(DoDo @ 11.8.2005, 13:39)
зачем надо учить и знать С++ под консоль , если можно писать под GUI интерфейс , а не под консоль ?

сначала будет неплохо и "консоль" выучить... с программирования для Windows сразу трудно начать, так сказать азы нужны.
  Вверх
Romikgy
Дата 12.8.2005, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(Mayk @ 11.8.2005, 19:07)
Потому что гуй - это кнопки, менюшки и прочие пимпочки. Гуй и конвеер это экзотика. Назови мне десять приложений ГУЕв, которые можно использовать для построения конвееров. Лучше всего вот так:
App1 | App2 | ... AppA.

Ага это кнопки smile но никто не запрещает обработать и строку параметров smile даже без вывода окна на экран smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
comcon1
Дата 12.8.2005, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Цитата

Ага это кнопки smile но никто не запрещает обработать и строку параметров smile даже без вывода окна на экран smile

Строка параметров есть и у ГУЙ-приложений. Притом почти у всех. Он говорит о конвейере, когда stdout одной проги направляется в "трубу" (pipe), на другом конце которой расположен stdin второй проги и т.д..
ГУЙ-приложения, как правило, теряют связь с запускающим их терминалом и закрывают stdin и stdout, посему в трубу не размещаются.
---------------
2 Mayk. Вполне можно очертить класс задач, которые удобно будут решаться таким образом. Возьмем к примеру, какой-нибудь хитрый обработчик данных. Он запускается выдает окошко, в окошке настраиваются параметры, затем окошко закрывается и обработанные данные попадают на вход следующей программе-обработчику и т.д..
хм...хотя это, пожалуй, тоже извращение.


--------------------
PM MAIL   Вверх
DoDo
Дата 12.8.2005, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.8.2005

Репутация: нет
Всего: нет



Вот появился еще один вопрос по данной теме , можно писать программы под Windows с помощью Visual C++ , точнее его мастера , там где уже всё готово , видно окно и легко на нем можно расставить кнопки , то есть сам интерфейс программирования , програмная среда .
Второй вариант можно писать под Windows без самого мастера , а просто создать файл .cpp и туда поочередно подключать Api функции , сначала создать само окно , а затем уже и кнопки и т. д .
Вопрос в том , что каким способом лучше писать под Windows , или каким способом пишите Вы ?


PM MAIL   Вверх
comcon1
Дата 12.8.2005, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Есть несколько библиотек (среды разработки в скобках) для ГУЙ под Винд:
* MSVC (Microsoft Visual Studio),
* BCB (Borland C++ Builder),
* WinApi (-- every --).
И библиотеки платформ-независимого ГУЙ:
* QT (TrollTech QT Designer + ... ),
* FireFox (собственные проги, не помню),
* wxWidgets (MinGW Studio).

По АПИ -- отправляйся на форум: системное програмирование и ВинАпи.

Самая простая: BCB. С нее начинай. Попишешь под консоль, потом под борландовский ГУЙ, потом уже будешь выбирать из всего спектра.
Добавлено @ 11:20
А мы пишем кто где. На форуме есть приверженцы каждого пункта из мною перечисленных ( и из неперечисленных :-) ).
Добавлено @ 11:23
Модератор, перенесите в колледж. И хохму эту - nastja - тоже. smile


--------------------
PM MAIL   Вверх
DoDo
Дата 12.8.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.8.2005

Репутация: нет
Всего: нет



Я писал уже на продукте от Борланд , Делфи называется .
Конечно может этот топик не в тему smile
PM MAIL   Вверх
comcon1
Дата 12.8.2005, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



BCB - иерархия похожа на Delphi. И после делфи проще усваивать фичи С++, хотя не все.

По БСБ -- поиск в соответствующий форум.


--------------------
PM MAIL   Вверх
DoDo
Дата 12.8.2005, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.8.2005

Репутация: нет
Всего: нет



Тоже верно . А на чистом С++ много можно написать ?
comcon1 , у тебя ICQ есть ?
PM MAIL   Вверх
Romikgy
Дата 12.8.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(comcon1 @ 12.8.2005, 08:46)
Строка параметров есть и у ГУЙ-приложений. Притом почти у всех. Он говорит о конвейере, когда stdout одной проги направляется в "трубу" (pipe), на другом конце которой расположен stdin второй проги и т.д..
ГУЙ-приложения, как правило, теряют связь с запускающим их терминалом и закрывают stdin и stdout, посему в трубу не размещаются.

Спасибо за разъяснение smile я не знал об этом smile
А почему теряют связь и закрывают stdin и stdout?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
comcon1
Дата 12.8.2005, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Ну как.. Запускаешь программу из терминала. Потом закрываешь терминал, а прога продолжается. Ну это в общем не обязательно. Ну во-первых, чтобы вернуть управление в терминал.
Линуховые проги по умолчанию не возвращают. Например, если написать
Код

black@comcon1$ mozilla

То печатать в терминале будет уже нельзя.
А если написать:
Код

black@comcon1$ mozilla &

... то можно.
Однако связь с терминалом процесс не теряет и если терминал закрыть mozilla закроется тоже.
Чтобы этого не происходило, надо прерывать связь с терминалом. Как это делать - зайдите в форум системное прог-е и ВинАПИ, потому что я знаю, как под линух, а в этом месте Вин и Линь должны отличаться.

Также если терять связь, корректным будет закрывать файловые дескрипторы 1, 2 и 3, что линуховые проги тоже часто не делают (оставляют stdout) и журналируют прямо в консоль.


--------------------
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.