0% found this document useful (0 votes)
11 views26 pages

Online Voting System_c

The document is an internship project report by Nanthini R on an Online Voting System developed using C programming. It outlines the project's objectives, features, and technical specifications, emphasizing enhanced security and efficiency in the voting process. The report includes acknowledgments, a company profile, a weekly overview of internship activities, and a detailed description of the project's coding and functionality.

Uploaded by

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

Online Voting System_c

The document is an internship project report by Nanthini R on an Online Voting System developed using C programming. It outlines the project's objectives, features, and technical specifications, emphasizing enhanced security and efficiency in the voting process. The report includes acknowledgments, a company profile, a weekly overview of internship activities, and a detailed description of the project's coding and functionality.

Uploaded by

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

ONLINE VOTING SYSTEM USING C

AN INTERNSHIP

PROJECT REPORT

Submitted by

NANTHINI R
Register No. 952621104028

A report submitted in partial fulfillment of the requirements for the award of


Degree of

BACHELOR OF ENGINEERING

IN

COMPUTER SCIENCE ENGINEERING

S.VEERASAMY CHETTIAR COLLEGE OF ENGINEERING


AND TECHNOLOGY, PULIYANGUDI-627 855

ANNA UNIVERSITY: CHENNAI -600 025


AUGUST 2024

S.VEERASAMY CHETTIAR COLLEGE OF ENGINEERING


AND TECHNOLOGY
ANNA UNIVERSITY: CHENNAI- 600 025

S.V.Nagar, Puliyangudi, Tamilnadu, India.

DEPARTMENT OF COMPUTER SCIENCE

BONAFIDE CERTIFICATE

Certified that this project “ONLINE VOTING SYSTEM USING C” is the bonafide
of “NANTHINI R” who carried out the project work under our supervision.

Internship Coordinator Head of the Department

Miss.Janani Mr.

Software Developer, Assistant Professor

PCS Software Solutions, S,Veerasamy Chettiar College of

Surandai-627859. Engineering And Technology,

Puliyangudi -627 855


AKCNOWLEDGEMENT

Firstly, I express my heartiest thanks and gratefulness to almighty God for His divine
blessing makes us possible to complete the project work successfully.

I really grateful and wish my profound my indebtedness to Supervisor

Miss.Janani, Software Developer, PCS Software Solutions, Surandai-627859. Deep


Knowledge & keen interest of my supervisor in the field of web development has helped
me enormously to carry out this project. Her endless patience, scholarly guidance,
continual encouragement, constant and energetic supervision, constructive criticism,
valuable advice, reading many inferior drafts and correcting them at all stage have made it
possible to complete this project.

I would like to express my heartiest gratitude to Mr.xxxxxx, Department of CSE, for his
kind help to finish my project.

I would also generously welcome each one of those individuals who have helped me
straight forwardly or in a roundabout way in making this project a win. In this unique
situation, I might want to thank the various staff individuals, both educating and non-
instructing, which have developed their convenient help and facilitated my undertaking.

Finally, I must acknowledge with due respect the constant support and patients of my
parents.

NANTHINI R

(952621104028)
TABLE OF CONTENTS

Content Page No.

CERTIFICATE

AKCNOWLEDGEMENT
TABLE OF CONTENTS
ABSTRACT 5
CHAPTER 1 COMPANY PROFILE 6
CHAPTER 2 WEEKLY OVERVIEW OF INTERNSHIP ACTIVITIES 8
CHAPTER 3 INTRODUCTION 10
CHAPTER 4 SYSTEM SPECIFICATION 13
CHAPTER 5 TECHNOLOGY LEARNT 14
CHAPTER 6 PROJECT DESCRIPTION 15
CHAPTER 7 CODING 18

CHAPTER 8 RESULTS 24
CHAPTER 9 CONCLUSION 26
CHAPTER 10 REFERENCES 27
ONLINE VOTING SYSTEM USING C

ABSTRACT

An online voting system for Indian election is proposed for the first time in this
paper. The proposed model has a greater security in the sense that voter high
security password is confirmed before the vote is accepted in the main database
of Election Commission of India. The additional feature of the model is that the
voter can confirm if his/her vote has gone to correct candidate/party. In this
model a person can also vote from outside of his/her allotted constituency or
from his/her preferred location. In the proposed system the tallying of the votes
will be done automatically, thus saving a huge time and enabling Election
Commissioner of India to announce the result within a very short period.
CHAPTER 1
COMPANY PROFILE

PCS Software Solutions is an independent software development and training


company, driven by industry experts and thought leaders in Web/Mobile
development and training domain. We work with some of the smartest software-
driven businesses around the world including software product start-ups as well
as MNC over 50 companies. We offer Website Development and Hosting
Services at affordable price. We develop the Website and as well as take over
the responsibility of maintaining your Website PCS offers the most effective
and result oriented Digital / Online Marketing Strategies for clients to establish
a good image of their brand in the Digital and Social Media. With keen industry
expertise and market knowledge, we will analyze the targeted audience to
determine the best way of business promotion through Digital Marketing using
various Online Promotions in Google, Facebook, Instagram & Youtube
Promotions.

VISION:
Be a global force in innovative solutions, quality excellence and redefine
creative thoughts. Striving to be a global force in innovative solutions, quality
excellence, and the redefinition of creative thoughts, we embark on a journey
that transcends boundaries. Our commitment extends beyond mere problem-
solving; it encompasses a vision to reshape industries and leave an indelible
mark on the global landscape. At the core of our mission is a relentless pursuit
of innovation, where we challenge the status quo and push the limits of what is
conceivable

MISSION:
We endeavour to bring innovative solutions to the forefront, employing
a simple yet effective approach that underscores our commitment to providing
deserving quality. Our mission is rooted in a dedication to pushing the
boundaries of what's possible, embracing creativity, and maintaining a relentless
pursuit of excellence. By adhering to these principles, we aim to not only meet
but exceed the expectations of our users, clients, and partners. Through a
combination of forward-thinking strategies and a focus on quality, we strive to
make a meaningful impact in every endeavour we undertake.

OUR SERVICES

 WEBSITE DEVELOPMENT

 MOBILE APPLICATION DEVELOPMENT

 E-COMMERCE

 WORDPRESS DEVELOPMENT

 OUTSOURCING

 CLOUD SERVICES

 DIGITAL MARKETING

 SEO

 COLLEGE PROJECT
 INTERNSHIP

 SOFTWARE TRAINING

CHAPTER 2

WEEKLY OVERVIEW OF INTERNSHIP ACTIVITIES

DATE DAY NAME OF THETOPIC/MODULE


COMPLETED
08/07/2024 Monday Introduction About C & Constants,
1st WEEK

Variables
09/07/2024 Tuesday Datatypes

10/07/2024 Wednesday Operators

11/07/2024 Thursday Functions

12/07/2024 Friday Arrays & Strings

DATE DAY NAME OF THETOPIC/MODULE


COMPLETED
15/07/2024 Monday Control flow statements
2nd WEEK

16/07/2024 Tuesday C Pointers

18/07/2024 Thursday User defined datatypes


19/07/2024 Friday Task
DATE DAY NAME OF THETOPIC/MODULE
COMPLETED
22/07/2024 Monday Classes
3rd WEEK
23/7/2024 Tuesday Objects

24/07/2024 Wednesday Packages

25/07/2024 Thursday Errors and Exceptions


26/07/2024 Friday Task

DATE DAY NAME OF THETOPIC/MODULE


COMPLETED
4th WEEK

30/07/2024 Monday Preprocessor

31/07/2024 Tuesday File Handling


01/08/2024 Wednesday Error Handling

02/08/2024 Thursday Memory Management


03/08/2024 Friday Task & Live Project Explanation

DATE DAY NAME OF THETOPIC/MODULE


COMPLETED
5th WEEK

5/08/2024 Monday Project Requirement Analysis

6/08/2024 Tuesday Modules development

07/08/2024 Wednesday Debugging


08/08/2024 Thursday Project Completion

CHAPTER 3

INTRODUCTION
The basic idea is that the citizens of the country can vote for the candidates
during election in the online. It consists of voter details, security system, status
and exits. The administrator can enter the name and password and generate the
reports and can perform operation like add citizens, search, delete the citizens in
the database. In Online voting system we can get the result of the election based
on polling.

Internship Objectives
 Internships are generally thought of to be reserved for college students looking
to gain experience in a particular field. However, a wide array of people can
benefit from Training Internships in order to receive real world experience and
develop their skills.
 An objective for this position should emphasize the skills you already possess in
the area and your interest in learning more
 Internships are utilized in a number of different career fields, including
architecture, engineering, healthcare, economics, advertising and many more.
 Some internship is used to allow individuals to perform scientific research while
others are specifically designed to allow people to gain first-hand experience
working.
 Utilizing internships is a great way to build your resume and develop skills that
can be emphasized in your resume for future jobs. When you are applying for a
Training Internship, make sure to highlight any special skills or talents that can
make you stand apart from the rest of the applicants so that you have an
improved chance of landing the position.

MOTIVATION FOR INTERNSHIP

My motivation for this internship was rooted in a desire to learn about


software development, gain practical experience, and contribute to
meaningful projects. This experience not only aimed to solidify my
technical expertise but also to prepare me for a successful career in an
ever-evolving technological landscape.

The motivation behind pursuing this internship was driven by my


passion for combining web development to create efficient, secure, and
user-friendly Web Applications. In an increasingly interconnected
digital world, the synergy between front-end development and back-end
development is crucial for delivering seamless online experiences. I
recognized that gaining practical experience in both domains would be
instrumental in advancing my career and contributing meaningfully to
the tech industry.
From a Software development perspective, my interest in C
Programming stemmed from the desire to build interactive and
aesthetically pleasing web interfaces. However, I also understood that
even the most beautifully designed Web applications require a
Programming language like C & C++.
The decision to undertake this internship was further motivated by the
opportunity to work in a professional setting, where I could apply my
theoretical knowledge to real-world scenarios. I was eager to face the
challenges and complexities of integrating web development with
network management, learning from industry experts, and gaining
hands-on experience with cutting-edge technologies.

Additionally, I was motivated by the prospect of contributing to


projects that have a tangible impact on users and organizations. The chance
to enhance network performance, implement security protocols, and ensure
high availability of applications aligned with my long-term career goals of
becoming a proficient full-stack developer with a strong foundation in
software Development.

This internship also offered a platform to develop essential soft skills


such as teamwork, problem- solving, and project management.
Collaborating with professionals from diverse backgrounds and
working on interdisciplinary projects provided a holistic learning
experience that extended beyond technical knowledge.

In summary, my motivation for this internship was rooted in a desire to


bridge the gap between web developments, gain practical experience,
and contribute to meaningful projects. This experience not only aimed
to solidify my technical expertise but also to prepare me for a
successful career in an ever-evolving technological landscape

CHAPTER 4

SYSTEM REQUIREMENTS

The software requirement specification can produce at the culmination of


the analysis task. The function and performance allocated to software as part of
system engineering are refined by established a complete information
description, a detailed functional description, a representation of system
behavior, and indication of performance and design constrain, appropriate
validate criteria, and other information pertinent to requirements.

Software Requirements:
Text Editor : Visual Studio.
Language : C Programming.
Operating System : Windows 10.
Hardware Requirements:
Processor : Intel core i3
Memory : 8GB RAM
Hard Disk : 1TB

CHAPTER 5

TECHNOLOGY LEARNT

C PROGRAMMING

 C is a general-purpose programming language created by Dennis Ritchie


at the Bell Laboratories in 1972.
 It is a very popular language, despite being old. The main reason for its
popularity is because it is a fundamental language in the field of computer
science.
 It is one of the most popular programming languages in the world
 If you know C, you will have no problem learning other popular
programming languages such as Java, Python, C++, C#, etc, as the syntax
is similar
 C is very fast, compared to other programming languages,
like Java and Python
 C is very versatile; it can be used in both applications and technologies
CHAPTER 6

PROJECT DESCRIPTION

Voting in elections is one of the most fundamental organs of any Democracy


and in the modern world, voting is done through digital machines. In this article,
we will try to write a simple Online Voting System using C programming
language.

Features of Online Voting System in C


The online voting system offers the following functions:

 Taking a Vote from the User


 Storing Different Votes
 Calculating Votes
 Declaring Results

Components of Online Voting System


The Online Voting System program has the following components:
1. Header Files and Macro Definitions
This program makes use of only two standard header files <stdio.h> and
<string.h>. We have also defined a macro to represent the maximum number of
candidates.
2. Structure with name “Candidate”
The structure with the name “Candidate” is defined to store the information of
the candidate. It has the following fields:

name Array: This array of characters is used to store the name of the candidate.
symbol: This character variable stores the symbol allotted to the candidate.
votes: This variable is used to store the number of votes that the given candidate
received.
3. Data Structures and Variables with Global Scope
Some of the data structures and variables are declared inside the global scope to
avoid scope problems and make them available to all the functions in the
program. These are:

allCandidate[]: This array stores all the candidates.


candidateCount: It is used to store the number of candidates.
symbol[]: This array is used to store all the symbols.
symbolTaken[]: Used to keep track of the symbols that are already allotted to
some candidate.
4. Functions to Perform Different Tasks
Various functions are used in the program to provide modularity to the code.
They are named based on the task they are performing:

fillCandidate(): This function is used to take user input about the candidate
details and store them in the allCandidate[] array.
displayAllCandidates(): This function is used to display all available candidates
while the voting is being performed.
getVotes(): This function is used to take the votes from the user and store them
in the structure for the given candidate.
getResults(): After the voting, the getResults() function is used to calculate the
votes and declare the results of the elections.

EXISTING SYSTEM
The Existing System of Election is running manually. The Voter has to visit to
Booths to vote a candidate so there is wastage of Time. The voter has to
manually register into the Voter List. Also counting has to be done manually.
All the Information of the Voter is to be filling in manually. That are:
i. Paper based voting
ii. Direct recording electronic voting machine
iii. Punch card

PROPOSED SYSTEM

This Online Voting System will manage the Voter’s information by which voter
can login and use his voting rights. The registration voter will be asked to enter
Name, Age, Mobile No, Email id etc.
CHAPTER 7
CODING

#include <stdio.h>
#include <string.h>
// including necessary header files

#define MAX_C 11
// defining max number of candidates

// Structure of candidate
typedef struct Candidate {
char name[50];
int votes;
char symbol;
} Candidate;

// global array of candidate details


Candidate allCandidates[MAX_C];
// global variable to keep the cound of candidates
int candidateCount = 0;
// global array to store all symbols
char symbols[10]
= { '!', '@', '#', '$', '%', '^', '&', '*', '~', '+' };
// array to keep track of taken symbol
int symbolTaken[11];

// function declaration
void fillCandidate(int);
void displayAllCandidates();
void getVotes(int);
void getResults();

// driver code
int main()
{
// initializing necessary data structures
for (int i = 0; i < 11; i++) {
symbolTaken[i] = 0;
}

// getting the number of candidates


printf("Enter the number of candidates: ");
scanf("%d", &candidateCount);
if (candidateCount >= MAX_C) {
printf("Number of candidates cannot be greater "
"than 10.\n Terminating the program\n\n");
return 0;
}

// filling the details of the candidate


for (int i = 0; i < candidateCount; i++) {
fillCandidate(i);
}

// getting the number of voters


int numVoters;
printf("Enter the number of voters: ");
scanf("%d", &numVoters);

// Collecting votes
for (int i = 0; i < numVoters; i++) {
getVotes(i);
}

// printing results
getResults();

return 0;
}

// function to populate the allCandidates array using the


// details provided by user
void fillCandidate(int cNum)
{
printf("Available Symbols: \n");
for (int j = 0; j < 10; j++) {
if (symbolTaken[j] == 1)
continue;
printf("%d %c\n", j + 1, symbols[j]);
}

int num = 0;

printf("\nEnter the symbol number of candidate %d: ",


cNum + 1);
scanf("%d", &num);

if (num <= 0 || num > 10 || symbolTaken[num - 1] == 1) {


printf("This Symbol is not available. Please "
"choose from the available symbols\n");
num = 0;
fillCandidate(cNum);
}
else {
symbolTaken[num - 1] = 1;
allCandidates[cNum].symbol = symbols[num - 1];
printf("Enter the name of candidate %d: ",
cNum + 1);
scanf("%s", allCandidates[cNum].name);

allCandidates[cNum].votes = 0;
}
}

// function to display all candidates name with symbol


void displayAllCandidates()
{
if (!allCandidates || !candidateCount) {
perror("Invalid Candidate Array\n");
return;
}

for (int j = 0; j < candidateCount; j++) {


printf("%s\t\t", allCandidates[j].name);
}
printf("\n");
for (int j = 0; j < candidateCount; j++) {
printf("%3c\t\t\t", allCandidates[j].symbol);
}
printf("\n");
}

// function to get votes


void getVotes(int voterCount)
{
displayAllCandidates();
printf("Voter %d, please enter your choice (1-%d): ",
voterCount + 1, candidateCount);
int choice;
scanf("%d", &choice);

// checking for valid choice


if (choice >= 1 && choice <= candidateCount) {
allCandidates[choice - 1].votes++;
}
else {
printf("Invalid choice! Please vote again.\n");
getVotes(voterCount);
}
}

// function to get results


void getResults()
{
int maxVotes = 0;
int winnerIndex = -1;
int winnerFrequency = 0;
for (int i = 0; i < candidateCount; i++) {
if (allCandidates[i].votes > maxVotes) {
maxVotes = allCandidates[i].votes;
winnerIndex = i;
}
}

for (int i = 0; i < candidateCount; i++) {


if (allCandidates[i].votes == maxVotes) {
winnerFrequency++;
}
}
printf("\n-----RESULT-----\n");

if (winnerFrequency > 1) {
printf("No candidate has majority votes\n");
}
else if (winnerIndex != -1) {
printf("The winner is: %s\nCandidate Symbol: "
"%c\nwith %d votes!\n",
allCandidates[winnerIndex].name,
allCandidates[winnerIndex].symbol, maxVotes);
}
else {
printf("No winner\n");
}}
CHAPTER 8
RESULTS
CHAPTER 9
CONCLUSION
In conclusion, Online Voting System is a highly innovative and technological
solution to many of the challenges faced in traditional voting systems. It not
only simplifies voting process but also saves time and resources. With secure
authentication and verification measures in place, the system offers
transparency and accountability in the electoral process. However, the
implementation of the online voting system still raises concerns regarding
security, privacy, and accessibility. It is important to address these issues before
making the system available to the public. The online voting system has
tremendous potential to revolutionize the electoral process and ensure greater
participation and representation for all.

The way forward is to focus on developing a comprehensive security


infrastructure and addressing concerns to make the system accessible to all. By
doing so, we can create a more inclusive and democratic electoral process for
the future.

FUTURE ENHANCEMENT

In the future, the system could be improved by incorporating blockchain


technology for added security and auditability. A more comprehensive voter
database that includes biometric information, such as fingerprints or facial
recognition, could enhance authentication and verification measures.

While the online voting system offers many advantages over traditional paper-
based voting, there are still some concerns and challenges to consider. Ensuring
equal access and participation, protecting voter privacy and preventing fraud
and hacking are some of the key issues that need to be addressed. In conclusion,
the online voting system has enormous potential to modernize the election
process in India.

CHAPTER 10

REFERENCES

 https://www.w3schools.com/c/

 Rajesh M. Ghadi1, Priyanka S. Shelar ONLINE VOTING SYSTEM ,12 |


Dec-2017 https://www.irjet.net/archives/V4/i12/IRJETV4I12256.pdf

 Aakash1, Aashish1, Akshit1, Sarthak11 ONLINE VOTING SYSTEM,


Students Dept. of Computer Science. Inderprastha Engineering College.
A.P.J. Abdul Kalam Technical University , Voting 09 | March-2017
https://www.coursehero.com/file/15933925 2/SSRN-id3589075pdf/

 ONLINE VOTING SYSTEM USING CLOUD International conference


on Emerging Trenda in Information Technology and Engineering(ic-
ETITE) 10 | Feb-2020 https://www.researchgate.net/publication/3
40972420_Online_Voting_System_using_ Cloud
 https://www.viit.ac.in/images/Research/Publications/26-
20118_20118_YOGESH_publication_875_1685159366313.pdf.pdf

You might also like