Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

Как осуществляется вывод на экран в windows приложениях?

16.09.2011, 11:35. Показов 2893. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно у меня есть несколько лабораторных по с++, так вот первые нужно сдать в виде консольных приложениях, а в последних сделать приложение с интерфейсом (MFC , SDI либо MDI ). Так вот как нужно делать вывод информации в классе (один из методов класса - печать данных о Студентах (полное имя, группа, балл)) чтобы потом это дело можно было прикрутить к интерфейсу? Как я понимаю просто в виде cout в методе класса не пойдёт, вот думаю может сделать так чтобы функция получала аргумент типа ostream и таким образом я сейчас смогу выводить информацию либо в поток cout либо в файл, но смогу ли я потом как-то хитро так же легко передавать функции какой параметр для вывода информации в приложении с интерфейсом?

Ну или как вообще поступают в таких случаях? Или будет легче потом дописать отдельно метод для вывода с расчётом на приложение с интерфейсом? Ато я сейчас вообще приложений с интерфейсом ни 1 не создавал, работал только с консолью.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2011, 11:35
Ответы с готовыми решениями:

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

Скрипт, который находит суммарный размер всех файлов в указанной папке. Вывод осуществляется на экран монитора (в окно
Скрипт, который находит суммарный размер всех файлов в указанной папке. Вывод осуществляется на экран монитора (в окно вывода). ...

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

10
 Аватар для zalogic
194 / 193 / 15
Регистрация: 12.12.2010
Сообщений: 270
16.09.2011, 11:39
ну можно наверно в классе перегрузить << в теории.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
16.09.2011, 11:40
Цитата Сообщение от Gepar Посмотреть сообщение
Как я понимаю просто в виде cout в методе класса не пойдёт, вот думаю может сделать так чтобы функция получала аргумент типа ostream и таким образом я сейчас смогу выводить информацию либо в поток cout либо в файл, но смогу ли я потом как-то хитро так же легко передавать функции какой параметр для вывода информации в приложении с интерфейсом?
Пишу уже 8 лет в MFC есть вопросы пиши в личку, алгоритм создания проекта в 6-ке прост, выбрал проет MFC затем DialogBased - появилось окно в режиме дизайнера, пихай в него контролы и делай их связывание в ClassWizard + там где надо вводи обработчики событий (нажатие кнопки, клик или скролл мышы) - это в общем. Хочешь конкретики выкладывай задание - оберну его в интерфейс приложения MFC
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
16.09.2011, 11:41
не так просто все в GUI-приложениях. тебе нужно нужно определиться, в какой форме ты хочешь предоставить информацию пользователю - в списке, в таблице etc. Затем на форму класть эти элементы и пользовать интерактивно (заполнять данными)
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
16.09.2011, 11:43
Цитата Сообщение от zalogic Посмотреть сообщение
ну можно наверно в классе перегрузить << в теории.
- как я понял речь идёт о графическом оконном приложении а не чёрном экране, так что перегрузить для привязки к контролу окна врядли получиться

Добавлено через 1 минуту
Gepar, выкладывай задание что размышлять как реализовывать, тебе же ведь примеры реализации нужны или как?
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
16.09.2011, 12:02  [ТС]
Задание (практически полностью (кроме сортировки) я уже реализовал в виде консольного приложения):
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Описать класс для реализации работы с выбранной динамической структурой данных, которая хранит список студентов группы. Класс должен содержать следующие, доступные пользователю интерфейсы:
-   добавить элемент;
-   удалить элемент;
-   найти элемент;
-   вывести на экран полную информацию о найденном элементе;
-   удалить все элементы;
-   вывести на экран полную информацию обо всех элементах;
-   отсортировать элементы.
Класс должен содержать указатель(и), необходимые для работы с используемой динамической структурой данных, который(е) не должны быть доступны пользователю.
Элемент, как правило, определяется (задается) своей информационной частью (полезной информационной нагрузкой). При работе этот класс не должен предоставлять пользователю доступ к элементу используемой динамической структуры данных, а только к информационной части (ее копия или указатель на нее).
Информационная часть представляется в виде структуры, которая хранит следующую информацию для каждого студента (все строковые данные представляются через указатели.):
-   фамилия;
-   имя;
-   отчество;
-   год рождения:
-   средний балл;
-   учебная группа;
При выполнении лабораторной работы №1 могут быть использованы следующие динамические структуры данных:
1.  Однонаправленный список.
2.  Однонаправленный кольцевой список.
3.  Двунаправленный кольцевой список.
4.  Динамический массив.
В самом классе у меня есть метод print, который и печатает информацию о студентах в поток cout, ну также при поиске выводится информацию о нужных студентах в консоль тоже через cout.

Вместе с тем есть вот такая одна из последних лабораторных:
Code
1
2
3
Задание №5.
 
Создайте проект для разработки одного из трех типов MFC приложения (основанного на диалоговом окне, SDI или MDI по Вашему выбору). В этом проекте приложения разработайте визуальный интерфейс для взаимодействия с пользователем, с помощью которого будут реализованы все описанные действия над выбранной динамической структурой данных при работе с группой студентов и факультетом.  Этот интерфейс должен включать меню, диалоговые окна, акселераторы. Выбор элементов управления, с помощью которых реализуется интерфейс с пользователем в диалоговых окнах, осуществить самостоятельно.
Где мне нужно будет по сути прикрутить к тому что было в первой лабораторной и остальных интерфейс. Вопрос: что сейчас в первой лабе нужно сделать чтобы потом было удобно прикручивать интерфейс? Преподаватель сказал что мол тут есть какая-то хитрость и просто вывод через cout если сделать сейчас то потом в 5 лабе к интерфейсу вывод уж не прикрутишь так как консоли то не будет. Вот я и спрашиваю что же там за хитрость и как мне сейчас поступить с 1 лабой чтобы потом 5 получилось сделать
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
16.09.2011, 12:08
Задание №5. - хорошо займусь, вобщем нужно что то типа проекта по работе с успеваемостью студентов + єто всё в окошке и с примочками, Gepar, как понимаешь нужно время ближе к вечеру что то выложу
0
 Аватар для zalogic
194 / 193 / 15
Регистрация: 12.12.2010
Сообщений: 270
16.09.2011, 12:47
-=ЮрА=-, ну почему же? В теории можно просто передать указатель на этот самый компонент или контрол и уже егов операторе использовать.
Такого не делал конечно на практике, но для мозголомства можно попробовать в принципе.
Вот например класс комплексных чисел. Там тоже этот оператор перегружен.
C++
1
ostream& operator<<(ostream& , complex);
как-то так... по аналогии почему нельзя сделать?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
16.09.2011, 13:01
Цитата Сообщение от zalogic Посмотреть сообщение
как-то так... по аналогии почему нельзя сделать?
- предлагаю всё это осуществить для оконного приложения именно перегрузкой

Цитата Сообщение от zalogic Посмотреть сообщение
В теории можно просто передать указатель на этот самый компонент или контрол и уже егов операторе использовать.
Такого не делал конечно на практике, но для мозголомства можно попробовать в принципе.
Там такой код будет что программисты накодившие студию в шок прийдут
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
16.09.2011, 13:49  [ТС]
-=ЮрА=-, эээ, ну мне как-бы вовсе 5 лабу делать и сдавать через месяц-два, у меня лишь вопрос в том как мне поступить сейчас: делать вывод в консоль в 1 лабе, сдавать её и не хитрить, а потом когда сдавать 5 лабу переделать первую или же сейчас делать хитрую функцию для печати уже в первой лабе (как я уже предлагал чтобы функция принимала поток ostream, ну как вот написал zalogic), у меня в частности это будет что-то типа
C++
1
void printAll(ostream &, bool flag);
и потом при сдаче 5ой уже ничего не переделывать?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
16.09.2011, 14:02
Цитата Сообщение от Gepar Посмотреть сообщение
делать вывод в консоль в 1 лабе
- конешно делай всё в консоли, если 5-е задание как бы объединяет все предшествующие + окошко надо, то на основе твоих кодов сделаю норм MFC проект
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2011, 14:02
Помогаю со студенческими работами здесь

Как добавить поддержку TcpClient в Windows Store приложениях
Подскажите как добавить поддержку TcpClient в Windows Store приложениях. Мой код: using System.Net; using System.Net.Sockets; ...

Не могу понять как делать вывод на экран структуры STUDENT на заполнение и вывод данных на экран
Добрый вечер. Вот задание и мой код программы на C++ Не выходит нормально реализовать 3е задание. Первая проблема в том, что вывод на...

Пример парсера: вывод данных не осуществляется
Добрый день! Пишу маленькую программу-пример для парсинга заголовка статей с Хабра с помощью AngleSharp в VS2017. Программа должна...

Консоль закрывается и остальной вывод и ввод не осуществляется
пытаюсь реализовать поочередный ввод символов с консоли, примерно вот так : Console.WriteLine (&quot;Выберите 1,2,3 или 4&quot;); name...

Почему вывод аргументов не осуществляется для классового шаблона?
Вот что говорит по этому поводу Страуструп. А мне хоть учебник на эту тему дай, без примера не могу обойтись... Товарищи знатоки, напишите...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru