
1сем Дагаев / ЛР10 / Отчет
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет инфокоммуникационных Сетей и систем (иксс)
кафедра программной инженерии и вычислительной техники
(пи и вт)
Дисциплина: «Программирование»
Лабораторная работа №10.
Тема: «Работа со строками»
вариант №20
Выполнил: Студент группы ИКВТ-03
Ситников Д.Г.
Подпись____________
Принял: к.т.н, доцент кафедры ПИиВТ
Дагаев А.В.
Подпись____________
«_____»________ 2020
Санкт-Петербург
2020г
Постановка задачи
Массив структур, содержащих сведения о музеях. Каждая структура должна содержать следующие поля: название музея, адрес, год основания, цена входного билета. Вывести на экран дисплея сведения о музеях, действующие более “k” лет.
Разработка алгоритма
Программа состоит из основной программы - функции main(), функции с заданием значений для массива структур, функции вывода значений элемента массива структур, а также структуры.
Рис.1 Описание структуры.
Рис.2 Две функции.
Рис.3 Основная программа.
В программе предусмотрены исходные данных элементов массива структур – данные о музеях; Ввод значения k; вывод информации о музеях, удовлетворяющих условию (старше k лет).
Таблица идентификаторов
Табл.1. Таблица идентификаторов
N |
Обозначения в задаче |
Идентификатор |
Назначение |
1 |
Ar[] |
Ar |
Исходные данные |
|
N |
N |
|
2 |
k |
k |
|
3 |
i |
i |
Операторы инкремента |
Описание программы
Программа разработана при помощи среды разработки Microsoft Visual Studio, в которой предоставлены все необходимые библиотеки, заголовки, необходимые компилятором C и C++ для работы в системе Windows, написана на языке C++. Программа собрана при помощи системы сборки компилятор C++ Visual Studio includes a command-line C, набора инструментов .NET Framework 4.5, тестировалась на Windows 10. Были подключены библиотеки iostream, windows.h; были использованы функции cout, system.
Результаты работы программы
Далее предоставлены результаты выполнения программы.
Рис.4 Результат выполнения программы.
Контрольный расчет
Для тестирования программы выбираем контрольный набор исходных данных: k = 100. Вывод:
Рис.5 Контрольный счет.
Текст программы на C++
Lr10.cpp:
#include <iostream>
#include <windows.h>
#define N 9
using namespace std;
struct Museum {
char* Name;
char* Adress;
int YOsn;
int tPrice;
};
void OutputInf(Museum museum) {
cout << "Наименование: " << museum.Name
<< "\nГород: " << museum.Adress
<< "\nГод основания: " << museum.YOsn
<< "\t\tСтоимость билета: " << museum.tPrice << "\n\n";
}
inline void Spisok(struct Museum a[N]) {
a[0] = { "Эрмитаж", "г.Санкт-Петербург", 1764, 500 };
a[1] = { "Мраморный дворец", "г.Санкт-Петербург", 1768, 350 };
a[2] = { "Кунсткамера", "г.Санкт-Петербург", 1714, 100 };
a[3] = { "Исаакиевский собор", "г.Санкт-Петербург", 1710, 350 };
a[4] = { "Большой Петергофский дворец", "г.Санкт-Петербург", 1715, 450 };
a[5] = { "Лувр", "Париж", 1793, 1500 };
a[6] = { "Галерея Айвазовского", "г.Феодосия", 1845, 200 };
a[7] = { "Малая земля", "г.Новороссийск", 1982, 170 };
a[8] = { "Цементной промышленности", "г.Новороссийск", 1900, 60 };
}
void main()
{
setlocale(LC_ALL, "RUS");
int k;
struct Museum Ar[N];
system("cls");
Spisok(Ar);
cout << "Введите k: ";
cin >> k;
cout << "\nМузеи старше " << k << "лет :" << "\n\n";
for (int i = 0; i < N; i++) {
if ((2020 - Ar[i].YOsn) > k)
OutputInf(Ar[i]);
}
system("pause");
}
Выводы
В ходе выполнения работы были получены следующие результаты:
1. Изучены структуры;
2. Программа разработана для заданной выборки данных из массива структур на языке C++;
3. Использование функции обработки структур.