Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование задач с применением структурированных данных. Лабораторный практикум.pdf
X
- •ВВЕДЕНИЕ
- •ОБРАБОТКА МАССИВОВ ДАННЫХ С ПРИМЕНЕНИЕМ ФУНКЦИЙ
- •1.1. Общие рекомендации по работе с динамическими массивами
- •1.2. Пример программы для работы с динамическими массивами
- •1.3. Первое задание к лабораторной работе № 1
- •1.4. Общие рекомендации по использованию функций
- •ЛАБОРАТОРНАЯ РАБОТА № 2
- •ПРОГРАММНАЯ ОБРАБОТКА СТРОК И СТРУКТУР
- •2.1. Общие рекомендации по работе со строками
- •1.5. Пример программы для работы с функциями
- •1.6. Второе задание к лабораторной работе № 1
- •1.8. Третье задание к лабораторной работе № 1
- •2.2. Пример программы для работы со строками
- •2.3. Первое задание к лабораторной работе № 2
- •2.4. Общие рекомендации по работе с данными типа string
- •2.5. Второе задание к лабораторной работе № 2
- •2.6. Общие рекомендации по работе со структурами
- •2.7. Пример программы для работы со структурами
- •2.8. Третье задание к лабораторной работе № 2
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •ПРОГРАММНЫЕ МЕТОДЫ РАБОТЫ
- •С ЦЕЛОЧИСЛЕННЫМИ ДАННЫМИ
- •3.1. Общие рекомендации
- •3.2. Первое задание к лабораторной работе № 3
- •3.3. Системы счисления и перевод чисел из одной системы в другую
- •3.4. Второе задание к лабораторной работе № 3
- •ЛАБОРАТОРНАЯ РАБОТА № 4
- •ТЕХНОЛОГИИ РАБОТЫ С ФАЙЛАМИ
- •4.1. Общие рекомендации по работе с файлами
- •4.2. Первое задание для лабораторной работы № 4
- •4.3. Пример программы для работы с файлами структур
- •4.4. Второе задание для лабораторной работы № 4
- •ЛАБОРАТОРНАЯ РАБОТА № 5
- •МЕТОДЫ СОРТИРОВКИ И ИХ ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
- •5.1. Общие рекомендации по реализации методов сортировки
- •5.2. Задания к лабораторной работе № 5
- •ЛАБОРАТОРНАЯ РАБОТА № 6
- •ЛИНЕЙНЫЕ СПИСКИ
- •6.2. Пример программы работы с линейным списком
- •6.3. Задания к лабораторной работе № 6
- •ЛАБОРАТОРНАЯ РАБОТА № 7
- •ПРОГРАММНОЕ СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ КЛАССОВ
- •7.1. Общие рекомендации по работе с классами
- •7.2. Пример программы реализации класса
- •7.3. Задания к лабораторной работе № 7
- •ЛАБОРАТОРНАЯ РАБОТА № 8
- •РАБОТА С РОДИТЕЛЬСКИМИ И ДОЧЕРНИМИ КЛАССАМИ
- •8.2. Пример программы с виртуальными функциями
- •8.3. Виртуальные функции и абстрактные классы
- •8.4. Задания к лабораторной работе № 8
- •ЛАБОРАТОРНАЯ РАБОТА № 9
- •РАБОТА С КОНТЕЙНЕРНЫМИ КЛАССАМИ И МОДУЛЯМИ
- •9.1. Общие сведения о контейнерных классах и векторах
- •9.2. Общие сведения о модулях
- •9.3. Пример программы на С++
- •9.4. Задания к лабораторной работе № 9
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК

string fio;
int kurs;
string gruppa;
int math, prog, fiz;
};
stud mas[n]; // Массив из структур
cout << "Введите " << n << " записей" << endl;
for (int i = 0; i < n; i++)
{
cout << "Введите ФИО студента" << endl;
if (i != 0)
while (cin.get() != '\n');
getline(cin,mas[i].fio);
cout << "Введите курс" << endl;
cin >> mas[i].kurs;
cout << "Введите группу" << endl;
while (cin.get() != '\n');
cout << "Введите оценку по математике" << endl;
cin >> mas[i].math;
cout << "Введите оценку по программированию" << endl;
cin >> mas[i].prog;
cout << "Введите оценку по физике" << endl;
cin >> mas[i].fiz;
}
// Вывод таблицы со структурами на экран
cout << " Студенты" << endl;
// Прорисовка верхней границы таблицы
for (int j = 0; j < m; j++)
cout << "-";
cout << endl;
// Прорисовка шапки таблицы
cout << "| ФИО | Курс | Группа | Матем. | Прог. | Физ. |
Ср. балл |"<< endl;
// Прорисовка нижней границы шапки таблицы
for (int j = 0; j < m; j++)
cout << "-";
cout << endl;
float sr_ball; // Переменная для расчета среднего балла
// Прорисовка основной части таблицы
// В ходе итерации цикла на экран выводится строка
// таблицы содержащая все поля текущей структуры
for (int i = 0; i < n; i++)
getline(cin,mas[i].gruppa);
31

{
Тип
Обозначение
Кол-во на
Цена
Стоимость
на складе
Итого
// Расчет среднего балла для текущей структуры
sr_ball = (mas[i].math + mas[i].prog + mas[i].fiz) / 3.0;
cout << "| " << setw(20) << mas[i].fio;
cout << " | " << setw(4) << mas[i].kurs;
cout << " | " << setw(8) << mas[i].gruppa;
cout << " | " << setw(6) << mas[i].math;
cout << " | " << setw(5) << mas[i].prog;
cout << " | " << setw(4) << mas[i].fiz;
cout << " | " << setiosflags(ios::fixed) <<
setprecision(2) << setw(8) << sr_ball << " | " << endl;
}
// Прорисовка нижней границы таблицы
for (int j = 0; j < m; j++)
cout << "-";
cout << endl;
system("pause");
}
2.8. Третье задание к лабораторной работе № 2
Задание
При выполнении задания необходимо:
- написать и отладить программу для работы со структурами на языке
С++ в консольном режиме в соответствии с вариантом задания;
- варианты задания приведены ниже; номер варианта совпадает с поряд-
ковым номером студента в списке;
- проверить работу программы в консольном режиме.
Отчет
Отчет должен содержать титульный лист, вариант задания, текст программы с комментариями, скриншот результатов работы программы.
Варианты заданий для составления программы для работы с массивом
структур.
1. Создать массив из 3-5 структур, каждая из которых содержит следую-
щие поля: тип устройства, обозначение, количество на складе, цена устройства.
Рассчитать стоимость устройств на складе и составить ведомость такого типа:
Отчет по состоянию склада
устройства
устройства
складе
32
устройства
устройств

2. Создать массив из 3-5 структур, каждая из которых содержит следую-
ФИО
Оклад
Подоходный
(процент)
Профсоюзный
(процент)
Суммарный
лях
Итого
Адрес
Плата за
чество
Плата
воду
Плата
воду
Общая
оплаты
Итого
Адрес
Плата за
Плата
телефон
Плата
Общая
услуги связи
Итого
щие поля: ФИО, оклад, подоходный налог (процент), профсоюзный налог (процент). Рассчитать общую сумму налогов в рублях и составить ведомость такого
типа:
Отчет по налогам
налог
налог
налог в руб-
3. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: адрес, плата за электричество, плата за холодную воду, плата за горячую воду. Рассчитать общую сумму оплаты за коммунальные услуги и составить ведомость такого типа:
Отчет по коммунальным платежам
электри-
за холодную
за горячую
сумма
4. Создать массив из 3-5 структур, каждая из которых содержит следую-
щие поля: адрес, плата за Интернет, плата за стационарный телефон, плата за
кабельное телевидение. Рассчитать общую сумму оплаты за услуги связи и со-
ставить ведомость такого типа:
Отчет по оплате услуг связи
Интернет
за стацио-
нарный
33
за кабельное
телевидение
сумма
оплаты за

5. Создать массив из 3-5 структур, каждая из которых содержит следую-
Номер
вызова
Адрес
Расстояние
в км
Цена
за км
Плата за такси
Итого
Код операции
Тип прибора
Годные
Брак
Процент
Итого
Поряд-
номер
ФИО
Кол-во
отпуска
Кол-во
работы
Зара-
плата
Отпускные
Итого
Изделие
План
Фактическое
кол-во
Процент
Итого
щие поля: номер вызова, адрес, расстояние в км, цена за км. Рассчитать плату за
такси и составить ведомость такого типа:
Отчет по оплате услуг такси
6. Создать массив из 3-5 структур, каждая из которых содержит следую-
щие поля: код операции, тип прибора, годные, брак. Рассчитать процент выхода
годных приборов и составить отчет:
Выход годных
7. Создать массив из 3-5 структур, каждая из которых содержит следую-
щие поля: ФИО, количество дней отпуска, среднее количество рабочих дней в
месяце, средняя месячная заработная плата. Вычислить отпускные и составить
ведомость такого типа:
Отпускные выплаты
ковый
дней
дней
ботная
8. Создать массив из 3-5 структур, каждая из которых содержит следую-
щие поля: изделие, план производства, фактическое количество. Рассчитать
процент выполнения плана и составить ведомость такого типа:
Выполнение плана
34

9. Создать массив из 3-5 структур, каждая из которых содержит следую-
ФИО
Программирование
Экономика
План
Факт
Процент
План
Факт
Процент
Итого
Итого
Индекс
товара
Наименование
Сорт
Количество
Цена
Стоимость
Итого
ФИО
Разряд
Часовая тариф.
ставка
Отработано
часов
Заработная
плата
Итого
Деталь
Материал
Количество
Норма
Цена
Стоимость
Итого
щие поля: ФИО студента, количество лабораторных работ по программированию, количество сделанных работ по программированию, количество лабораторных работ по экономике, количество сделанных работ по экономике. Рассчитать процент выполнения лабораторных работ и выдать ведомость такого
типа:
Выполнение лабораторных работ
10. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: индекс товара, наименование, сорт, количество, цена. Рассчитать
стоимость товара и составить ведомость такого типа:
Товарная ведомость
11. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: разряд, часовая тарифная ставка, количество отработанных часов.
Рассчитать зарплату рабочих-повременщиков и составить отчет:
Ведомость на оплату
12. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: название детали, название материала, цена за единицу материала,
количество деталей, норма расхода материала на деталь. Рассчитать расход материала на все количество деталей и выдать ведомость:
Расходная ведомость
35

13. Создать массив из 3-5 структур, каждая из которых содержит следу-
Номер
Наименова-
Кол-во
билетов
Цена
Стоимость
Итого
Марка ав-
Грузоподъ-
Кол-во рей-
Кол-во ра-
Общее
грузов
Итого
ФИО
Шифр
Дисци-
Общее
занятий
Кол-во
ных занятий
Процент
мости
Итого
Табельный
ФИО
Оклад
Кол-во
дней
Кол-во
дней
Заработная
Итого
ющие поля: номер рейса автобуса, наименование рейса, количество проданных
билетов, цена за билет. Рассчитать стоимость проданных билетов и выдать ведомость такого типа:
Справка о проданных билетах
рейса
ние рейса
проданных
14. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: марка автомобиля, грузоподъемность, количество рейсов в день,
количество рабочих дней в месяце. Рассчитать общее количество перевезенных
грузов и составить ведомость такого типа:
Справка о перевозках
томобиля
емность
сов
в день
бочих дней
в месяце
кол-во
перевезенных
15. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: ФИО студента, шифр группы, наименование дисциплины, общее
количество занятий, количество пропущенных занятий. Рассчитать процент посещаемости и выдать ведомость такого типа:
Справка о посещаемости
ющие поля: табельный номер, ФИО работника, оклад, количество отработанных дней, количество рабочих дней в месяце. Рассчитать заработную плату и
выдать ведомость:
студента
группы
плина
кол-во
пропущен-
посещае-
16. Создать массив из 3-5 структур, каждая из которых содержит следу-
Справка о заработной плате
номер
отработанных
36
рабочих
плата

17. Создать массив из 3-5 структур, каждая из которых содержит следу-
Код
Наименование
дисциплины
Количество часов
Лекции
Практика
Лаб. работа
Итого
Итого
Табельный
номер
ФИО
Расценка
за деталь
Количество
Стоимость
Итого
Номер
счета
ФИО
Сумма
Годовой итог
в процентах
в рублях
Итого
Марка
Марка
Норма
бензина
Пробег
Цена
Стоимость
Итого
ющие поля: код и наименование дисциплин, количество часов лекций, практики и лабораторных работ. Рассчитать общее количество часов занятий и выдать
ведомость:
Учебный план
18. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: табельный номер, ФИО, расценка за деталь, количество уже сделанных деталей. Рассчитать стоимость сделанных деталей и выдать ведомость
следующего вида:
Ведомость на оплату
19. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: номер счета, ФИО вкладчика, сумма денег на вкладе, годовой процент. Рассчитать годовой процент в рублях и составить ведомость следующего
вида:
Справка о годовом проценте
20. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: марка автомобиля, марка бензина, норма расхода бензина , л/км ;
среднемесячный пробег, км; цена бензина. Рассчитать стоимость израсходованного бензина и выдать ведомость такого типа:
Расходная ведомость
автомобиля
бензина
расхода
37

21. Создать массив из 3-5 структур, каждая из которых содержит следу-
Код
Время
работы
Продолжительность
Процент
Итого
Код
книги
Название
книги
Кол-во проданных
экземпляров
Цена
Выручка
Итого
Название
группы
Курс
Численность
группы
Кол-во
должников
Процент
должников
Итого
Название
Название
Жанр
Цена одной
Кол-во про-
бомов
Выручка
Итого
ющие поля: код станка, время фактической работы станка, продолжительность
смены. Рассчитать процент загруженности станка и составить ведомость такого
типа:
Справка о загруженности оборудования
станка
фактической
смены
загруженности
22. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: код книги, название книги, количество проданных экземпляров,
цена. Рассчитать выручку за продажи и составить ведомость такого типа:
Продажа книг
23. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: название группы, курс, численность группы, количество должников. Рассчитать процент должников в каждой группе и составить ведомость такого типа:
Справка о группах
24. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: название исполнителя, название альбома, жанр, цена одной пластинки, количество проданных альбомов. Рассчитать выручку от продаж и составить ведомость такого типа:
исполнителя
альбома
Справка о продажах альбомов
пластинки
38
данных аль-

25. Создать массив из 3-5 структур, каждая из которых содержит следу-
Дата испы-
таний
Марка
оружия
Кол-во
выстрелов
Кол-во
попаданий
Процент
попаданий
ФИО
Должность
Заработная
плата
Процент
премии
Суммарная
оплата
Итого
Номер
авиаполка
Кол-во
самолетов
Кол-во боеготовых
самолетов
Процент боеготовых
самолетов
Итого
Шифр
Кол-во
студентов
Кол-во
студентов
Кол-во
студентов
Всего
Итого
ющие поля: дата испытаний, марка оружия, количество выстрелов, количество
попаданий. Рассчитать процент попаданий и составить ведомость такого типа:
Сведения об испытаниях оружия
26. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: ФИО, должность, заработная плата, процент премии. Рассчитать
сумму премии и составить ведомость такого типа:
Премии сотрудников
27. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: № авиаполка, количество самолетов, количество боеготовых самолетов. Рассчитать процент боеготовых самолетов и составить ведомость такого
типа:
Справка о боеготовности
28. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: шифр группы, количество бюджетных студентов, количество целевых студентов и количество платных студентов. Рассчитать общее количество
студентов и составить ведомость такого типа:
группы
Список студенческих групп
бюджетных
целевых
39
платных
студентов

29. Создать массив из 3-5 структур, каждая из которых содержит следу-
Название
ФИО
Цена
Количество
экземпляров
Стоимость
книг
Итого
Название
Жанр
Кол-во
копий
Кол-во
Общее
копий
Итого
Номер
ФИО
Стоимость
Процент
Стоимость
скидки
Итого
ющие поля: название книги, ФИО автора, цена книги, количество проданных
экземпляров. Рассчитать стоимость проданных книг и составить ведомость такого типа:
Продажа книг
книги
автора
книги
проданных
проданных
30. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: название игры, жанр, количество проданных цифровых копий, количество проданных физических копий. Рассчитать общее количество проданных копий и составить ведомость такого типа:
Продажа компьютерных игр
игры
проданных
цифровых
проданных фи-
зических копий
количество
проданных
31. Создать массив из 3-5 структур, каждая из которых содержит следующие поля: номер заказа, ФИО заказчика, стоимость заказа, процент скидки.
Рассчитать стоимость заказа с учетом скидки и составить ведомость:
Отчет по заказам
заказа
заказчика
заказа
40
скидки
с учетом
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
