Скачиваний:
0
Добавлен:
31.05.2025
Размер:
2.08 Mб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ИИСТ

отчет

по практической работе №1

по дисциплине «Информатика»

Тема: Структуры в С++

Студент гр. номер

ФИО

Преподаватель

Куракина Н.И

Санкт-Петербург

20__

Цель работы.

Познакомиться со структурами в языке программирования С++, а также научиться писать функции, обрабатывающие структуры.

Основные теоретические положения.

В языке программирования C++ позволяет программистам создавать свои собственные пользовательские типы данных — типы, которые группируют несколько отдельных переменных вместе. Одним из простейших пользовательских типов данных является структура. Структура позволяет сгруппировать переменные разных типов в единое целое.

Для того чтобы создать структуру мы должны в начале сообщить компилятору, как она вообще будет выглядеть. Для этого используется ключевое слово struct и после пишем название структуры. Пример struct primer. После пишем круглые скобки и в них указываем переменные, не забываю про точку запятой после круглой скобки. Одной из самых простых ошибок в C++ является забыть точку с запятой в конце объявления структуры. Большим преимуществом использования структур, нежели отдельных переменных, является возможность передать всю структуру в функцию, которая должна работать с её членами.

Задание.

Разработать структуру для описанных ниже объектов. Выбранная структура должна иметь не менее пяти полей (элементов) двух и более типов. Для выбранной структуры данных написать следующие функции: функцию формирования динамического одномерного массива структур, значения которых вводятся с клавиатуры, функцию вывода на экран содержимого динамического массива структур, функцию сохранения массива структур в файле на диске, функцию поиска и вывода на экран структуры (структур) с заданным значением элемента.

Задание 17, выданное мне содержит следующую структуру ,,Школьник” со следующими данными: фамилия; имя; отчество; пол; национальность; рост; вес; дата рождения (год, месяц число); номер телефона; домашний адрес (почтовый индекс, страна, область, район, город, улица, дом, квартира); школа; класс. 

Необходимо вывести:

1. Cписок школьников, учащихся в заданной школе;  

2. Cписок школьников, имеющих одинаковую фамилию; 

3. Максимальное количество учеников в классе. 

1. Необходимо вывести список школьников, учащихся в заданной школе. Пояснение: Для выполнения необходимо создать отдельную функцию, которая будет запрашивать номер школы и после сравнивать его с каждым учеником и в случае совпадения выводить соответствующего ученика. Также нельзя забывать про текстовый вывод в файл, полученной таблицы.

Рисунок 1. Функция поиска учеников по вводимой школе.

2. Необходимо вывести список, имеющих одинаковую фамилию. Пояснение: В задании подразумевает вывести список учеников с одинаковой фамилией. Для этого нужно создать функцию, которая будет перебором сравнивать первого ученика с каждым другим и если будет находить одинаковую фамилию, то будет выводить его. Также нельзя забывать про текстовый вывод в файл, полученной таблицы.

Рисунок 2. Функция поиска учеников с одинаковой фамилией.

Рисунок 2.1. Функция поиска учеников с одинаковой фамилией.

3. Необходимо вывести максимальное количество учеников в классе. Пояснение: В задании требуется вывести максимальное количество учеников в классе, а значит нужно написать функцию определяющую максимум учеников, анализирую данные, которые мы ввели изначально. Также нельзя забывать про текстовый вывод в файл, полученной таблицы.

Рисунок 3. Функция определяющая максимум учеников.

Рисунок 3.1. Функция определяющая максимум учеников.

Результаты работы

Для примера введу такие данные.

Рисунок 4. Данные вводимые в программу.

Рисунок 5. Результат работы программы.

Пояснения: Некоторые значения не в точности совпадают с таблицей из-за сложности заполнения цифровых значений.

Код всей программы:

Рисунок 6.1. Скриншот кода.

Рисунок 6.2. Скриншот кода.

Рисунок 6.3. Скриншот кода.

Рисунок 6.4. Скриншот кода.

Рисунок 6.5. Скриншот кода.

Рисунок 6.6.Скриншот кода.

Рисунок 6.6.Скриншот кода.

Рисунок 6.7.Скриншот кода.

Вывод

В проделанной работе были освоены навыки работы со структурами в С++, освоен ввод данных в структуру, вывод данных из структуры и поиск определенных значений в структуре.

10

Соседние файлы в папке 1 практика