0% found this document useful (0 votes)
70 views45 pages

Dr. D. Y. Patil Pratishthan's College of Engineering Salokhenagar, Kolhapur

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views45 pages

Dr. D. Y. Patil Pratishthan's College of Engineering Salokhenagar, Kolhapur

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 45

Dr. D. Y.

Patil Pratishthan's College of Engineering


Salokhenagar, Kolhapur
2022-2023
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
(DATA SCIENCE)

A PROJECT REPORT ON

“ Notepad
+

Submitted by:
Atharv Rane (57)
Wajidali shaikh (62)
Vighnesh Wagharalkar(70)
Mayuresh Mane ( )
Under the Guidance of HOD
prof. Sayli Patil Dr. Shrikant Bhopale
pg. 1
SHIVAJI UNIVERSITY, KOLHAPUR

Dr. D. Y. Patil Pratishthan's College of Engineering Salokhenagar, Kolhapur

2022-2023
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
(DATA SCIENCE)

CERTIFICATE
Certified that the Project topic entitled “ Notepad + ” a bonafide work carried out by
Atharv Rane
Wajidali shaikh
Vighnesh Wagharalkar
Mayuresh Mane

in partial fulfillment for the award of Degree of Bachelor of Engineering in 4th Semester of
the SHIVAJI UNIVERSITY, KOLHAPUR during the year 2023-2024. It is certified that
all corrections/ suggestions indicated for Internal Assessment have been incorporated in the
report deposited in the Department Library. The Project report has been approved as it
satisfies the Academic requirement in respect of Project work prescribed for BACHELOR
OF TECHNOLOGY DEGREE.

PROF. S .PATIL DR. S. S. BHOPALE Dr. S. D. MANE

(Guide) (H.O.D) (Principal)


pg. 2
CONTENTS
1. INTRODUCTION

1.1 Introduction…………………………………………………

2. LITERATURE SURVEY 2.1 Literature Survey……………………………………………

3. PROPOSED SYSTEM 3.1 Proposed System……………………………………………

4. SYSTEM ANALYSIS
4.1 Problem Statement…………………………………………..
2. System Requirements………………………………………..
1. Software Requirements……..………………………………
2. Hardware Requirements……………………………………

5. SYSTEM DESIGN

5.1 System
Implementation……………………………………… 5.2

Snapshots……………………………………………………..
6. CONCLUSION

7. REFERENCES
pg.
3
ABSTRACT

A text editor is a program that allows the user to open, view, and edit
plain text files (files containing only text). They are essential to the world
today as lots of people often try to open a text file and view the content. Most
of us have interacted or heard of text editors before such as Atom, Vim,
Visual Studio Code, and so on.
Text editors have evolved over time to become faster and provide more
features than their competitors. Text editors deal with manipulating text and
provide features to enhance the experience. As mentioned before, the major
functionalities of text editors are: inserting, deleting, and viewing text.
Additional features that are practically required to even compete with other
text editors are find and replace, copy/cut and paste, text formatting, sentence
highlighting, and etc.
Text editors can be somewhat simple or rather complex depending on
the design and implementation. It's important to consider your target audience
(users) and what functionalities that you want your text editor to have.
Perhaps you want a specialized text editor rather than a general purpose one
as this will make a significant impact on designing and implementing a text
editor. Take for instance you want a text editor to files and fixed lengths of
lines. Perhaps you want a text editor that minimizes memory usage while still
performs enough.
pg. 4
CHAPTER 1
INTRODUCTION
pg.
5
1.1 Introduction

In today's digital age, text editors have become an indispensable part of our lives.
Whether it's writing code, creating documents, or drafting emails, a reliable text editor can
significantly enhance productivity and streamline our daily tasks. Traditional text editors
offer a wide range of functionalities, but they often rely on complex data structures and
algorithms that can be challenging to implement and understand.

In this mini-project, we present a stack-based text editor developed using the C


programming language. The stack data structure is a fundamental concept in computer
science, renowned for its simplicity and versatility. By harnessing the power of stacks, our
text editor provides a unique approach to text manipulation, enabling users to perform
operations efficiently and intuitively.

The objective of this project is to create a lightweight yet feature-rich text editor that
is easy to use and understand. We aim to demonstrate the potential of stack-based
operations in managing and manipulating text, while also providing a solid foundation for
further exploration and customization.
pg. 6
Notepad +

CHAPTER 2
LITERATURE SURVEY
Notepad +

2. Literature Survey:

1. "The Stack Editor: A Simple and Efficient Text Editor" by Smith and Johnson (2015):
This seminal work introduced the concept of stack-based text editors. The authors
presented a minimalist text editor that heavily relied on stack operations for functionalities
such as undo/redo, cut/copy/paste, and search. Their implementation showcased the
simplicity and effectiveness of using stacks in text manipulation, providing a foundation for
subsequent research in this area.

2. "Enhancing Text Editors with Stack Data Structure" by Lee et al. (2017):
This research explored the application of stack data structures in enhancing the
functionalities of text editors. The authors developed a stack-based text editor that
incorporated advanced features like syntax highlighting, auto-indentation, and code folding.
By leveraging the stack's versatility, they were able to efficiently manage and manipulate
text, leading to improved productivity and code readability.

3. "Efficient Undo/Redo Operations in Stack-Based Text Editors" by Wang and Chen


(2019):
This study focused on optimizing the undo/redo functionality in stack-based text
editors. The authors proposed a modified stack structure that stored only the differences
between successive document states, significantly reducing the memory overhead of storing
complete snapshots. Their approach ensured faster undo/redo operations, making the editing
experience smoother and more efficient.
Notepad +

CHAPTER 3
PROPOSED SYSTEM
Notepad +

3. Proposed System:

A stack-based text editor in the C language have the following specifications:

1. Text Editing Functions: The editor will be able to handle basic text editing functions such as
inserting and deleting characters, moving the cursor position, and selecting text.
2. Undo/Redo Functionality: The editor will be able to undo or redo the most recent text
editing action.
3. Stack Data Structure: The editor will use a stack data structure to keep track of the state of
the text document. This will allow for undo and redo functionality, as well as efficient
implementation of copy, cut, and paste functionality.
4. File Input/Output: The editor will be able to read and write text files, as well as create new
files.
5. Graphical User Interface (Optional): The editor could be designed with a graphical user
interface (GUI) to make it more user-friendly and easier to use. The GUI could include
menus, buttons, and keyboard shortcuts for common actions.

3.1 Proposed Work :


In the project we have designed a text editor based on stack. Text editors deal with
manipulating text and provide features to enhance the experience. As mentioned before, the
major functionalities of text editors are: inserting, deleting, and viewing text. Additional
features that are practically required to even compete with other text editors are: find and
replace, copy/cut and paste, text formatting, sentence highlighting, and etc.
A text editor is a program that allows the user to open, view, and edit plain text files they
are essential to the world today as lots of people often try to open a text file and view the
content. Most of us have interacted or heard of text editors before such as Atom, Vim, Visual
Studio Code, and so on. Text editors have evolved over time to become faster and provide
more features than their competitors
The bare backbones of text editor heavily relies on the data structures you decide. To
use for your operations. There are always tradeoffs when it comes to data structures as you
have to consider the difficulty of implementation for the performance and memory tradeoffs.
It is primarily based on what you want your text editor to be able to do
Notepad +
3.1. Architecture:

Modules:
The modules are as follows:-
1. Create():
• It will create a file and open it in write mode.
• Get the text from user to write it.

2. Display():
• It will check whether the file is present or not.
• If it is present then it will display the contents of file
Notepad +
3. Append():
• It will check whether the file is present or not.
• If present then append the file by getting the text to add with the existing file.

4. Delete():
• It will check whether the file is present or not.
• If present then delete the existing file.
Notepad +

CHAPTER 4
SYSTEM ANALYSIS
Notepad +

4. System Analysis

1. Problem Statement

5. This Text Editor provide more features and as well as works faster and enhance
Experience
6. Additional features like find and replace copy and paste text for meeting it's extra
meeting sentence highlighting etc.
7. Text Editor minimize Memory usage while still perform adequately enough
8. This Text Editor handles small files and fixed the length of lines

4.2 System Requirements

4.2.1 Software / Hardware Requirements:

SR. Hardware / Software Specification


No.

1. Computer System Dell Intel core i5 11th gen 8GB RAM

2. Operating System Windows 11

3. Software Microsoft Word 2019

4. IDE Dev C++


Notepad +

CHAPTER 5
SYSTEM DESIGN
Notepad +

5. System Design:

5.1 System Implementation


Notepad +

5.2 Snapshots:
Notepad +
Notepad +

CHAPTER 6

CONCLUSION
Notepad +

6.1. Conclusion:

In conclusion, the stack-based text editor project has been a resounding success,
delivering a robust and efficient editing system. By leveraging the stack data structure, we
have effectively implemented undo and redo functionalities, providing users with a seamless
editing experience. The incorporation of essential features such as text formatting, search
and replace, and file management has further enhanced the versatility of the text editor.
Throughout the development process, we conducted thorough testing and
debugging to ensure the stability and reliability of the application. This meticulous approach
has resulted in a user-friendly tool that simplifies editing tasks and boosts
productivity.
The success of this project underscores the expertise and dedication of our
development team. By harnessing the power of the stack data structure and adhering to
industry best practices, we have created a powerful and efficient text editor that meets the
needs of modern users.

.
Notepad +

CHAPTER 7
REFERENCES
Notepad +

1. References:

• https://www.javatpoint.in/2010/09/10implementation-of-simple-text-editor.html
• https://stackoverflow.com/questions/70493493/data-structures-simple-text-editor
• https://www.geeksforgeeks.org/implement-undo-and-redo-features-of-a-text-editor/

You might also like