Modify the following code to make it pointer implementation of stack in C language: #include #include #include char data[100][100]; // 2d char array to store all the input data int count = 0,u_count=0; // count is the universal counter,u_count undo counter // making count -- and u_count++ if count >0 void undo() { if(count>0) { count --; u_count ++; } } // making count++ if count < 99 and undo count > 0 void redo() { if(count<99 && u_count > 0) { count++; u_count --; } } //Printing upto the counter from the data char array void print() { for(int i =0;i "); gets(inp); if(!strcmp(inp,"undo")) undo(); else if(!strcmp(inp,"redo")) redo(); else if(!strcmp(inp,"print")) print(); else if(!strcmp(inp,"save")) save(); else if(!strcmp(inp,"quit")) exit(0); else add(inp); } }

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

Modify the following code to make it pointer implementation of stack in C language:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char data[100][100]; // 2d char array to store all the input data
int count = 0,u_count=0; // count is the universal counter,u_count undo counter
// making count -- and u_count++ if count >0
void undo()
{
if(count>0)
{
count --;
u_count ++;
}
}
// making count++ if count < 99 and undo count > 0
void redo()
{
if(count<99 && u_count > 0)
{
count++;
u_count --;
}
}
//Printing upto the counter from the data char array
void print()
{
for(int i =0;i<count;i++)
printf("%s\n",data[i]);
}
// writing to the file upto the counter in output.txt
void save()
{
FILE *filePointer;
filePointer = fopen("output.txt","w");
for(int i=0;i<count;i++)
fprintf(filePointer,"%s\n",data[i]);
}
//saving the input data to 2d char array data
void add(char *str)
{
strcpy(data[count],str);
count++;
}
int main()
{
while(1)
{
char inp[100];
printf("MyCommand > ");
gets(inp);
if(!strcmp(inp,"undo"))
undo();
else if(!strcmp(inp,"redo"))
redo();
else if(!strcmp(inp,"print"))
print();
else if(!strcmp(inp,"save"))
save();
else if(!strcmp(inp,"quit"))
exit(0);
else
add(inp);
}
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Similar questions
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