Diary Management System Using C

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 20

Koneru Lakshmaiah Education Foundation

(Deemed to be University)

FRESHMAN ENGINEERING DEPARTMENT


A Project Based Lab Report

On

Prison Transfer

SUBMITTED BY:

2300033528 S.Neeraj

2300033577 Anvi Sharma

2300040060 N.Chetana Venkata Naga Sai

2300033577 A.Naga Santosh


UNDER THE GUIDANCE OF

Guide Name

Assistant Professor,CSE.

KL UNIVERSITY
Green fields, Vaddeswaram – 522 502
Guntur Dt., AP, India.
DEPARTMENT OF BASIC ENGINEERING SCIENCES-1

CERTIFICATE

This is to certify that the project based laboratory report entitled


“Prison Transfer” submitted by Mr./Ms. bearing Regd. No. to the
Department of Basic Engineering Sciences-1, KL University in partial fulfillment
of the requirements for the completion of a project based Laboratory in
“Computational Thinking for Structural Design ”course in I B Tech II Semester, is
a bonafide record of the work carried out by
under my supervision during the academic year 2023 – 2024.

PROJECT SUPERVISOR HEAD OF THE DEPARTMENT

Dr. D.Haritha
ACKNOWLEDGEMENTS

It is great pleasure for me to express my gratitude to our honorable President


Sri. Koneru Satyanarayana, for giving the opportunity and platform with facilities
in accomplishing the project based laboratory report.

I express the sincere gratitude to our Director Dr. A.Jagadeesh for his
administration towards our academic growth.

I express sincere gratitude to HOD-BES-1 Dr. D.Haritha for her leadership


and constant motivation provided in successful completion of our academic semester.
I record it as my privilege to deeply thank for providing us the efficient faculty and
facilities to make our ideas into reality.

I express my sincere thanks to our project supervisor for


novel association of ideas, encouragement, appreciation and intellectual zeal which
motivated us to venture this project successfully.

Finally, it is pleased to acknowledge the indebtedness to all those who devoted


themselves directly or indirectly to make this project report success.

Project Associates…

ABSTRACT
The Diary Management System in C is a beginner-friendly
project designed to provide users with a simple yet effective platform for
maintaining digital journals. The project includes essential features such as
user login, diary entry creation, viewing, editing, and deletion. Users can
interact with the program through an uncomplicated menu system, making
it accessible for those learning the basics of programming in C.

While the project emphasizes user interaction and data


manipulation, it is important to note that advanced security measures are
not implemented, as the focus is on educational purposes. Users can gain
practical insights into programming logic, control flow, and basic data
handling, setting a foundational understanding for further exploration of
software development concepts. The Diary Management System in C serves
as a hands-on learning experience, offering a stepping stone for beginners
to engage with programming concepts in a practical and approachable
manner.
INDEX

S.NO TITLE PAGE NO

1 Introduction 1

2 Aim of the Project 2

2.1 Advantages & Disadvantages 3

2.2 Future Implementation 4

3 Software & Hardware Details 5

4 Flow Chart 6

5 Algorithm 7

6 Implementation 8

7 Integration and System Testing 9

8 Conclusion 10
INTRODUCTION
Concepts:
The Diary Management System is a user-friendly console
application developed in C, providing an efficient digital solution for
individuals and organizations to manage their schedules and tasks. This
program ensures secure data handling through password protection,
allowing users to add, view, edit, and delete diary records. The intuitive
text-based interface enhances accessibility, emphasizing ease of use. The
project not only records daily activities but also facilitates easy
modification and deletion of entries. With a focus on C programming best
practices, code quality, and clear documentation, this Diary Management
System optimizes daily task management for enhanced productivity.

Function:
The primary goal of the Diary Management System project in
C is to create a user-friendly console application for individuals or
organizations to efficiently manage their schedules and tasks. With
functions like adding, viewing, editing, and deleting diary entries, the
project ensures secure and organized record-keeping. The focus is on
implementing a straightforward and accessible interface while adhering to
C programming best practices, promoting ease of use and effective daily
task tracking.

AIM
Advantages: -
1. Time Management: A daily journal management system allows users to
organize and track their daily tasks, creating efficient time management
and improving productivity .

2. Data Privacy: With password protection, the system ensures the privacy
of personal records, providing users with a secure way to manage their
information.

3. User-Friendly Interface: The project emphasizes simple and intuitive


interaction, enhancing the user experience and making it accessible to
individuals with a variety of technological skills

4. Flexible Record Control:Users can easily add, view, edit, and delete daily
entries, allowing for flexibility and flexibility in settings or features of
variable importance.

5. Daily Task Monitoring: Users can manage their daily tasks in a


systematic manner, allowing them to keep track of completed, ongoing and
upcoming activities a complete.

6. Detailed Documentation: The program includes complete


documentation, providing users and developers with clear instructions on
application, operation, and system-maintenance.

Disadvantages: -
1. Limited Accessibility: As a console application, the diary management
system may lack the graphical interface found in modern systems,
potentially limiting its accessibility to users who prefer visual interaction
dangerous
2.Scalability Challenges: The project may face scalability challenges when
dealing with multiple records or extensive data, based on information,
which can slow down performance as the database grows
3. command-line skills: Users with limited command-line experience may
find the application difficult to navigate and use effectively, potentially
hindering its adoption by unaware individuals command-line interfaces
do not recognize it
4.Features with minimal integration: The system may not have the ability to
seamlessly integrate with other applications or devices, limiting its
connectivity and ability to integrate with external calendars or platforms
5.Security Issues: Although password protection is included in the project,
the limitations of console applications compared to more advanced
systems raise security concerns, which can leave them vulnerable to
attacks on
6.Aesthetic Limitations: The text-based nature of the interface can result in a
less than pleasant experience, potentially frustrating users who want
aesthetic and intuitive design in digital solutions disappointed

FUTURE ENHANCEMENT: -

1. User Authentication Upgrade: Enhance security by implementing


more robust user authentication methods, such as password hashing.
This ensures better protection of user credentials.
2. Data Encryption: Integrate encryption techniques to secure diary
entries. This will prevent unauthorized access to the stored
information and enhance overall data privacy.
3. Database Integration: Replace the use of arrays with a more scalable
and persistent solution like a database. This will enable users to
retain their diary entries even after closing the program.
4. User Interface Improvement: Enhance the user interface by
incorporating graphical elements or a more intuitive menu system.
This can improve the overall user experience and make the
application more visually appealing.
5. Date and Time Stamps: Add timestamps to diary entries to record
when each entry was created or last modified. This feature provides a
chronological perspective on the user's journaling journey.
6. Search and Filter Functionality: Implement a search or filter
mechanism to allow users to quickly find specific entries based on
keywords, dates, or other criteria.
7. Export and Import Functionality: Provide options for users to export
their diary entries to external files (e.g., text files) and import entries
back into the system. This facilitates data backup and migration.
8. Password Recovery Mechanism: Create a secure mechanism for
users to recover forgotten passwords, such as security questions or
email-based recovery.
9. Multi-User Support: Extend the system to support multiple users
with individual accounts, allowing each user to have their private
diary space.
10.Reminder Feature: Incorporate a reminder system to notify users of
upcoming events or important dates recorded in their diaries.

SYSTEM REQUIREMENTS

➢ SOFTWARE REQUIRMENTS:-

• C Compiler

• Operating System

• Development Environment

• Console or Terminal

➢ HARDWARE REQUIREMENTS:-

• RAM:- MORE THAN 4GB

• PROCESSOR:- 64 BIT

FLOW CHART
CODE
#include <stdio.h>

#include <string.h>

#define MAX_ENTRIES 100

#define MAX_USERNAME_LENGTH 20

#define MAX_PASSWORD_LENGTH 20

void login();

void addRecord();

void viewRecord();

void editRecord();
void deleteRecord();

void editPassword();

char usernames[MAX_ENTRIES][MAX_USERNAME_LENGTH];

char passwords[MAX_ENTRIES][MAX_PASSWORD_LENGTH];

char diaryEntries[MAX_ENTRIES][1000];

int totalEntries = 0;

int currentUserIndex = -1;

int main() {

int choice;

do {

printf("\nDiary Management System\n");

printf("1. Login\n");

printf("2. Add Record\n");

printf("3. View Record\n");

printf("4. Edit Record\n");

printf("5. Delete Record\n");

printf("6. Edit Password\n");

printf("0. Exit\n");

printf("Enter your choice: ");

scanf("%d", &choice);

switch (choice) {

case 1:

login();

break;
case 2:

addRecord();

break;

case 3:

viewRecord();

break;

case 4:

editRecord();

break;

case 5:

deleteRecord();

break;

case 6:

editPassword();

break;

case 0:

printf("Exiting the program. Goodbye!\n");

break;

default:

printf("Invalid choice. Please enter a valid option.\n");

} while (choice != 0);

return 0;

}
void login() {

char username[MAX_USERNAME_LENGTH];

char password[MAX_PASSWORD_LENGTH];

int i;

printf("Enter username: ");

scanf("%s", username);

printf("Enter password: ");

scanf("%s", password);

for (i = 0; i < totalEntries; i++) {

if (strcmp(usernames[i], username) == 0 && strcmp(passwords[i],


password) == 0) {

currentUserIndex = i;

printf("Login successful!\n");

return;

printf("Invalid username or password. Please try again.\n");

void addRecord() {

if (currentUserIndex == -1) {

printf("Please login first.\n");

return;

printf("Enter your diary entry:\n");

scanf(" %[^\n]s", diaryEntries[currentUserIndex]);


printf("Record added successfully!\n");

void viewRecord() {

if (currentUserIndex == -1) {

printf("Please login first.\n");

return;

printf("Your diary entry:\n%s\n", diaryEntries[currentUserIndex]);

void editRecord() {

if (currentUserIndex == -1) {

printf("Please login first.\n");

return;

printf("Enter your updated diary entry:\n");

scanf(" %[^\n]s", diaryEntries[currentUserIndex]);

printf("Record updated successfully!\n");

void deleteRecord() {

if (currentUserIndex == -1) {

printf("Please login first.\n");

return;

}
diaryEntries[currentUserIndex][0] = '\0';

printf("Record deleted successfully!\n");

void editPassword() {

if (currentUserIndex == -1) {

printf("Please login first.\n");

return;

char newPassword[MAX_PASSWORD_LENGTH];

printf("Enter your new password: ");

scanf("%s", newPassword);

strcpy(passwords[currentUserIndex], AnewPassword);

printf("Password updated successfully!\n");

currentUserIndex = -1; // Logout after changing the password

OUTPUTS
Screenshots:
1.Login Page:
2.Add Record

3.View Record:
4.Edit Record:

5.Delete Record:

6.Edit Password:

7.Exit:
CONCLUSION
In conclusion, the diary management system implemented in C
provides a basic framework for users to log in, add, view, edit, and delete
diary records, as well as change their passwords. The program utilizes
simple arrays to store user credentials and diary entries. It is important to
note that this code is intended for educational purposes and lacks
sophisticated security features. In a real-world application, additional
measures, such as encryption and secure data storage, would be essential to
ensure the protection of user information. Nevertheless, this project serves
as a starting point for understanding the fundamentals of user
authentication and data management in a simple C programming context.
As users interact with the system, they can navigate through the menu
options to maintain a personal diary, demonstrating the basic principles of
user input, control flow, and data manipulation in the C language.

In summary, this diary management system in C offers users a


straightforward interface to organize their thoughts and experiences. The
program's simplicity allows users to log in securely, record personal
entries, and manage their diary content effortlessly. While the code lacks
advanced security measures for real-world applications, it serves as a
practical example for beginners learning about user authentication and
basic data manipulation in the C programming language. Overall, this
project provides a foundation for understanding the essentials of creating
interactive and functional programs with user input and data handling
capabilities.

You might also like