Структуры С++
Автор: Ratmir_Ka • Декабрь 2, 2022 • Лабораторная работа • 2,249 Слов (9 Страниц) • 155 Просмотры
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ТВ
ОТЧЕТ
по лабораторной работе №10
по дисциплине «Информатика»
Тема: Структуры С++.
Студент гр. 1105 | Гоношилкин Д.Ю. | |
Преподаватель | Чиркунова А.А. |
Санкт-Петербург
2021
Цель работы: приобретение практических навыков в составлении программ со структурами.
Краткие теоретические сведения
1 ПОНЯТИЕ СТРУКТУРЫ
Структура в языке C++ представляет собой пользовательский тип данных. Нередко структуры применительно к С++ также называют классами.
Для определения структуры применяется ключевое слово struct, а сам формат определения выглядит следующим образом:
struct имя_структуры
{
компоненты_структуры
};
2 ИНИЦИАЛИЗАЦИЯ СТРУКТУРЫ
Структура может быть инициализирована путем присвоения ее переменным значения с помощью синтаксиса инициализации.
3 ДОСТУП К ЧЛЕНАМ СТРУКТУР
Для того чтобы получить доступ к отдельным элементам-полям, используется оператор выбора члена (точка).
4 ИСПОЛЬЗОВАНИЕ СТРУКТУР В ФУНКЦИЯХ
Структуры можно передавать в функции, а также функции могут возвращать структуры.
5 ВЛОЖЕННЫЕ СТРУКТУРЫ
Поле некоторого пользовательского типа может иметь тип, который также является пользовательским. Другими словами, можно создавать вложенные структуры.
Упражнение 1. Структура для хранения дробей
- Создайте новый консольный проект.
- Создайте структуру для хранения дробей.
Структура должна иметь 2 поля: целочисленный числитель и целочисленный знаменатель.
Объявите 2 дробные переменные и получите их значения от пользователя.
2.1 Напишите функцию multiply (параметрами будут эти две переменные), которая будет умножать эти числа и выводить результат в виде десятичного числа.
2.2 Напишите функцию division (параметрами будут эти две переменные), которая будет делить первое число на второе и выводить результат в виде десятичного числа.
2.3 Напишите функцию addition (параметрами будут эти две переменные), которая будет считать сумму первого и второго числа и выводить результат в виде десятичного числа.
2.4 Напишите функцию subtraction (параметрами будут эти две переменные), которая будет считать разность между первым и вторым числом и выводить результат в виде десятичного числа.
2.5 Если знаменатель получается равным 0, то вывести сообщение "Знаменатель равен 0".
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
void mult(struct fraction f1, struct fraction f2);
void division(struct fraction f1, struct fraction f2);
void addition(struct fraction f1, struct fraction f2);
void substraction(struct fraction f1, struct fraction f2);
struct fraction
{
float numerator; //числитель
float denominator; //знаменатель
};
int main()
{
setlocale(LC_ALL, "rus");
struct fraction f1, f2;
int k;
cout << "Введите числитель и знаменатель первой дроби: ";
cin >> f1.numerator >> f1.denominator;
cout << "\nВведите числитель и знаменатель второй дроби: ";
cin >> f2.numerator >> f2.denominator;
...