Question: CONVERT THIS CODE INTO C++ #include #include #include struct Student { int rollnumber; char name[100]; char phone[100]; float percentage; struct Student *next; }* head; void

CONVERT THIS CODE INTO C++

#include #include #include struct Student { int rollnumber; char name[100]; char phone[100]; float percentage; struct Student *next; }* head; void insert(int rollnumber, char* name, char* phone, float percentage) { struct Student * student = (struct Student *) malloc(sizeof(struct Student)); student->rollnumber = rollnumber; strcpy(student->name, name); strcpy(student->phone, phone); student->percentage = percentage; student->next = NULL; if(head==NULL){ // if head is NULL // set student as the new head head = student; } else{ // if list is not empty // insert student in beginning of head student->next = head; head = student; } } void search(int rollnumber) { struct Student * temp = head; while(temp!=NULL){ if(temp->rollnumber==rollnumber){ printf("Roll Number: %d ", temp->rollnumber); printf("Name: %s ", temp->name); printf("Phone: %s ", temp->phone); printf("Percentage: %0.4f ", temp->percentage); return; } temp = temp->next; } printf("Student with roll number %d is not found !!! ", rollnumber); } void update(int rollnumber) { struct Student * temp = head; while(temp!=NULL){ if(temp->rollnumber==rollnumber){ printf("Record with roll number %d Found !!! ", rollnumber); printf("Enter new name: "); scanf("%s", temp->name); printf("Enter new phone number: "); scanf("%s", temp->phone); printf("Enter new percentage: "); scanf("%f",&temp->percentage); printf("Updation Successful!!! "); return; } temp = temp->next; } printf("Student with roll number %d is not found !!! ", rollnumber); } void Delete(int rollnumber) { struct Student * temp1 = head; struct Student * temp2 = head; while(temp1!=NULL){ if(temp1->rollnumber==rollnumber){ printf("Record with roll number %d Found !!! ", rollnumber); if(temp1==temp2){ // this condition will run if // the record that we need to delete is the first node // of the linked list head = head->next; free(temp1); } else{ // temp1 is the node we need to delete // temp2 is the node previous to temp1 temp2->next = temp1->next; free(temp1); } printf("Record Successfully Deleted !!! "); return; } temp2 = temp1; temp1 = temp1->next; } printf("Student with roll number %d is not found !!! ", rollnumber); } void display() { struct Student * temp = head; while(temp!=NULL){ printf("Roll Number: %d ", temp->rollnumber); printf("Name: %s ", temp->name); printf("Phone: %s ", temp->phone); printf("Percentage: %0.4f ", temp->percentage); temp = temp->next; } } int main() { head = NULL; int choice; char name[100]; char phone[100]; int rollnumber; float percentage; printf("1 to insert student details 2 to search for student details 3 to delete student details 4 to update student details 5 to display all student details"); do { printf(" Enter Choice: "); scanf("%d", &choice); switch (choice) { case 1: printf("Enter roll number: "); scanf("%d", &rollnumber); printf("Enter name: "); scanf("%s", name); printf("Enter phone number: "); scanf("%s", phone); printf("Enter percentage: "); scanf("%f", &percentage); insert(rollnumber, name, phone, percentage); break; case 2: printf("Enter roll number to search: "); scanf("%d", &rollnumber); search(rollnumber); break; case 3: printf("Enter roll number to delete: "); scanf("%d", &rollnumber); Delete(rollnumber); break; case 4: printf("Enter roll number to update: "); scanf("%d", &rollnumber); update(rollnumber); break; case 5: display(); break; } } while (choice != 0); }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!