From 8f57d59dbd5b13b08389dd18c7412eac5fb3a398 Mon Sep 17 00:00:00 2001 From: pkcs2aq9m Date: Fri, 21 Apr 2023 22:38:12 +0800 Subject: [PATCH] ADD file via upload --- data.h | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 data.h diff --git a/data.h b/data.h new file mode 100644 index 0000000..5f19df2 --- /dev/null +++ b/data.h @@ -0,0 +1,212 @@ +#ifndef DATA_H_INCLUDED +#define DATA_H_INCLUDED + +#include +#include "sqlist.h" + + +// 函数声明 + +void print_book(void); // 打印 +void query_book(void); // 查询 +void add_book(void); // 添加 +void delete_book(void); // 删除 +void boorow_book(void); // 借书 +void repaid_book(void); // 还书 + + +void DoAddBook(); // 添加图书 +void DoFindBook(); // 查找图书 +void DoDeleteBook(); // 删除图书 +void DoPrintBook(); // 打印所有图书 +void DoRepaidBook(); // 归还图书 +void DoBoorowBook(); // 借用图书 + + + + +void repaid_book(void) // 还书 + { + printf("还书\n"); + } +void boorow_book(void) // 借书 + { + printf("借书\n"); + } +void query_book(void) // 查询 + { + printf("查书\n"); + } +void print_book(void) // 打印 + { + printf("打印\n"); + } +void add_book(void) // 添加 + { + puts("添加"); + } +void delete_book(void) // 删除 + { + puts("删除"); + } + + + + + +struct Book { + int id; // 编号 + string title; // 标题 + int number; // 数量 + }; + +SqList books; + + // 输入一本书的信息 +void input(Book& b) +{ + cout << "ID : "; + cin >> b.id; + cin.ignore(1024, '\n'); // skip rest chars of the line + cout << "TITLE : "; + getline(cin, b.title); + cout << "Number : "; + while (1){ + cin >> b.number; + if (b.number>0) break; + cout << "Number ERROR" << endl; + cout << "Input again" << endl; + } +} + +// 打印一本书的信息 +void print(const Book& b) +{ + cout << "Book " << endl << endl + <<"**************** id: " << b.id << " ****************" << endl + << "**** title: 《 " << b.title << " 》****" << endl + << "************** Number: " << b.number << " **************" << endl << endl; +} + +// 根据 id 查找图书 +// 若找到,返回元素的位序,找不到时返回 0 +int find(int id) +{ + + for (int i = 1; i <= books.length; i++) + { + if (id == books.elem[i].id){ + return i; + } + } + return 0; // not found +} + + +// 添加图书 +void DoAddBook() +{ + Book book; + input(book); //输入图书 + books.elem[books.length + 1] = book; + books.length++; + print(book); + cout << "*******Added********" << endl; +} + +// 查找图书 +void DoFindBook() +{ + int id; + cout << "Enter book ID: "; + cin >> id; + + Book book; + if (find(id) == 0) + cout << "Not found" << endl; + else + { + book = books.elem[find(id)]; + cout << "Found" << endl; + cout << "************" << endl; + print(book); + } +} + +// 删除图书 +void DoDeleteBook() +{ + int id; + cout << "Which book you wanna delelet?"<> id; + Book e; + if (find(id) == 0) + cout << "Not found" << endl; + else + { + e = books.elem[find(id)]; + print(e); + for (int i = find(id); i < books.length; i++) + { + books.elem[i] = books.elem[i + 1]; + } + --books.length; + cout << "************************" << endl; + cout << "Deleted" << endl; + } +} + +// 打印所有图书 +void DoPrintBook() +{ + int flag = 0; + for (int i = 0; i < books.length; i++) + { + Book e; + e = books.elem[i + 1]; + print(e); + flag++; + } + cout << "Total: "; + cout << flag; + cout << " books" << endl; +} + +// 归还图书 +void DoRepaidBook() +{ + int id; + cout << "Which book you wanna repaid ? " << endl; + cin >> id; + cout << endl; + if (find(id)){ + Book e; + e = books.elem[find(id)]; + ++books.elem[find(id)].number; + }else{ + DoAddBook(); + } +} + +// 借用图书 +void DoBoorowBook() +{ + int id; + cout << "Which book you wanna boorow ? " << endl; + cin >> id; + cout << endl; + if (find(id)){ + if (books.elem[find(id)].number>0) { + Book e; + e = books.elem[find(id)]; + cout<< "*********"<< endl << "OK" << endl << "*********"<