0% found this document useful (0 votes)
9 views

cs ip

Uploaded by

kishorej1412
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

cs ip

Uploaded by

kishorej1412
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

VELAMMAL VIDHYASHRAM

GUDUVANCHERY

COMPUTER SCIENCE

EXAMINATION MODULE SYSTEM

ACADEMIC YEAR 2024 - 25

Done by:
KISHORE.J
XII-B2
BONAFIDE CERTIFICATE

This is to certify that this COMPUTER SCIENCE project on the topic


EXAMINATION MODULE SYSTEM has been successfully completed by
KISHORE.J of class XII Roll.no……………………... at Velammal
Vidhyashram, Guduvanchery, for the partial fulfilment of this project
as a part of All India Senior School Certificate Examination- CBSE, New
Delhi for the academic Year 2024 - 2025.

Date: ……………………..

Signature of Principal Signature of the Guide

Signature of the Signature of the


Internal Examiner External Examiner
ACKNOWLEDGEMENT

I wish to express my deep gratitude and sincere thanks to


the Senior Principal …………………………………….,
Velammal Vidhyashram, Guduvanchery for the
encouragement given to me and for all the facilities that
she provided for this project work.

I sincerely appreciate this magnanimity by taking me into


his fold for which I shall remain indebted to him.
I extend my hearty thanks to Ms. PADMA POORANI M
Computer Science Teacher, who guided me to complete
this project successfully.
I take this opportunity to express my deep gratitude for
her valuable guidance, constant encouragement, and
immense motivation, which sustained my efforts at all
stages of this project work.
I want to thank my lab assistant, the lab- in- charge, and
the technical staff for providing the correct information
which made the completion of this project work in an
excellent way.
I cannot forget to offer my sincere thanks to my parents,
and, also to my classmates who helped me to carry out
this project work successfully and for their valuable
advice and support, which I received from them from
time to time.

1
INDEX

 BRIEF OVERVIEW OF PROJECT

 SOFTWARE AND HARDWARE REQUIREMENTS

 INTRODUCTION TO PYTHON & MYSQL

 ADVANTAGES OF PROJECT

 SOURCE CODE IN PYTHON

 OUTPUT SCREEN

 BIBLIOGRAPHY

2
INTRODUCTION
This is a project based on the Student Module System. The program
helps as an efficient platform designed to manage and track student
academic progress. It allows students to view grades, and monitor
their learning pathways. It includes various function programs to
do the above- mentioned tasks.

Data file handling has been effectively used in the program.

The database is a collection of interrelated data to serve multiple


applications. That is database programs create files of information.
So we see that files are worked with most, inside the program.

DBMS:

The software required for the management of data is called as


DBMS. It has 3 models

• Relation model

• Hierarchical model

• Network model

RELATIONAL MODEL: It’s based of the concept on relation.


Relation is the table that consists of rows and columns. The rows of
the table are called tuples and the columns of the table are called
3
attributes. Number of rows in the table is called cardinality.
Number of columns in the table is called degree.

HIERARCHICAL MODEL: In this type of model, we have multiple


records for each record. A particular record has one parent
record. No chide record can exist without a parent record. In this,
the records are organized in tree (like structure).

NETWORK MODEL: In this, the data is represented by the


collection of records and the relationship is represented by (ink or
association.

CHARACTERISTICS OF DBMS:

• It reduces the redundancy

• Reduction of data in inconsistency

• Data sharing

• Data standardization

DIFFERENT TYPES OF FILES:

BASED ON ACCESS: -

• Sequential file
• Serial file
• Random (direct access) file
BASED ON STORAGE:
• Text file
• Binary File
4
NEED OF COMPUTERIZATION

The need for computation in a Student Management System (SMS)


is integral to its functionality and effectiveness. Computation
underpins various critical processes within the system, including
grade calculations, attendance tracking, and performance analytics.
Automated computations ensure that grades are accurately
calculated based on predefined criteria and weighted averages,
significantly reducing the potential for human error. Similarly,
computation enables the efficient management of attendance
records, allowing for real-time updates and accurate reporting.
Performance analytics leverage computational algorithms to
generate insightful reports, identify trends, and provide actionable
feedback for educators. These computational processes enhance
the system's ability to deliver timely and precise information,
5
streamline administrative tasks, and support data-driven decision-
making. Without robust computational capabilities, an SMS would
struggle to handle complex data operations efficiently, potentially
compromising its overall effectiveness and reliability.

6
SOFTWARE & HARDWARE
REQUIREMENTS

Software Specification:
Operating System: Windows 7
Platform: Python IDLE 3.7
Database: MySQL
Language: Python

Hardware Specification:

Processor: Dual Core & Above


Hard Disk: 40GB
RAM: 1024MB

Note: For Python-MySQL connectivity, the following data have


been used:-
Host- localhost, user- root, password- Jaisakthi, database- exam

7
ADVANTAGES OF PROJECT
A Student Management System (SMS) provides a
comprehensive solution for managing student-related data
and processes in educational institutions. By automating
and streamlining various tasks, an SMS enhances
operational efficiency, improves data accuracy, and creates
a seamless experience for both educators and students.
Below are the key advantages of implementing a Student
Management System:

1. Efficient Data Management

One of the most significant benefits of a Student


Management System is its ability to centralize and
organize vast amounts of student data. From personal
information to academic records, attendance, and
disciplinary actions, everything is stored in a unified
database. This ensures easy access, retrieval, and
management of information, reducing the need for
paperwork and manual tracking. It also allows for secure
data storage with controlled access to sensitive
information.

8
2. Time and Cost Savings

Automating administrative tasks significantly reduces the


time educators and staff spend on routine operations.
Processes like attendance tracking, grade calculation,
report generation, and student enrollment can be handled
automatically, freeing up valuable time for teachers and
administrative staff to focus on more strategic
responsibilities. In the long run, this automation translates
into cost savings by minimizing human errors and
reducing the need for extensive administrative resources.

3. Enhanced Communication

An SMS can streamline communication between students,


parents, and educators. This ensures timely
communication and helps foster transparency and
accountability in the student’s academic journey.

4. Improved Academic Performance Tracking

With all academic data stored in a single system, teachers


and administrators can easily track students’ academic
progress. A comprehensive student performance report
can be generated, allowing for early identification of
learning gaps and the creation of intervention strategies.
9
Advanced analytics features can also help educators
analyse trends, enabling data-driven decisions for better
educational outcomes.

5. Accessibility and Remote Access

Modern Student Management Systems often come with


cloud-based capabilities, allowing authorized users to
access the system from anywhere, at any time. This is
particularly useful in today’s digital age, where remote
learning and administrative work are becoming
increasingly common. Parents, teachers, and students can
view grades, attendance, and other relevant information
on demand, enhancing convenience and fostering greater
involvement.

6. Enhanced Data Security

An SMS provides robust security features, including role-


based access control, encryption, and regular backups to
protect sensitive data. These security measures ensure
that student information is safeguarded against
unauthorized access or breaches, complying with data
protection laws and standards such as FERPA or GDPR.

10
7. Streamlined Reporting and Compliance

Educational institutions often need to generate reports for


internal evaluations or government compliance. A Student
Management System can automatically generate detailed
reports on student performance, attendance, demographic
data, and other metrics. This reduces the burden of manual
report preparation and ensures accurate, up-to-date
information is readily available for decision-making or
regulatory purposes.

8. Scalability and Customization

A well-designed SMS can easily scale to accommodate


growing student populations and additional
functionalities. Schools can customize the system to fit
their specific needs, whether they are a small institution or
a large university. Additional modules, such as fee
management, timetable scheduling, or exam management,
can be integrated as needed, making the system highly
adaptable.

9. Parent and Student Engagement

Student Management Systems offer portals for both


parents and students to engage more actively in the
11
learning process. Parents can monitor their child’s
progress, attendance, and upcoming assignments, while
students can access study materials, submit assignments,
and track their academic performance. This level of
engagement fosters a supportive learning environment
and encourages responsibility among students.

10. Seamless Integration with Other Systems

Modern Student Management Systems can integrate with


other educational tools and platforms, such as Learning
Management Systems (LMS), library systems, and financial
management software. This creates a cohesive educational
ecosystem, enabling smooth data flow between different
systems and eliminating the need for redundant data
entry.

12
LIMITATIONS OF A STUDENT
MANAGEMENT SYSTEM (SMS)

Student Management Systems (SMS) offer valuable


benefits but come with notable challenges. High upfront
costs for software, hardware, and training can be a barrier,
especially for smaller institutions. Integrating SMS with
existing systems can be complex and costly, often leading
to delays. Data security is critical, as breaches can result in
legal issues, requiring strict compliance with regulations.

System reliability is essential to avoid disruptions, and


effective training is necessary for successful adoption.
Customization, scalability, and usability issues may arise,
limiting the system’s effectiveness. Additionally, data
migration can be error-prone, and ongoing maintenance is
crucial to ensure security and optimal performance.

13
INTRODUCTION
PYTHON:
Python is a high-level, interpreted scripting language
developed in the late 1980s by Guido van Rossum at the National
Research Institute for Mathematics and Computer Science in the
Netherlands. The initial version was published at the alt.sources
newsgroup in 1991, and version was released in 1994.
Python 2.0 was released in 2000, and the 2.x versions were
the prevalent releases until December 2008. At that time, the
development team made the decision to release version 3.0, which
contained a few relatively small but significant changes that were
not backward compatible with the 2.x versions. Python 2 and 3 are
very similar, and some features of Python 3 have been back ported
to Python 2. But in general, they remain not quite compatible.
Both Python 2 and 3 have continued to be maintained and
developed, with periodic release updates for both. As of this writing,
the most recent versions available are 2.7.15 and 3.6.5. However,
an official End of life of January 1,2020 has been established for
Python 2, after which time it will no longer be maintained. If you
are a newcomer to Python, it is recommended that you focus on
Python 3, as this tutorial will do.
Python is still maintained by a core development team at the
Institute, and Guido is still in charge, having been given the title of
BDFL (Benevolent Dictator For Life) by the Python community. The
name Python, by the way, derives not from the snake, but from the
British comedy troupe Monty Python’s Flying Circus, of which
Guido was, and presumably still is, a fan. It is common to find
references to Monty Python sketches and movies scattered
throughout the Python documentation.

14
Python is Popular
Python has been growing in popularity over the last few years.
The 2018 Stack Overflow Developer Survey ranked Python as the
7th most popular and the number one most wanted technology of
the year. World-class software development countries around the
globe use Python every single day. According to research by Dice
Python is also one of the hottest skills to have and the most popular
programming language in the world based on the Popularity of
programming Language Index.

Python is Interpreted
Many languages are compiled, meaning the source code you
create needs to be translated into machine code, the language of
your computer’s processor, before it can be run. Programs written
in an interpreted language are passed straight to an interpreter
that runs them directly. This makes for a quicker development
cycle because you just type in your code and run it, without the
intermediate compilation step.
One potential downside to interpreted languages is execution
speed. Programs that are compiled into the native language of the
computer processor tend to run more quickly than interpreted
programs. For some applications that are particularly
computationally intensive, like graphics processing or intense
number crunching, this can be limiting.
In practice, however, for most programs, the difference in
execution speed is measured in milliseconds, or seconds at most,
and not appreciably noticeable to a human user. The expediency of
coding in an interpreted language is typically worth it for most
applications.

15
Python is Free
The Python interpreter is developed under an OSI-approved
open-source license, making it free to install, use, and distribute,
even for commercial purposes.
A version of the interpreter is available for virtually any
platform there is, including all flavors of Unix, Windows, mac OS,
smartphones and tablets, and probably anything else you ever
heard of. A version even exists for the half dozen people remaining
who use OS/2.

Python is Portable
Because Python code is interpreted and not compiled into native
machine instructions, code written for one platform will work on
any other platform that has the Python interpreter installed. (This
is true of any interpreted language, not just Python.)

16
Python is Simple
As programming languages go, Python is relatively uncluttered,
and the developers have deliberately kept it that way.
A rough estimate of the complexity of a language can be gleaned
from the number of keywords or reserved words in the language.
These are words that are reserved for special meaning by the
compiler or interpreter because they designate specific built-in
functionality of the language.
Python 3 has 33 keywords, and Python 2 has 31. By contrast, C++
has 62, Java has 53, and Visual Basic has more than 120, though
these latter examples probably vary somewhat by implementation
or dialect.

MYSQL:
Database Management System & Types of DBMS:
A Database Management System (DBMS) is a software
application that interacts with the user, applications and the
database itself to capture and analyze data. The data stored in the
database can be modified, retrieved and deleted, and can be of any
type like strings, numbers, images etc.
Types of DBMS:
There are mainly 4 types of DBMS, which are Hierarchical,
Relational, Network, and Object-Oriented DBMS.
Hierarchical DBMS: As the name suggests, this type of DBMS has a
style of predecessor- successor type of relationship. So, it has a
structure similar to that of a tree, wherein the nodes represent
records and the branches of the tree represent fields.

17
Relational DBMS (RDBMS): This type of DBMS, uses a structure that
allows the users to identify and access data in relation to another
piece of data in the database.
Network DBMS: This type of DBMS supports many to many
relations wherein multiple member records can be linked.
Object-oriented DBMS: This type of DBMS uses small individual
software called objects. Each object contains a piece of data, and the
instructions for the actions to be done with the data.
Structured Query Language (SQL)
SQL is the core of a relational database which is used for accessing
and managing the database. By using SQL, you can add, update or
delete rows of data, retrieve subsets of information, modify
databases and perform many actions. The different subsets of SQL
are as follows:

 DDL (Data Definition Language) –It allows you to perform


various operations on the database such as CREATE, ALTER
and DELETE objects.
 DML (Data Manipulation Language) – It allows you to access
and manipulate data. It helps you to insert, update, delete and
retrieve data from the database.
 DCL (Data Control Language)– It allows you to control access
to the database. Example – Grant or Revoke access
permissions.
 TCL (Transaction Control Language) – It allows you to deal
with the transaction of the database. Example – Commit,
Rollback, Savepoint, Set Transaction.

18
MySQL & its Features
MySQL is an open-source relational database management system
that works on many platforms. It provides multi-user access to
support many storage engines and is backed by Oracle. So, you can
buy a commercial license version from Oracle to get premium
support services.
The features of MySQL are as follows:
Ease of Management –The software very easily gets downloaded
and also uses an event scheduler to schedule the tasks
automatically.

 Robust Transactional Support –Holds the ACID (Atomicity,


Consistency, Isolation, Durability) property, and also allows
distributed multi-version support.
 Comprehensive Application Development –MySQL has
plugin libraries to embed the database into any application.
It also supports stored procedures, triggers, functions, views
and many more for application development. You can refer to
the RDS Tutorial, to understand Amazon’s RDBMS.
 High Performance –Provides fast load utilities with distinct
memory caches and table index partitioning.
 Low Total Cost Of Ownership –This reduces licensing costs
and hardware expenditures.
 Open Source & 24 * 7 Support –This RDBMS can be used on
any platform and offers 24*7 supports for open source and
enterprise edition. Secure Data Protection –MySQL
supports powerful mechanisms to ensure that only
authorized users have access to the databases.
 High Availability –MySQL can run high speed master/slave
replication configurations and it offers cluster servers.

19
 Scalability & Flexibility –With MySQL you can run deeply
embedded applications and create data warehouses holding
a humongous amount of data.
MySQL Data Types

 Numeric – This data type includes integers of various sizes,


floating point(real) of various precisions and formatted
numbers.
 Character-string – These data types either have a fixed, or a
varying number of characters. This data type also has a
variable-length string called CHARACTER LARGE OBJECT
(CLOB) which is used to specify columns that have large text
values.
 Bit-string – These data types are either of a fixed length or
varying length of bits. There is also a variable-length bit string
data type called BINARY LARGE OBJECT(BLOB), which is
available to specify columns that have large binary values,
such as images.
 Boolean –This data type has TRUE or FALSE values. Since
SQL, has NULL values, a three-valued logic is used, which is
UNKNOWN.
 Date & Time –The DATE data type has: YEAR, MONTH, and
DAY in the form YYYY-MM-DD. Similarly, the TIME data type
has the components HOUR, MINUTE, and SECOND in the form
HH:MM: SS. These formats can change based on the
requirement.
 Timestamp & Interval –The TIMESTAMP data type includes
a minimum of six positions, for decimal fractions of seconds
and an optional WITH TIME ZONE qualifier in addition to the
DATE and TIME fields. The INTERVAL data type mentions a
relative value that can be used to increment or decrement an
absolute value of a date, time, or timestamp.

20
Python MySQL Database Connection:
Arguments required to connect MySQL from Python
You need to know the following detail of the MySQL server to
perform the connection from Python.

 Username – i.e., the username that you use to work with


MySQL Server. The default username for the MySQL database
is a root
 Password – Password is given by the user at the time of
installing the MySQL database. If you are using root then you
won’t need the password.
 Host Name – is the server name or Ip address on which
MySQL is running. if you are running on localhost, then you
can use localhost, or it’s IP, i.e. 127.0.0.0
 Database Name – Database name to which you want to
connect.
READ Operation
READ Operation on any database means to fetch some useful
information from the database. Once our database connection is
established, you are ready to make a query into this database. You
can use either fetchone() method to fetch single record or
fetchall() method to fetch multiple values from a database table.

 fetchone() − It fetches the next row of a query result set. A


result set is an object that is returned when a cursor object is
used to query a table.

 fetchall() − It fetches all the rows in a result set. If some rows


have already been extracted from the result set, then it
retrieves the remaining rows from the result set.

21
DATABASE CONNECTIVITY:
Steps to connect MySQL database in Python using MySQL
Connector Python
1. Install MySQL Connector Python using pip.
2. Use the mysql.connector.connect()method of MySQL
Connector Python with required parameters to connect MySQL.
3. Use the connection object returned by a connect()method to
create a cursor object to perform Database Operations.
4. The cursor.execute()to execute SQL queries from Python.
5. Close the Cursor object using a cursor.close() and MySQL
database connection using connection.close() after your work
completes.
6. Catch Exception if any that may occur during this process.

22
SOURCE CODE OF PROJECT (PYTHON
CODE)
import sys
import matplotlib.pyplot as plt
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='root',
password='Jaisakthi',database='exam')
mycur=mycon.cursor()

def Student_Profile():
sql="Insert into
student(adm_no,name,class,section)values(%s,%s,%s,%s)"
print('\nPLEASE PROVIDE THE REQUIRED INFORMATION\n')
ad=input('\nENTER THE ADMISSION NUMBER TO REGISTER FOR
EXAM:')
nm=input('\nENTER THE STUDENT NAME:')
cls=int(input('\nENTER THE CLASS(11/12):'))
sec=input('\nENTER THE SECTION(A-D):')
value=(ad,nm,cls,sec)
try:
mycur.execute(sql,value)
print(nm,'ADDED SUCCESSFULLY TO EXAM MODULE')
mycon.commit()
except:
print('UNABLE TO INSERT!!!!!')

23
def Edit_Profile():
sql="Update student set section=%s where adm_no=%s";
ph=input('\nENTER THE ADMISSION NUMBER WHOSE SECTION
TO MODIFY:')
nm=input('\nENTER THE NEW SECTION(A-D):')
value=(nm,ph)
try:
mycur.execute(sql,value)
mycon.commit()
print('RECORD UPDATED SUCCESSFULLY')
except:
print('UNABLE TO UPDATE SECTION!!!!')

def Remove_Profile():
ph=input('\nENTER THE ADMISSION NUMBER TO DELETE:')
sql='Delete from student where Adm_no=%s'
value=(ph,)
try:
mycur.execute(sql,value)
mycon.commit()
print('RECORD DELETED SUCCESSFULLY')
except:
mycon.rollback()
print('UNABLE TO DELETE RECORD!!!')

24
def Record_Entry():
sql="Insert into
result(adm_no,exam_name,sub1,sub2,sub3,sub4,sub5,total,percentage,atten
dance,grade,remarks)values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)
"
print('\nPLEASE PROVIDE THE REQUIRED INFORMATION\n')
ad=int(input('\nENTER THE ADMISSION NUMBER TO ENTER
RECORD:'))
nm=input('\nENTER THE EXAM NAME:')
sub1=int(input('ENTER MARKS IN SUBJECT 1(MAX:100):'))
sub2=int(input('ENTER MARKS IN SUBJECT 2(MAX:100):'))
sub3=int(input('ENTER MARKS IN SUBJECT 3(MAX:100):'))
sub4=int(input('ENTER MARKS IN SUBJECT 4(MAX:100):'))
sub5=int(input('ENTER MARKS IN SUBJECT 5(MAX:100):'))
total=sub1+sub2+sub3+sub4+sub5
per=total//5
wrkday=int(input('ENTER TOTAL NUMBER OF WORKING
DAYS:'))
present=int(input('ENTER NO OF DAYS PRESENT:'))
att=present/wrkday*100
att=int(att)
if(per>=90):
g='A'
rem='EXCELLENT PERFORMANCE!!'
elif(per>=75 and per<90):
g='B'
rem='VERY GOOD PERFORMANCE!!'
elif(per>=55 and per<=75):
g='C'
25
rem='SATISFACTORY PERFORMANCE!!'
elif(per>=35 and per<55):
g='D'
rem='AVERAGE PERFORMANCE!!'
else:
g='E'
rem='SCOPE FOR IMPROVEMENT!!'
value=(ad,nm,sub1,sub2,sub3,sub4,sub5,total,per,att,g,rem)
try:
mycur.execute(sql,value)
print('RECORD ADDED SUCCESSFULLY TO EXAM MODULE')
mycon.commit()
except:
print('UNABLE TO INSERT!!!!!')

def Report_Card():
ad=int(input('\nENTER THE ADMISSION NUMBER TO SEARCH:'))
sql1='Select * from student where adm_no=%s'
value=(ad,)
mycur.execute(sql1,value)
rec1=mycur.fetchone()
if(rec1!=None):
adm=rec1[0]
name=rec1[1]
cls=rec1[2]
sec=rec1[3]
sql2='Select * from result where adm_no=%s'
26
value=(ad,)
mycur.execute(sql2,value)
rec2=mycur.fetchone()
if(rec2!=None):
adm=rec2[0]
exname=rec2[1]
sub1=rec2[2]
sub2=rec2[3]
sub3=rec2[4]
sub4=rec2[5]
sub5=rec2[6]
total=rec2[7]
per=rec2[8]
att=rec2[9]
g=rec2[10]
rem=rec2[11]
if(rec1==None and rec2==None):
print('WRONG ADMISSION NUMBER GIVEN!!!!!!')
else:
print('\n\n--------REPORT CARD OF',name,'----------\n\n')
print('\nCLASS-',cls,'SECTION-',sec,'\n')
print('\n------------------------------\n')
print('\nRESULT OF',exname,'\n')
print('\n------------------------------\n')
if(sec=='A'):
print('\n ENGLISH : ',sub1)
print('\n HISTORY : ',sub2)
print('\n POL. SC : ',sub3)
27
print('\n ECONOMICS : ',sub4)
print('\n GEOGRAPHY : ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
print('\n REMAKS : ',rem)
elif(sec=='B'):
print('\n ENGLISH : ',sub1)
print('\n ACCOUNTANCY: ',sub2)
print('\n B.STUDIES : ',sub3)
print('\n ECONOMICS : ',sub4)
print('\n INFO.PRAC : ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
print('\n REMAKS : ',rem)
elif(sec=='C'):
print('\n ENGLISH : ',sub1)
print('\n PHYSICS : ',sub2)
print('\n COMP.SC : ',sub3)
print('\n CHEMISTRY : ',sub4)
print('\n MATHEMATICS: ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
28
print('\n REMAKS : ',rem)
elif(sec=='D'):
print('\n ENGLISH : ',sub1)
print('\n PHYSICS : ',sub2)
print('\n BIO.SC : ',sub3)
print('\n CHEMISTRY : ',sub4)
print('\n MATHEMATICS: ',sub5)
print('\n TOTAL : ',total)
print('\n PERCENTAGE : ',per)
print('\n ATTENDANCE : ',att,'%')
print('\n GRADE : ',g)
print('\n REMAKS : ',rem)

def Remove_Record():
ph=input('\nENTER THE ADMISSION NUMBER TO DELETE:')
sql='Delete from RESULT where Adm_no=%s'
value=(ph,)
try:
mycur.execute(sql,value)
mycon.commit()
print('RECORD DELETED SUCCESSFULLY')
except:
mycon.rollback()
print('UNABLE TO DELETE RECORD!!!')

def Graph():
ad=int(input('\nENTER THE ADMISSION NUMBER TO SEARCH:'))
29
sql1='Select * from result where adm_no=%s'
value=(ad,)
mycur.execute(sql1,value)
T=mycur.fetchone()
sql2='Select section from student where adm_no=%s';
mycur.execute(sql2,value)
s=mycur.fetchone()
L=[T[2],T[3],T[4],T[5],T[6]]
sec=s[0]
if(sec=='A'):

sub1,sub2,sub3,sub4,sub5='English','History','Pol.Sc','Economics','Geogra
phy'
elif(sec=='B'):

sub1,sub2,sub3,sub4,sub5='English','Accountancy','B.Studies','Economics',
'Info.Practices'
elif(sec=='C'):
sub1,sub2,sub3,sub4,sub5='English','Physics','Computer
Sc.','Chemistry','Mathematics'
elif(sec=='D'):

sub1,sub2,sub3,sub4,sub5='English','Physics','Biology','Chemistry','Mathe
matics'
sub=[sub1,sub2,sub3,sub4,sub5]
clr=('red','green','blue','orange','brown')
plt.bar(sub,L,color=clr)
plt.xlabel('Subjects')
plt.ylabel('Marks')
plt.title('Marks Analysis')

30
plt.show()

def Close():

print('\nTHANK YOU FOR USING THE APPLICATION')


sys.exit()

print('-----------WELCOME TO EXAMINATION MODULE SYSTEM


FOR CLASS-XI & XII-------------\n\n')
while(True):
print('\n\nPRESS 1 TO CREATE A STUDENT PROFILE')
print('PRESS 2 TO EDIT A STUDENT PROFILE')
print('PRESS 3 TO DELETE A STUDENT PROFILE')
print('PRESS 4 FOR MARKS AND ATTENDANCE ENTRY')
print('PRESS 5 TO GENERATE REPORT CARD')
print('PRESS 6 TO DELETE MARKS DETAILS')
print('PRESS 7 TO PRODUCE A GRAPH PERFORMANCE')
print('PRESS 8 TO CLOSE THE APPLICATION')
choice=int(input('ENTER YOUR CHOICE : '))
if(choice==1):
Student_Profile()
elif(choice==2):

31
Edit_Profile()
elif(choice==3):
Remove_Profile()
elif(choice==4):
Record_Entry()
elif(choice==5):
Report_Card()
elif(choice==6):
Remove_Record()
elif(choice==7):
Graph()
elif(choice==8):
Close()

32
OUTPUT (PYTHON SCREEN)

MAIN MENU

CREATING STUDENT PROFILE

33
EDITING STUDENT PROFILE

MARKS AND ATTENDANCE ENTRY

34
GENERATING REPORT CARD

PRODUCING GRAPH

35
DELETING STUDENT PROFILE

36
SQL QUERIES USED
CREATE TABLE STUDENT (
adm_no int (6) PRIMARY KEY,
Name varchar (40),
class int (2),
section char (1));

CREATE TABLE RESULT (


Adm_no int (6) PRIMARY KEY,
exam_name varchar (30),
sub1 int (3),
sub2 int (3),
sub3 int (3),
sub4 int (3),
sub5 int (3),
total int (3),
percentage int (5),
attendance int (5),
grade char (1),
remarks varchar (50));

37
SQL OUTPUT SCREEN

38
FUTURE ENHANCEMENT OF PROJECT

Future enhancements for the Student Management System


could include migrating to a web-based interface using
frameworks like Flask or Django, enabling remote access
and ease of use. Implementing role-based access control
for students, teachers, and administrators would
streamline permissions and access. The system could also
incorporate automated email and SMS notifications to
keep parents and students updated on attendance, grades,
and important announcements. Migrating the database to
cloud services like AWS RDS or Google Cloud SQL would
enhance scalability, security, and accessibility, while
ensuring better data management through automated
backups and disaster recovery options. Adding advanced
data analytics could provide detailed insights into student
performance, helping educators identify trends and offer
targeted support. A mobile application would further
increase accessibility, allowing users to check grades,
attendance, and notifications on the go. Additionally,
features like online assignment submission, automated
grading, and seamless integration with learning

39
management systems (LMS) could improve the overall
functionality of the platform and enhance the educational
experience.

40
BIBLIOGRAPHY

1. www.google.com
2. https://pythontrends.wordpress.com
3. BOOK – Python by Sumita Arora

41

You might also like