- •Методические указания к лабораторным работам
- •Лабораторная работа №1 простые программы с циклами и операторами консольного ввода/вывода
- •Задание
- •Описание примера
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №2 работа с текстовыми файлами, структурами данных и меню
- •Задание
- •Структурное программирование и функциональная декомпозиция системы
- •Функции
- •Организация меню в консольном приложении
- •Структуры данных
- •Операции с файлами
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №3 разработка и спецификация функций и модулей программы
- •Задание
- •Модульная структура программ
- •Параметры командной строки
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №4 разработка и спецификация структур данных, использование указателей и динамических массивов структур
- •Задание
- •Указатели
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №5 использование объектно-ориентированного программирования в разработке приложений
- •Задание
- •Конструкторы и деструкторы
- •Конструктор по умолчанию
- •Конструктор копирования
- •Массивы объектов
- •Friend-конструкции
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №6 использование наследования, полиморфизма и абстрактных классов
- •Задание
- •Наследование данных и методов
- •Полиморфизм и виртуальные функции
- •Абстрактный класс
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №7
- •Сложные структуры из объектов классов
- •Цель работы - изучение организации различных структур данных и разработка методов манипулирования данными.
- •Задание
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №8 разработка windows-интерфейса приложения
- •Задание
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №9 разработка и использование com-сервера
- •Задание
- •Шаблоны классов
- •Использование библиотеки atl для создания серверов сом
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Литература
Методика выполнения
Запустите MS Visual Studio и создайте проект консольного приложения для платформы Win32.
Наберите текст примера программы из раздела «Организация меню в консольном приложении». Имена функций Proc1(), Proc2(), Proc3() измените так, чтобы они отражали смысл операций приложения. Функции должны представлять собой «программные заглушки», т.е. содержать только оператор вывода сообщения о вызове функции. Запустите программу и проверьте правильность ее работы.
Объявите глобальный тип данных – структуру, соответствующую вашему объекту. В функции main объявите массив структур. Продумайте интерфейс функций и добавьте в их объявление нужное количество параметров. Используйте указатели при передаче значений параметров в функции. Запустите программу и проверьте правильность ее работы.
Используя метод пошаговой детализации, разработайте функцию ввода данных с клавиатуры, затем функцию вывода элементов массива на экран в табличном виде. Отладьте работу этих двух функций.
Разработайте и отладьте функцию сохранения данных в файле.
Разработайте и отладьте функцию загрузки данных из текстового файла в массив. Операцию разбора строки из файла реализуйте в виде отдельной функции.
Содержание отчета
Отчет готовится в письменном или печатном виде один на бригаду. В отчет включить задание, листинг программы с комментариями и результаты тестовых прогонов программы.
Контрольные вопросы
Каким требованиям должна удовлетворять структурная программа?
Как работает оператор switch?
Что такое «программная заглушка»?
Что представляют собой функции в языке C++?
Расскажите от типе данных struct (структура) языка C++.
Расскажите о функциях ввода/вывода в текстовый файл.
Что представляют собой строки символов в языке C++ и каковы основные операции со строками?
Расскажите об алгоритме выбора функции в меню консольного приложения.
Лабораторная работа №3 разработка и спецификация функций и модулей программы
Цель работы – освоение на практике основных приемов процедурного, структурного и модульного программирования на языке С++, операций с бинарными файлами, правил спецификации модулей.
Задание
Используя методы процедурного, структурного и модульного программирования разработать на языке С++ 2-ю версию консольного приложение для хранения и отображения сведений об объектах некоторого вида (варианты указаны в работе №2).
Обеспечить выполнение следующих операций:
Сохранение данных из массива в бинарном файле на диске.
Загрузка данных из двоичного файла в массив и отображение на экране.
Поиск и редактирование записей в массиве (в виде заглушки).
Сортировка данных в массиве по любому элементу структуры (в виде заглушки).
Идентификаторы входного и выходного файлов передавать в программу в виде параметров. Предусмотреть возможность ввода идентификаторов с клавиатуры, если они отсутствуют в командной строке.
Код программы из работы №2 преобразовать во вспомогательный модуль и включить в новую программу.
Краткая теория