a) Understanding linked list with class. Write the following program in your IDE and do the exercise. #include using namespace std; // Node class class Node { int data; Node* next; public: Node() {}; void setData(int aData) { data = aData; }; void setNext(Node* aNext) { next = aNext; }; int Data() { return data; }; Node* Next() { return next; }; }; // List class class List { Node *head; public: List() { head = NULL; }; void addNode(int data); }; //Append a node to the linked list void List::addNode(int data) { // Create a new node Node* newNode = new Node(); newNode->setData(data); newNode->setNext(NULL); // Create a temp pointer Node *tmp = head; if ( tmp != NULL ) { // Nodes already present in the list while ( tmp->Next() != NULL ) { tmp = tmp->Next(); } // Point the last node to the new node tmp->setNext(newNode); } else { // First node in the list head = newNode; } } 1. Create a print function to print the list content. 2. Create a main to test the program and add the following node values to the linked list: 10, 20, 50. Print the content of the list. b) Building a Point of Sales (POS) linked list data structure. In a POS system, a transaction is based on items purchased by the customer. The following is an example of a customer transaction receipt, where the prices shown in the receipt are GST inclusive. Write a linked list classes (one class for Node and another class for List), which store the items in the transaction. Test the classes by printing the items in the linked list and show the total price of the transaction. The following listing is the sample output for your reference: ============================== BC Items Price ============================== 10 Pagoda Gnut 110g 3.49 11 Hup Seng Cream Cracker 4.19 12 Yit Poh 2n1 Kopi-o 7.28 13 Zoelife SN & Seed 5.24 14 Gatsby S/FO Wet&Hard 16.99 15 GB W/G U/Hold 150g 6.49 ============================== Total (GST Incl.) 43.68 ==============================
Types of Linked List
A sequence of data elements connected through links is called a linked list (LL). The elements of a linked list are nodes containing data and a reference to the next node in the list. In a linked list, the elements are stored in a non-contiguous manner and the linear order in maintained by means of a pointer associated with each node in the list which is used to point to the subsequent node in the list.
Linked List
When a set of items is organized sequentially, it is termed as list. Linked list is a list whose order is given by links from one item to the next. It contains a link to the structure containing the next item so we can say that it is a completely different way to represent a list. In linked list, each structure of the list is known as node and it consists of two fields (one for containing the item and other one is for containing the next item address).
a) Understanding linked list with class. Write the following program in your IDE and do the exercise.
#include <iostream>
using namespace std;
// Node class
class Node {
int data;
Node* next;
public:
Node() {};
void setData(int aData) { data = aData; };
void setNext(Node* aNext) { next = aNext; };
int Data() { return data; };
Node* Next() { return next; };
};
// List class
class List {
Node *head;
public:
List() { head = NULL; };
void addNode(int data);
};
//Append a node to the linked list
void List::addNode(int data) {
// Create a new node
Node* newNode = new Node();
newNode->setData(data);
newNode->setNext(NULL);
// Create a temp pointer
Node *tmp = head;
if ( tmp != NULL ) {
// Nodes already present in the list
while ( tmp->Next() != NULL ) {
tmp = tmp->Next();
}
// Point the last node to the new node
tmp->setNext(newNode);
}
else {
// First node in the list
head = newNode;
}
}
1. Create a print function to print the list content.
2. Create a main to test the program and add the following node values to the linked list:
10, 20, 50. Print the content of the list.
b) Building a Point of Sales (POS) linked list data structure.
In a POS system, a transaction is based on items purchased by the customer. The following is an example of a customer transaction receipt, where the prices shown in the receipt are GST inclusive.
Write a linked list classes (one class for Node and another class for List), which store the items in the transaction. Test the classes by printing the items in the linked list and show the total price of the transaction. The following listing is the sample output for your reference:
==============================
BC Items Price
==============================
10 Pagoda Gnut 110g 3.49
11 Hup Seng Cream Cracker 4.19
12 Yit Poh 2n1 Kopi-o 7.28
13 Zoelife SN & Seed 5.24
14 Gatsby S/FO Wet&Hard 16.99
15 GB W/G U/Hold 150g 6.49
==============================
Total (GST Incl.) 43.68
==============================
![RM
1072654 PAGODA GNUT 110G
1003376 HUP SENG CREAM CRAK
3158596 YIT FOH 2N1 KOPI-O 1
3173289 ZOELIFE S/N & SEEDS
1019929 GATSBY S/FO WET&HARD 16.99 S
4162999 GB W/G U/HOLD 150G
SUBTOTAL
3.49 S
4.19 S
7.28 S
5.24 S
6.49 S
43.68
TOTAL (GST INCL)
CASH
ROUNDING ADJUSTMENTS
CHANGE DUE
43.68
50.00
0.02
6.30
YOUR SAVINGS FOR TODAY
0.37
GST - Rate -----GST Excl -- GST Amt
S 6%
41.21
2.47](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F173302f2-d858-4e2b-a14c-a938f0fcd4d7%2Fdedf5623-5a0b-44ae-b734-5933268461a9%2Facareis_processed.jpeg&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 5 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)