How to implement update function using linked list into my code C++? #include using namespace std; // Node Class class Node { public: int matric; string Name; string course; int result; Node* next; }; // Stores the head of the Linked List Node* head = new Node(); // Check Function to check that if // Record Already Exist or Not bool check(int x) { // Base Case if (head == NULL) return false; Node* t = new Node; t = head; // Traverse the Linked List while (t != NULL) { if (t->matric == x) return true; t = t->next; } return false; } // Function to insert the record void Insert_Record(int matric, string Name, string course, int result) { // if Record Already Exist if (check(matric)) { cout << "Student with this " << "record Already Exists\n"; return; } // Create new Node to Insert Record Node* t = new Node(); t->matric = matric; t->Name = Name; t->course = course; t->result = result; t->next = NULL; // Insert at Begin if (head == NULL || (head->matric >= t->matric)) { t->next = head; head = t; } // Insert at middle or End else { Node* c = head; while (c->next != NULL && c->next->matric < t->matric) { c = c->next; } t->next = c->next; c->next = t; } cout << "Record Inserted " << "Successfully\n"; } // Function to search record for any // students Record with matric number void Search_Record(int matric) { // if head is NULL if (!head) { cout << "No such Record " << "Available\n"; return; } // Otherwise else { Node* p = head; while (p) { if (p->matric == matric) { cout << "Matric number\t" << p->matric << endl; cout << "Name\t\t" << p->Name << endl; cout << "Course\t" << p->course << endl; cout << "Result\t\t" << p->result << endl; return; } p = p->next; } if (p == NULL) cout << "No such Record " << "Available\n"; } } // Function to delete record students // record with given matric number // if it exist int Delete_Record(int matric) { Node* t = head; Node* p = NULL; // Deletion at Begin if (t != NULL && t->matric == matric) { head = t->next; delete t; cout << "Record Deleted " << "Successfully\n"; return 0; } // Deletion Other than Begin while (t != NULL && t->matric != matric) { p = t; t = t->next; } if (t == NULL) { cout << "Record does not Exist\n"; return -1; p->next = t->next; delete t; cout << "Record Deleted " << "Successfully\n"; return 0; } } // Function to display the Student's // Record void Show_Record() { Node* p = head; if (p == NULL) { cout << "No Record " << "Available\n"; } else { cout << "Index\tName\tCourse" << "\tResult\n"; // Until p is not NULL while (p != NULL) { cout << p->matric << " \t" << p->Name << "\t" << p->course << "\t" << p->result << endl; p = p->next; } } } // Driver code int main() { head = NULL; string Name, Course; int matric, result; // Menu-driven program while (true) { cout << "\n\t\tWelcome to Student Record " "Management System\n\n\tPress\n\t1 To " "create a new record\n\t2 To delete a " "student record\n\t3 To search a student " "record\n\t4 To view all students " "record\n\t5 To exit\n"; cout << "\nEnter your Choice\n"; int Choice; // Enter Choice cin >> Choice; if (Choice == 1) { cout << "Enter student name\n"; cin >> Name; cout << "Enter matric number of student\n"; cin >> matric; cout << "Enter student course \n"; cin >> Course; cout << "Enter student result\n"; cin >> result; Insert_Record(matric, Name, Course, result); } else if (Choice == 2) { cout << "Enter Matric Number of Student whose " "record is to be deleted\n"; cin >> matric; Delete_Record(matric); } else if (Choice == 3) { cout << "Enter Matric Number of Student whose " "record you want to Search\n"; cin >> matric; Search_Record(matric); } else if (Choice == 4) { Show_Record(); } else if (Choice == 5) { exit(0); } else { cout << "Invalid Choice " << "Try Again\n"; } } return 0; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
icon
Concept explainers
Question

How to implement update function using linked list into my code C++?

#include <bits/stdc++.h>
using namespace std;

// Node Class
class Node {
public:
int matric;
string Name;
string course;
int result;
Node* next;
};

// Stores the head of the Linked List
Node* head = new Node();

// Check Function to check that if
// Record Already Exist or Not
bool check(int x)
{
// Base Case
if (head == NULL)
return false;

Node* t = new Node;
t = head;

// Traverse the Linked List
while (t != NULL) {
if (t->matric == x)
return true;
t = t->next;
}

return false;
}

// Function to insert the record
void Insert_Record(int matric, string Name,
string course, int result)
{
// if Record Already Exist
if (check(matric)) {
cout << "Student with this "
<< "record Already Exists\n";
return;
}

// Create new Node to Insert Record
Node* t = new Node();
t->matric = matric;
t->Name = Name;
t->course = course;
t->result = result;
t->next = NULL;

// Insert at Begin
if (head == NULL
|| (head->matric >= t->matric)) {
t->next = head;
head = t;
}

// Insert at middle or End
else {
Node* c = head;
while (c->next != NULL
&& c->next->matric < t->matric) {
c = c->next;
}
t->next = c->next;
c->next = t;
}

cout << "Record Inserted "
<< "Successfully\n";
}

// Function to search record for any
// students Record with matric number
void Search_Record(int matric)
{
// if head is NULL
if (!head) {
cout << "No such Record "
<< "Available\n";
return;
}

// Otherwise
else {
Node* p = head;
while (p) {
if (p->matric == matric) {
cout << "Matric number\t"
<< p->matric << endl;
cout << "Name\t\t"
<< p->Name << endl;
cout << "Course\t"
<< p->course << endl;
cout << "Result\t\t"
<< p->result << endl;
return;
}
p = p->next;
}

if (p == NULL)
cout << "No such Record "
<< "Available\n";
}
}

// Function to delete record students
// record with given matric number
// if it exist
int Delete_Record(int matric)
{
Node* t = head;
Node* p = NULL;

// Deletion at Begin
if (t != NULL
&& t->matric == matric) {
head = t->next;
delete t;

cout << "Record Deleted "
<< "Successfully\n";
return 0;
}

// Deletion Other than Begin
while (t != NULL && t->matric != matric) {
p = t;
t = t->next;
}
if (t == NULL) {
cout << "Record does not Exist\n";
return -1;
p->next = t->next;

delete t;
cout << "Record Deleted "
<< "Successfully\n";

return 0;
}
}

// Function to display the Student's
// Record
void Show_Record()
{
Node* p = head;
if (p == NULL) {
cout << "No Record "
<< "Available\n";
}
else {
cout << "Index\tName\tCourse"
<< "\tResult\n";

// Until p is not NULL
while (p != NULL) {
cout << p->matric << " \t"
<< p->Name << "\t"
<< p->course << "\t"
<< p->result << endl;
p = p->next;
}
}
}

// Driver code
int main()
{
head = NULL;
string Name, Course;
int matric, result;

// Menu-driven program
while (true) {
cout << "\n\t\tWelcome to Student Record "
"Management System\n\n\tPress\n\t1 To "
"create a new record\n\t2 To delete a "
"student record\n\t3 To search a student "
"record\n\t4 To view all students "
"record\n\t5 To exit\n";
cout << "\nEnter your Choice\n";
int Choice;

// Enter Choice
cin >> Choice;
if (Choice == 1) {
cout << "Enter student name\n";
cin >> Name;
cout << "Enter matric number of student\n";
cin >> matric;
cout << "Enter student course \n";
cin >> Course;
cout << "Enter student result\n";
cin >> result;
Insert_Record(matric, Name, Course, result);
}
else if (Choice == 2) {
cout << "Enter Matric Number of Student whose "
"record is to be deleted\n";
cin >> matric;
Delete_Record(matric);
}
else if (Choice == 3) {
cout << "Enter Matric Number of Student whose "
"record you want to Search\n";
cin >> matric;
Search_Record(matric);
}
else if (Choice == 4) {
Show_Record();
}
else if (Choice == 5) {
exit(0);
}
else {
cout << "Invalid Choice "
<< "Try Again\n";
}
}
return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Types of Linked List
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education