DSL CODE 7
DSL CODE 7
INPUTE:-
#include <iostream>
#include <cstring>
struct node {
char name[50];
node* next;
};
class Info {
public:
node* create();
void insertPresident();
void insertMember();
void insertSecretary();
void deletePresident();
void deleteMember();
void deleteSecretary();
void display();
void countMembers();
void reverseList();
void concatenate();
};
node* Info::create() {
char a[50];
cin >> a;
strcpy(p->name, a);
p->next = NULL;
return p;
void Info::insertPresident() {
node *p = create();
if (head == NULL) {
head = p;
} else {
p->next = head;
head = p;
}
void Info::insertMember() {
node *p = create();
if (head == NULL) {
head = p;
} else {
temp = temp->next;
temp->next = p;
void Info::insertSecretary() {
node *p = create();
if (head == NULL) {
head = p;
} else {
temp = temp->next;
}
temp->next = p;
void Info::deletePresident() {
if (head == NULL) {
return;
head = head->next;
delete temp;
void Info::deleteMember() {
if (head == NULL) {
return;
int prnToDelete;
prev = temp;
temp = temp->next;
if (temp == NULL) {
return;
if (prev != NULL) {
prev->next = temp->next;
} else {
head = temp->next;
delete temp;
void Info::deleteSecretary() {
if (head == NULL) {
return;
}
node *temp = head;
prev = temp;
temp = temp->next;
if (prev != NULL) {
prev->next = NULL;
} else {
head = NULL;
delete temp;
void Info::display() {
if (head == NULL) {
return;
cout << temp->prn << "\t" << temp->rollno << "\t" << temp->name << endl;
temp = temp->next;
void Info::countMembers() {
int count = 0;
count++;
temp = temp->next;
void Info::reverseList() {
reverseDisplay(head);
if (temp == NULL) {
return;
}
reverseDisplay(temp->next);
cout << temp->prn << "\t" << temp->rollno << "\t" << temp->name << endl;
void Info::concatenate() {
Info list2;
int n;
cout << "Enter the number of members in the second list: ";
cin >> n;
list2.insertMember();
if (temp == NULL) {
head = list2.head;
} else {
temp = temp->next;
temp->next = list2.head;
int main() {
Info info;
int choice;
char ch;
do {
switch (choice) {
case 1:
info.insertPresident();
break;
case 2:
info.insertMember();
break;
case 3:
info.insertSecretary();
break;
case 4:
info.deletePresident();
break;
case 5:
info.deleteMember();
break;
case 6:
info.deleteSecretary();
break;
case 7:
info.display();
break;
case 8:
info.countMembers();
break;
case 9:
info.reverseList();
break;
case 10:
info.concatenate();
break;
default:
return 0;