diff --git a/homework2/CMakeLists.txt b/homework2/CMakeLists.txt new file mode 100644 index 0000000..5d741ae --- /dev/null +++ b/homework2/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.29) +project(homework2) + +set(CMAKE_CXX_STANDARD 20) + +add_executable(Test_LinkList LinkLits.cpp + Test_LinkList.cpp) diff --git a/homework2/LinkLits.cpp b/homework2/LinkLits.cpp new file mode 100644 index 0000000..2b55ce0 --- /dev/null +++ b/homework2/LinkLits.cpp @@ -0,0 +1,29 @@ +#include +#include +using namespace std; + +typedef struct bookNode { + string id; + string name; + double price; + bookNode *next; +} book_node, *bookList; + +bool is_list_empty(bookList *l) { + if ((*l)->next == NULL) { + return true; + } + return false; +} + +void display(bookList *l) { + if (is_list_empty(l)) { + printf("List is empty\n"); + } else { + bookNode *temp = (*l)->next; + while (temp != NULL) { + cout << temp->id << " " << temp->name << " " << fixed << setprecision(2) << temp->price << endl; + temp = temp->next; + } + } +} diff --git a/homework2/Test_LinkList.cpp b/homework2/Test_LinkList.cpp new file mode 100644 index 0000000..95e567b --- /dev/null +++ b/homework2/Test_LinkList.cpp @@ -0,0 +1,23 @@ +#include +#include "LinkLits.cpp" +using namespace std; + +void insert(bookList *l) { + bookNode *temp = (*l)->next; + while (temp != NULL) { + cin >> (*temp).id >> (*temp).name >> (*temp).price; + if (!(((*temp).id == "" && (*temp).name == "" && (*temp).price == 0))) { + temp = (*temp).next; + } else { + temp = NULL; + } + } +} + +int main() { + bookList books = new bookNode; + books->next = NULL; + insert(&books); + display(&books); + return 0; +}