n C LANGUAGE Add a method to print the edited stack on a file (output.txt):   #include #include struct node { char data[100]; struct node *link; }*front, *rear; struct node *list=NULL; void insert() { struct node *temp; temp = (struct node*)malloc(sizeof(struct node)); printf("Enter the element to be inserted in the queue: "); scanf("%s",temp->data); temp->link = NULL; if (rear == NULL) { front = rear = temp; } else { rear->link = temp; rear = temp; } } void display() { struct node *temp; temp = front; int cnt = 0; if (front == NULL) { printf("Queue underflow\n"); } else { printf("The elements of the stack are:\n"); while (temp) { printf("%s\n", temp->data); temp = temp->link; cnt++; } } } void undo() { struct node *temp=front; if(front == NULL) printf("\nNO element to Undo.\n"); else { while(temp->link->link) { temp=temp->link; } if(list==NULL) { list=temp->link; temp->link=NULL; } else { temp->link->link=list; list=temp->link; temp->link=NULL; } } } void redo() { struct node *temp=front; if(list == NULL) printf("\nNO element to Redo.\n"); else { while(temp->link) { temp=temp->link; } temp->link=list; list=list->link; temp->link->link=NULL; } } int main() { printf("Welcome to DataFlair tutorials!\n\n"); int choice; printf ("LINKED LIST IMPLEMENTATION OF QUEUES\n\n"); do { printf("1. Insert \n2. Display\n3. Undo \n4. Redo \n5. Exit\n\n"); printf("Enter your choice:"); scanf("%d",&choice); switch(choice) { case 1: insert(); break; case 2: display(); break; case 3: undo(); break; case 4: redo(); break; case 5: exit(0); break; default: printf("Sorry, invalid choice!\n"); break; } } while(choice!=5); return 0; }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

In C LANGUAGE

Add a method to print the edited stack on a file (output.txt):

 

#include <stdio.h>
#include <stdlib.h>
struct node
{
char data[100];
struct node *link;
}*front, *rear;

struct node *list=NULL;
void insert()
{
struct node *temp;
temp = (struct node*)malloc(sizeof(struct node));
printf("Enter the element to be inserted in the queue: ");
scanf("%s",temp->data);
temp->link = NULL;
if (rear == NULL)
{
front = rear = temp;
}
else
{
rear->link = temp;
rear = temp;
}
}

void display()
{
struct node *temp;
temp = front;
int cnt = 0;
if (front == NULL)
{
printf("Queue underflow\n");
}
else
{
printf("The elements of the stack are:\n");
while (temp)
{
printf("%s\n", temp->data);
temp = temp->link;
cnt++;
}
}
}
void undo()
{
struct node *temp=front;

if(front == NULL)
printf("\nNO element to Undo.\n");
else
{
while(temp->link->link)
{
temp=temp->link;
}
if(list==NULL)
{ list=temp->link;
temp->link=NULL;
}
else
{
temp->link->link=list;
list=temp->link;
temp->link=NULL;
}
}
}
void redo()
{
struct node *temp=front;

if(list == NULL)
printf("\nNO element to Redo.\n");
else
{
while(temp->link)
{
temp=temp->link;
}
temp->link=list;
list=list->link;
temp->link->link=NULL;
}
}
int main()
{
printf("Welcome to DataFlair tutorials!\n\n");
int choice;
printf ("LINKED LIST IMPLEMENTATION OF QUEUES\n\n");
do
{
printf("1. Insert \n2. Display\n3. Undo \n4. Redo \n5. Exit\n\n");
printf("Enter your choice:");
scanf("%d",&choice);
switch(choice)
{
case 1:
insert();
break;
case 2:
display();
break;
case 3:
undo();
break;
case 4:
redo();
break;
case 5:
exit(0);
break;
default:
printf("Sorry, invalid choice!\n");
break;
}
} while(choice!=5);
return 0;
}

Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY