Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <iostream>
- #include <string.h>
- #include <locale.h>
- using namespace std;
- #define STR_LENGTH 90
- /*5) Создать АТД, который описывает библиотечную карточку. АТД должен хранить заглавие книги,
- имя автора, суммарное количество экземпляров данной книги и выданное на руки число
- экземпляров книги.
- Функции:
- ввод информации о книге;
- вывод информации о книге на экран;
- изменения количества экземпляров книги*/
- // создаем структуру для книги
- struct Card {
- private:
- string caption;
- string author;
- int total_count;
- int given_count;
- // функции для структуры
- public:
- void set(string, string, int, int); // для добавления значений
- void print(); // для вывода
- void change_count(int, int); // для изменений значения
- };
- typedef struct Card card;
- // для добавления значений
- void Card::set(string c, string a, int tc, int gc) {
- caption = c;
- author = a;
- total_count = tc;
- given_count = gc;
- }
- // для вывода
- void Card::print(void) {
- cout << "Книга: " << caption << "\nАвтор: " << author << "\nВсего книг: " << total_count << "\nВыдано на руки: " << given_count << "\n";
- }
- // для изменений значения
- void Card::change_count(int total_count_, int given_count_) {
- total_count = total_count_;
- given_count = given_count_;
- }
- card Card;
- // для изменений значения
- void menu_edit_book_count() {
- int total_count, given_count;
- do {
- cout << "Введите суммарное кол-во экземпляров книги: ";
- cin >> total_count;
- } while (total_count < 0);
- do {
- cout << "Введите выданное на руки число экземпляров книги: ";
- cin >> given_count;
- } while (given_count<0 || given_count>total_count);
- Card.change_count(total_count, given_count);
- }
- // для ввода значений
- void menu_add_book() {
- string caption, author;
- cout << "Введите название книги: ";
- cin >> caption;
- cout << "Введите автора книги: ";
- cin >> author;
- Card.set(caption, author, 0, 0);
- menu_edit_book_count();
- }
- // для вывода
- void menu_show_book() {
- Card.print();
- }
- // менюшка
- void menu() {
- int c;
- string text = "1) Добавить книгу\n2) Изменить кол-во книги\n3) Показать книгу \n4) Выйти\n>>>";
- cout << text;
- cin >> c;
- switch (c) {
- case 1: menu_add_book(); break;
- case 2: menu_edit_book_count(); break;
- case 3: menu_show_book(); break;
- case 4: return;
- default: cout << "Некорректный ввод. Попробуйте ещё раз.";
- }
- menu();
- }
- int main() {
- setlocale(LC_ALL, "rus");
- menu();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement