Mini Project Document Template
Mini Project Document Template
Mini Project Document Template
Submitted By
ANJANA P
(Reg. No.2428C0009)
OCTOBER 2024
1
CERTIFICATE
2
CERTIFICATE
This is to certify that the Mini Project entitiled“ADDRESS BOOK SYSTEM ” is the
bonafide record of Mini Project work done by Student Name:ANJANA P, REGISTER
No:2428C0009 of I BSc Artificial Intelligence and Machine learning,during the academic year
2024-2025 of her study in the Department of ARTIFICIAL INTELLIGENCE AND MACHINE
LEARNING , Sri Krishna Adithya College of Arts and Science, Coimbatore.
EXAMINER
3
DECLARATION
4
DECLARATION
Date: (ANJANA P)
5
ACKNOWLEDGEMENT
6
ACKNOWLEDGEMENT
I first and foremost thank the almighty for having bestowed his blessings on me to
complete the mini project.
My sincere thanks and gratitude to all the faculty members of Department of Data
Science, Sri Krishna Adithya College of Arts and Science, Coimbatore for their encouragement
and support for the successful completion of this mini project.
My special thanks to my Parents, Friends and Well-wishers for their moral support
throughout the mini project work period.
ANJANA. P
7
TABLE OF CONTENT
CERTIFICATE 2
DECLARATION 4
ACKNOWLEDGEMENT 6
1 ABSTRACT 10
3 MODULES 12
•Add contact
•Search contact
•Edit contact
•Delete contact
•View all contact
•Exit
4 METHODOLOGY 14
•File handiling
•Input/Output operations
•Error handling
5 PROPOSED SYSTEM 15
•Persistent data storage
8
•Ease of use
•Efficient search and retrieval
•Data integrity
6 EXISTING SYSTEM 16
•Manual error
•Lack of data organization
•No data backup
•Inefficiency
7 HARDWARE REQUIREMENTS 17
•Processer
•RAM
•Hard disk
•Peripherals
8 SOFTWARE REQUIREMENTS 18
•Operating system
•Integrated development environment
•compiler
•Text editor
9 SOURCE CODE 19
10 RESULT &OUTPUT 28
9
ABSTRACT
10
ABOUT THE PROJECT
The Address Book System project offers users an organized way to handle their
contacts digitally, replacing traditional paper-based or inefficient methods. This
application is designed for individuals who want a personal contact management
tool. It can also serve as a foundation for larger systems, such as customer
relationship management software, by incorporating more advanced features like
group contact management, integration with social media, or syncing with cloud
storage.
The system's core objective is to handle personal contact details, allowing users to
store and retrieve data efficiently. It includes error handling, ensuring smooth
operation even when invalid input is provided or when attempting to access
non-existent contacts. Data is saved to a file system, making it accessible across
sessions, and it follows a user-friendly menu-driven approach for ease of use.
11
MODULES
1. Add Contact:
This module allows the user to enter new contact details, including name, phone
number, email, and address. It validates inputs (e.g., correct email format, phone
number length) to avoid incorrect data entry. Once validated, it stores the
information in a file for future retrieval.
2. Search Contact:
In this module, users can search for contacts by entering the name. The system
scans the file for the matching entry and displays the contact's information if
found. This module helps users quickly locate specific contacts in a large database.
3. Edit Contact:
Users can modify existing contact information in this module. After identifying the
contact using the search feature, users can update the fields (e.g., phone number,
email). The system will overwrite the old data with the updated information and
ensure the integrity of the data file.
12
4. Delete Contact:
This module enables the deletion of contacts from the system. The user enters the
name of the contact they wish to remove. The system searches for the contact and
deletes it if found, maintaining a clean and relevant contact list.
In this module, users can view a list of all saved contacts. The system retrieves all
entries from the data file and displays them in a structured format, showing the
name, phone number, email, and address. This feature is useful for browsing and
verifying stored contact information.
6. Exit:
This module allows users to safely exit the system. It ensures that all the data is
properly saved and closes the application without any loss of information.
13
METHODOLOGY
File Handling: Data is stored in a text file (addressbook.txt), which allows for
persistent storage across program sessions. Each contact's information is written to
and read from this file, ensuring data retention after the program terminates.
Input/Output Operations: The system uses standard I/O operations to interact with
users, allowing them to input data and view results on the console.
Error Handling: The system handles invalid inputs, such as empty fields or
incorrectly formatted phone numbers, to prevent program crashes and ensure
smooth operation.
The project follows a procedural programming approach using C++. The system
interacts with users through a command-line interface, where they can select
operations from a menu. The data is stored in text files to ensure persistence even
after the application is closed. The system uses standard input/output operations
and file handling for managing the data.
14
PROPOSED SYSTEM
The proposed Address Book System aims to deliver a simple, efficient, and
user-friendly solution for managing contact information. The key goals of the
system include:
Persistent Data Storage: All contact data is stored in a file, ensuring that data is
saved even when the program is closed.
Ease of Use: The system features a simple command-line interface that requires no
prior technical knowledge to operate.
Data Integrity: The system ensures that data remains consistent and accurate by
using input validation techniques and file-handling best practices.
Save data securely using file handling mechanisms.Search, update, and delete
records efficiently
15
EXISTING SYSTEM
Manual Error: Handwritten contact books are prone to loss, errors, and
inconsistency.
No Data Backup: Paper records can be easily lost or damaged, with no way to
recover the information.
Inefficiency: Even digital systems with limited functionality may lack user-friendly
search, edit, and delete operations, leading to inefficiency when managing large
contact databases. The Address Book System resolves these issues by offering
digital storage, automated search, and a structured approach to contact
management.
16
Hardware Requirements:
The hardware requirements for running the Address Book System are minimal:
RAM: At least 2GB of memory to run the C++ IDE/compiler and the application.
Hard Disk: Around 512MB of free space for storing the contacts file and the C++
development environment.
17
Software Requirements
The software requirements for developing and running the Address Book System
are as follows:
Compiler: GCC or any C++ compiler compatible with your chosen operating
system and IDE.
Text Editor: A simple text editor like Notepad++ for viewing and editing the
contact data files outside of the program.
18
SOURCE CODE:
#include <iostream>
#include <fstream>
#include <string>
class AddressBook {
public:
void addContact() {
ofstream file;
file.open("addressbook.txt", ios::app);
19
cout << "Enter Phone Number: ";
file << name << "\t" << phone << "\t" << email << "\t" <<
file.close();
void searchContact() {
ifstream file;
20
string searchName;
file.open("addressbook.txt");
while (file >> name >> phone >> email >> address) {
if (name == searchName) {
cout << "\nName: " << name << "\nPhone: " << phone
<< "\nEmail: " << email << "\nAddress: " << address << endl;
found = true;
break;
21
file.close();
if (!found) {
void deleteContact() {
ifstream file;
ofstream tempFile;
string deleteName;
file.open("addressbook.txt");
tempFile.open("temp.txt");
22
cin >> deleteName;
while (file >> name >> phone >> email >> address) {
if (name != deleteName) {
tempFile << name << "\t" << phone << "\t" << email
} else {
found = true;
file.close();
tempFile.close();
remove("addressbook.txt")
rename("temp.txt", "addressbook.txt");
23
if (found) {
} else {
void viewAllContacts() {
ifstream file;
file.open("addressbook.txt");
while (file >> name >> phone >> email >> address) {
24
cout << name << "\t" << phone << "\t" << email << "\t"
file.close();
};
int main() {
AddressBook ab;
int choice;
while (1) {
25
cout << "3. Delete Contact\n";
switch (choice) {
case 1:
ab.addContact();
break;
case 2:
ab.searchContact();
break;
case 3:
26
ab.deleteContact();
break;
case 4:
ab.viewAllContacts();
break;
case 5:
exit(0);
default:
return 0;
27
RESULT AND OUTPUT
The result of this project will be an Address Book System that functions as
expected, allowing users to manage their contacts seamlessly. When executed, the
user can choose operations from the menu to add, search, modify, or delete
contacts, with each action providing clear and immediate feedback.
When executed, the Address Book System provides the following results and
outputs:
1. User Interface: A simple text-based menu for navigation, allowing the user to
select different operations like adding, searching, deleting, and viewing contacts.
2. File Storage: All contacts are stored in the addressbook.txt file, ensuring data
persistence across multiple sessions.
3. Operation Feedback: After each operation (add, delete, edit, search), the system
gives clear feedback, such as "Contact added successfully" or "Contact not found."
4. Successful Data Retrieval: The user can successfully search for and retrieve
contact information in real-time.
5. Error-Free Execution: With proper input validation and file handling, the system
ensures smooth execution without crashes, even when invalid inputs are provided.
28