This repository has been archived on 2023-05-13. You can view files and clone it, but cannot push or open issues or pull requests.
mipt_cpp/seminar02_encapsulation/classroom_tasks/code/0book/02book.cpp

45 lines
1.1 KiB
C++
Raw Normal View History

2022-09-14 19:05:27 +03:00
/*
Эта программа написана на языке C++, для компиляции используйте g++:
g++ 01book.cpp
В языке C++ появились ссылки, которые могут немного упростить код из предыдущего файла
Тем не менее, структура Book и функции для работы с ней всё ещё являются независимыми друг от друга.
То есть тут тоже нет Инкапсуляции.
*/
#include <iostream>
struct Book
{
char title[100];
float price;
int pages;
};
void makeDiscount(Book& b, int discount)
{
if (b.price > discount)
b.price -= discount;
else
b.price = 0;
}
void printBook(const Book& b)
{
std::cout << b.title << ", price = " << b.price << ", pages = " << b.pages << std::endl;
}
int main()
{
Book b = {"War and Peace", 1700, 900};
printBook(b);
makeDiscount(b, 500);
printBook(b);
}