n       char get() Delete and return the character at the cursor       char delete() Move the cursor k position to the left        void left (int k) Move the cursor k positions to the right       void right(int k)   Requirements:

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 1TF
icon
Related questions
Question

Write a program in C to insert or delete characters in a buffer. You need to use stack operations to maintain operations for a buffer in a text editor. The program implements the following operations using two stacks that are represented using linked list:

  • Create an empty buffer createBuffer()
  • Insert a character at the cursor position       insert()
  • Get the character at the cursor position       char get()
  • Delete and return the character at the cursor       char delete()
  • Move the cursor k position to the left        void left (int k)
  • Move the cursor k positions to the right       void right(int k)

 

Requirements:

  1. You need to implement the Stack ADT using either Array or Linked list implementation for the following operations in a file named “stack.h”:
    • Stack        initialize()
    • boolean IsEmpty (Stack)
    • character pop (Stack)
    • Stack push(Stack and character)
    • character top (Stack)
    • size(Stack)

 

  1. The driver program interface can be either menu-based driven application that displays buffer operations, or you can select your preferred interface.
  2. You need to implement the following constraints in the buffer operations:
  3. Can’t use the buffer before creating it.
  4. Can’t delete a character from an empty buffer.
  5. Move the cursor k positions to the right where k <= n and n is the number of characters-in the buffer. If k >= n then the cursor moves to the last character in the buffer.
  6. Move the cursor k positions to the left where current position – k < 0 returns the cursor to 0 position. For example, if current position is 5 and k = 10 then 5-10 = -5 <0 then cursor will be in position 0.
  7. Print the contents of the buffer after each operation requested by the user.
Write a program to insert or delete characters in a buffer. You need to use stack operations to
maintain operations for a buffer in a text editor. The program implements the following
operations using two stacks that are represented using linked list:
Create an empty buffer
• Insert a character at the cursor position
Get the character at the cursor position
• Delete and return the character at the cursor
createBuffer()
insert()
char get()
char delete()
void left (int k)
void right(int k)
Move the cursor k position to the left
• Move the cursor k positions to the right
Requirements:
1. You need to implement the Stack ADT using either Array or Linked list implementation
for the following operations in a file named "stack.h":
• Stack
• boolean
• character
• Stack
• character
• Integer.
initialize()
IsEmpty (Stack)
pop (Stack)
push(Stack and character)
top (Stack)
size(Stack)
2. The driver program interface can be either menu-based driven application that displays
buffer operations, or you can select your preferred interface.
3. You need to implement the following constraints in the buffer operations:
a. Can't use the buffer before creating it.
b. Can't delete a character from an empty buffer.
c. Move the cursor k positions to the right where k <=n and n is the number of
characters-in the buffer. If k >= n then the cursor moves to the last character in the
buffer.
d. Move the cursor k positions to the left where current position – k<0 returns the
cursor to 0 position. For example, if current position is 5 and k = 10 then 5-10 = -5 <0
then cursor will be in position 0.
e. Print the contents of the buffer after each operation requested by the user.
Transcribed Image Text:Write a program to insert or delete characters in a buffer. You need to use stack operations to maintain operations for a buffer in a text editor. The program implements the following operations using two stacks that are represented using linked list: Create an empty buffer • Insert a character at the cursor position Get the character at the cursor position • Delete and return the character at the cursor createBuffer() insert() char get() char delete() void left (int k) void right(int k) Move the cursor k position to the left • Move the cursor k positions to the right Requirements: 1. You need to implement the Stack ADT using either Array or Linked list implementation for the following operations in a file named "stack.h": • Stack • boolean • character • Stack • character • Integer. initialize() IsEmpty (Stack) pop (Stack) push(Stack and character) top (Stack) size(Stack) 2. The driver program interface can be either menu-based driven application that displays buffer operations, or you can select your preferred interface. 3. You need to implement the following constraints in the buffer operations: a. Can't use the buffer before creating it. b. Can't delete a character from an empty buffer. c. Move the cursor k positions to the right where k <=n and n is the number of characters-in the buffer. If k >= n then the cursor moves to the last character in the buffer. d. Move the cursor k positions to the left where current position – k<0 returns the cursor to 0 position. For example, if current position is 5 and k = 10 then 5-10 = -5 <0 then cursor will be in position 0. e. Print the contents of the buffer after each operation requested by the user.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning