0% found this document useful (0 votes)
7 views27 pages

Student Report Project Overview

The project report by Aangi Shah at Maharaja Agrasen Vidyalaya focuses on developing a student report software using Python, aimed at automating result-related activities in the school. It includes sections on Python's history, features, and programming constructs, as well as source code and output screens. The report is guided by Smt. Chetna Shah and is part of the requirements for the All India Senior School Certificate Examination for the academic year 2024-2025.

Uploaded by

Aangi Shah
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)
7 views27 pages

Student Report Project Overview

The project report by Aangi Shah at Maharaja Agrasen Vidyalaya focuses on developing a student report software using Python, aimed at automating result-related activities in the school. It includes sections on Python's history, features, and programming constructs, as well as source code and output screens. The report is guided by Smt. Chetna Shah and is part of the requirements for the All India Senior School Certificate Examination for the academic year 2024-2025.

Uploaded by

Aangi Shah
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

A

Project Report
On
__________________________________________________________

Undertaken At
Maharaja Agrasen Vidyalaya
Memnagar, Ahmedabad - 380052
By
Aangi SHah

Guided By
_________Smt. Chetna SHAH mam__________

Submitted To
Maharaja Agrasen Vidyalaya
(Affiliated to Central Board of Secondary Education)
Gujarat-India.
2024 - 2025

1|Page
CONTENTS

[Link]. TOPIC PAGE NO.

1. CERTIFICATE 3-3

2. ACKNOWLEDGEMENT 4-4

3. INTRODUCTION 5-5

4. PROJECT PROFILE 6-6

5. ABOUT PYTHON HISTORY 7-16

6. PROJECT OVERVIEW 16-18

7. SOURCE CODE 18-23

8. OUTPUT SCREENS 23-25

9. BIBLIOGRAPHY 26-26

2|Page
CERTIFICATE
This is to certify that the project entitled

STUDENT REPORT is done by_ Aangi Shah of

class XI - A of Maharaja Agrasen Vidyalaya, As

per the requirement of All India Senior School

Certificate Examination during the academic

year 2024 – 2025.

Signature Of Student : ____________

Signature Of Teacher : ____________

Date of Submission : _____7-02-


2025_______

3|Page
ACKNOWLEDGMENT
The phenomenon remains same that no project ever can be
executed proficiently and efficiently without sharing the meticulous
ideas, technical expertise and innovative thoughts put forwarded by
the technical and non-technical veterans.
In this regard first of all we would like to express our deep gratitude
to SMT. CHETNA SHAH MAM for sharing her precious
knowledge and innovative ideas for the successful execution of the
project.
Whenever a technical project is developed, eventually it requires
conductive technical environment and technical guidance to get in
involved in the assigned project enthusiastically.
I would also like to thank our Principal DR. (Smt.), Smt.
Neeta Awasthi, our school ‘Maharaja Agrasen
Vidyalaya’ for giving us this opportunity and improve upon our
skills.

____________________________
‘XI’ - ‘A’

4|Page
INTRODUCTION
The outcome of any software is the most
important thing because it will directly relate to
the user. The school result software generates
an outline of all modules in the form of reports.
The software generates the merit list of the
students. The project is to automate the result
related activities in the school. One can use this
project to evaluate one’s detailed result analysis.
The results section should state the findings of
the research arranged in a logical sequence
without bias or interpretation.

5|Page
PROJECT PROFILE
NAME OF THE PROJECT Student report

To make a program for STUDENT


PURPOSE
REPORT

DEVELOPED AT Maharaja Agrasen Vidyalaya

DEVELOPED BY Aangi Shah

PROJECT GUIDES SMT. Chetna Shah Mam

SUBMITTED TO Maharaja Agrasen Vidyalaya

TOOLS AND TECHNOLOGIES USED

OPERATING SYSTEM Windows 10

PROGRAMMING LANGUAGE Python 3.9x

DOCUMENTATION Microsoft Word

FRONT END Python IDLE

6|Page
ABOUT PYTHON
HISTORY
Python is an interpreted, high-level, general-purpose programming language.
Created by ‘Guido van Rossum’ and first released in 1991, Python's design
philosophy emphasizes code readability with its notable use of significant
whitespace. Its language constructs and object-oriented approach aim to help
programmers write clear, logical code for small and large-scale projects.

Python is dynamically typed and garbage-collected. It supports multiple


programming paradigms, including procedural, object-oriented, and functional
programming. Python is often described as a "batteries included" language due
to its comprehensive standard library.

Python was conceived in the late 1980s as a successor to the ABC language.
Python 2.0, released in 2000, introduced features like list comprehensions and
a garbage collection system capable of collecting reference cycles. Python 3.0,
released in 2008, was a major revision of the language that is not completely
backward-compatible, and much Python 2 code does not run unmodified on
Python 3.

The Python 2 language, i.e. Python 2.7.x, "sunsetted" on January 1, 2020


(after extension; first planned for 2015), and the Python team of volunteers
will not fix security issues, or improve it in other ways after that date. With the
end-of-life, only Python 3.5.x and later will be supported.

Python interpreters are available for many operating systems. A global


community of programmers develops and maintains CPython, an open source
reference implementation. A non-profit organization, the Python Software
Foundation, manages and directs resources for Python and CPython
development.

7|Page
FEATURES

Python is a multi-paradigm programming language. Object-oriented


programming and structured programming are fully supported, and many of its
features support functional programming and aspect-oriented programming
(including by meta-programming and meta-objects (magic methods)). Many
other paradigms are supported via extensions, including design by contract
and logic programming.

Python uses dynamic typing and a combination of reference counting and a


cycle-detecting garbage collector for memory management. It also features
dynamic name resolution (late binding), which binds method and variable
names during program execution.

Python's design offers some support for functional programming in the Lisp
tradition. It has filter, map, and reduce functions; list comprehensions,
dictionaries, sets, and generator expressions. The standard library has two
modules (iter-tools and func-tools) that implement functional tools borrowed
from Haskell and Standard ML.

Rather than having all of its functionality built into its core, Python was
designed to be highly extensible. This compact modularity has made it
particularly popular as a means of adding programmable interfaces to existing
applications. Van Rossum's vision of a small core language with a large
standard library and easily extensible interpreter stemmed from his frustrations
with ABC, which espoused the opposite approach.

Python strives for a simpler, less-cluttered syntax and grammar while giving
developers a choice in their coding methodology. In contrast to Perl's "there is
more than one way to do it" motto, Python embraces a "there should be one
—and preferably only one—obvious way to do it" design philosophy.
Alex Martelli, a Fellow at the Python Software Foundation and Python book
author, writes that "To describe something as 'clever' is not considered a
compliment in the Python culture.”

8|Page
Indentation
Python syntax and semantics & Indentation

Python uses whitespace indentation, rather than curly brackets or keywords,


to delimit blocks. An increase in indentation comes after certain statements;
a decrease in indentation signifies the end of the current block. Thus, the
program's visual structure accurately represents the program's semantic
structure. This feature is sometimes termed the off-side rule, which some
other languages share, but in most languages indentation doesn't have any
semantic meaning.
Flow Of Control
Python's statements include (among others):

• The assignment statement (token '=', the equals sign). This operates
differently than in traditional imperative programming languages, and this
fundamental mechanism (including the nature of Python's version of
variables) illuminates many other features of the language. Assignment in C,
e.g., x = 2, translates to "typed variable name x receives a copy of numeric
value 2". The (right-hand) value is copied into an allocated storage location
for which the (left-hand) variable name is the symbolic address. The memory
allocated to the variable is large enough (potentially quite large) for the
declared type. In the simplest case of Python assignment, using the same
example, x = 2, translates to "(generic) name x receives a reference to a
separate, dynamically allocated object of numeric (int) type of value 2." This
is termed binding the name to the object. Since the name's storage location
doesn't contain the indicated value, it is improper to call it a variable. Names
may be subsequently rebound at any time to objects of greatly varying types,
including strings, procedures, complex objects with data and methods, etc.

Successive assignments of a common value to multiple names, e.g., x = 2; y


= 2; z = 2 result in allocating storage to (at most) three names and one
numeric object, to which all three names are bound. Since a name is a
generic reference holder it is unreasonable to associate a fixed data type with
it. However at a given time a name will be bound to some object, which will
have a type; thus there is dynamic typing.

9|Page
• The if statement, which conditionally executes a block of code, along
with else and elif (a contraction of else-if).

•The for statement, which iterates over an iterable object, capturing each
element to a local variable for use by the attached block.

• The while statement, which executes a block of code as long as its


condition is true.

• The try statement, which allows exceptions raised in its attached code
block to be caught and handled by except clauses; it also ensures that
clean-up code in a finally block will always be run regardless of how the
block exits.

• The raise statement, used to raise a specified exception or re-raise a caught


exception.

• The class statement, which executes a block of code and attaches its local
namespace to a class, for use in object-oriented programming.

• The def statement, which defines a function or method.

• The break statement, exits from the loop.

• The continue statement, skips this iteration and continues with the next
item.

• The pass statement, which serves as a NOP. It is syntactically needed to


create an empty code block.

• The import statement, which is used to import modules whose functions or


variables can be used in the current program. There are three ways of
using import: import <module name> [as <alias>] or from <module
name> import * or from <module name> import <definition 1> [as <alias
1>], <definition 2> [as <alias 2>], ....

• The print statement was changed to the print() function in Python 3.

10 | P a g e
Expressions
Some Python expressions are similar to languages such as C and Java, while
some are not:

• Addition, subtraction, and multiplication are the same, but the behavior of
division differs. There are two types of divisions in Python. They are floor
division (or integer division) // and floating point/division. Python also added
the ** operator for exponentiation.

• From Python 3.5, the new @ infix operator was introduced. It is intended to
be used by libraries such as NumPy for matrix multiplication.

• From Python 3.8, the syntax :=, called the 'walrus operator' was
introduced. It assigns values to variables as part of a larger expression.

• In Python, == compares by value, versus Java, which compares numerics


by value and objects by reference. (Value comparisons in Java on objects
can be performed with the equals() method.) Python's ‘is’ operator may
be used to compare object identities (comparison by reference). In Python,
comparisons may be chained, for example a <= b <= c.

• Python uses the words ‘and’, ‘or’, ‘not’ for its Boolean operators rather
than the symbolic &&, ||, ! used in Java and C.

• Conditional expressions in Python are written as x if c else y (different in


order of operands from the c ? x : y operator common to many other
languages).

11 | P a g e
LISTS AND TUPLES
Python makes a distinction between lists and tuples. Lists are written as
[1, 2, 3], are mutable, and cannot be used as the keys of dictionaries
(dictionary keys must be immutable in Python). Tuples are written as (1, 2,
3), are immutable and thus can be used as the keys of dictionaries,
provided all elements of the tuple are immutable. The + operator can be
used to concatenate two tuples, which does not directly modify their
contents, but rather produces a new tuple containing the elements of both
provided tuples. Thus, given the variable t initially equal to (1, 2, 3),
executing t = t + (4, 5) first evaluates t + (4, 5), which yields (1, 2, 3, 4, 5),
which is then assigned back to t, thereby effectively "modifying the
contents" of t, while conforming to the immutable nature of tuple objects.
Parentheses are optional for tuples in unambiguous contexts.

Python has a "string format" operator %. This functions analogous to printf


format strings in C, e.g. "spam=%s eggs=%d" % ("blah", 2) evaluates
to "spam=blah eggs=2". In Python 3 and 2.6+, this was supplemented
by the format() method of the str class, e.g. "spam={0}
eggs={1}".format("blah", 2). Python 3.6 added "f-strings": blah = "blah";
eggs = 2; f'spam={blah} eggs={eggs}'.

12 | P a g e
STRING LITERALS
• Strings delimited by single or double quote marks. Unlike in Unix shells,
Perl and Perl-influenced languages, single quote marks and double quote
marks function identically. Both kinds of string use the backslash (\) as an
escape character. String interpolation became available in Python 3.6 as
"formatted string literals".

• Triple-quoted strings, which begin and end with a series of three single
or double quote marks. They may span multiple lines and function
like here documents in shells, Perl and Ruby.

• Raw string varieties, denoted by prefixing the string literal with an r.


Escape sequences are not interpreted; hence raw strings are useful where
literal backslashes are common, such as regular expressions and
Windows-style paths. Compare "@-quoting" in C#.

• Python has array index and array slicing expressions on lists, denoted as
a[key], a[start:stop] or a[start:stop:step]. Indexes are zero-based, and
negative indexes are relative to the end. Slices take elements from the
start index up to, but not including, the stop index. The third slice
parameter, called step or stride, allows elements to be skipped and
reversed. Slice indexes may be omitted, for example a[:] returns a copy of
the entire list. Each element of a slice is a shallow copy.

Statements cannot be a part of an expression, so list and other


comprehensions or lambda expressions, all being expressions, cannot
contain statements. A particular case of this is that an assignment
statement such as a = 1 cannot form part of the conditional expression of a
conditional statement. This has the advantage of avoiding a classic C error
of mistaking an assignment operator = for an equality operator == in
conditions: if (c = 1) { ... } is syntactically valid (but probably
unintended) C code but if c = 1: ... causes a syntax error in Python.

13 | P a g e
METHODS
Methods on objects are functions attached to the object's class; the syntax
[Link](argument) is, for normal methods and functions, syntactic
sugar for [Link](instance, argument). Python methods have an explicit
self parameter to access instance data, in contrast to the implicit self (or this)
in some other object-oriented programming languages (e.g., C++, Java,
Objective-C, or Ruby
Summary of Python 3's built-in types
Type Mutability Description Syntax example
bool immutable Boolean value True, False
bytearray(b'Some ASCII')
bytearray mutable Sequence of bytes bytearray(b"Some ASCII")
bytearray([119, 105, 107, 105])
b'Some ASCII' b"Some ASCII"
bytes immutable Sequence of bytes
bytes([119, 105, 107, 105])
Complex number with real and
complex immutable 3+2.7j
imaginary parts
Associative array (or dictionary) of
key and value pairs; can contain
dict mutable {'key1': 1.0, 3: False}
mixed types (keys and values), keys
must be a hashable type
An ellipsis placeholder to be used ...
ellipsis immutable
as an index in NumPy arrays Ellipsis
Floating point number, system-
float immutable 3.1415927
defined precision
Unordered set, contains no
frozenset immutable duplicates; can contain mixed frozenset([4.0, 'string', True])
types, if hashable
int immutable Integer of unlimited magnitude[84] 42
list mutable List, can contain mixed types [4.0, 'string', True]
An object representing the absence
NoneTypea immutable None
of a value.
Unordered set, contains no
set mutable duplicates; can contain mixed {4.0, 'string', True}
types, if hashable
'Wikipedia' "Wikipedia"
A character string: sequence of """Spanning
str immutable
Unicode codepoints multiple
lines"""
tuple immutable Can contain mixed types (4.0, 'string', True)
A Sequence of numbers commonly
range(1, 10)
range immutable used for looping specific number of
range(10,-5,-2)
times in for loops[85]

14 | P a g e
ARTHEMATIC OPERATIONS
Python has the usual symbols for arithmetic operators (+, -, *, /), the floor
division operator // and the modulo operation % (where the remainder can be
negative, e.g. 4 % -3 == -2). It also has ** for exponentiation, e.g. 5**3 ==
125 and 9**0.5 == 3.0, and a matrix multiply operator @ . These operators
work like in traditional math; with the same precedence rules, the operators
infix ( + and - can also be unary to represent positive and negative numbers
respectively).
Division between integers produces floating point results. The behavior of
division has changed significantly over time:
• Python 2.1 and earlier used C's division behavior. The / operator is integer
division if both operands are integers, and floating-point division otherwise.
Integer division rounds towards 0, e.g. 7/3 == 2 and -7/3 == -2.
• Python 2.2 changed integer division to round towards negative infinity, e.g.
7/3 == 2 and -7/3 == -3. The floor division // operator was introduced. So
7//3 == 2, -7//3 == -3, 7.5//3 == 2.0 and -7.5//3 == -3.0. Adding from
__future__ import division causes a module to use Python 3.0 rules for
division (see next).
• Python 3.0 changed / to always be floating-point division, e.g. 5/2 == 2.5.
In Python terms, / is true division (or simply division), and // is floor
division. / before version 3.0 is classic division.[94]
Rounding towards negative infinity, though different from most languages,
adds consistency. For instance, it means that the equation (a + b)//b == a//b +
1 is always true. It also means that the equation b*(a//b) + a%b == a is valid
for both positive and negative values of a. However, maintaining the validity
of this equation means that while the result of a%b is, as expected, in the
half-open interval [0, b), where b is a positive integer, it has to lie in the
interval (b, 0] when b is negative.
Python provides a round function for rounding a float to the nearest integer.
For tie-breaking, Python 3 uses round to even: round(1.5) and round(2.5)
both produce 2. Versions before 3 used round-away-from-zero: round(0.5) is
1.0, round(-0.5) is −1.0.
Python allows boolean expressions with multiple equality relations in a
manner that is consistent with general use in mathematics. For example, the
expression a < b < c tests whether a is less than b and b is less than c.[98] C-
derived languages interpret this expression differently: in C, the expression
would first evaluate a < b, resulting in 0 or 1, and that result would then be
compared with c.

15 | P a g e
LIBRARIES
Python's large standard library, commonly cited as one of its greatest
strengths, provides tools suited to many tasks. For Internet-facing
applications, many standard formats and protocols such as MIME and HTTP
are supported. It includes modules for creating graphical user interfaces,
connecting to relational databases, generating pseudorandom numbers,
arithmetic with arbitrary-precision decimals, manipulating regular
expressions, and unit testing.
Some parts of the standard library are covered by specifications (for
example, the Web Server Gateway Interface (WSGI) implementation wsgiref
follows PEP 333), but most modules are not. They are specified by their
code, internal documentation, and test suites. However, because most of the
standard library is cross-platform Python code, only a few modules need
altering or rewriting for variant implementations.
As of November 2019, the Python Package Index (PyPI), the official
repository for third-party Python software, contains over 200,000 packages
with a wide range of functionality, including:

Automation Multimedia

Data analytics Networking

Databases Scientific computing

Documentation System administration

Graphical user interfaces Test frameworks

Image processing Text processing

Machine learning Web frameworks

Mobile App Web scraping[

16 | P a g e
17 | P a g e
PROJECT OVERVIEW

Python libraries used


1) os : The OS module in python provides functions for interacting with the
operating system.

2) prettytable : A simple Python library for easily displaying tabular data


in a visually appearing ASCII table format.

FUNCTIONS : USER DEFINED


1) def Sublist(cl) : To return a list of subjects that are available in a class entered by
the user.
2) def Tstn(cl) : To get number of tests in a class.
3) def Underscore(inpt, splitby, add) : To replace'/' with '_or_'.
4) def Chngepass(User) : To change User password.

18 | P a g e
FUNCTIONS : BUILT-IN
1) return() : Ends the execution of the function call and returns a value if present in
the parenthesis
2) print() : Prints objects to the text stream file seperated by default separator ‘ ‘
and goes to next lne fter printing
3) input() : If a string is present in the parenthesis it prints it without going to a new
line .Then it reads a line from the input and returns it after coveting it to a string.
4) int() : Returns an integer constructed from a number or a string given in
parenthesis
5) str() : Returns a string version o the object passed in the parenthesis
6) ljust() : Returns the string left justified by n hich is passed in the parenthesis
7) list() : Returns a list from the object passed in the parenthesis
8) keys() : Returns a sequence of the keys of the dictionary passed
9) upper() : Returns the uppercase of the string passed
10) range() :Returns a sequence of numbers from x to y both of which are passed in
parenthesis
11)len() : Returns the length of the object given in parenthesis
12)sleep() : Suspends the execution of te current thread by a given number of
seconds given in the braces

19 | P a g e
SOURCE CODE
# Define a function to calculate percentage

def calculate_percentage(marks):

total_marks = sum(marks)

percentage = (total_marks / 500) * 100 # As total marks are 500

return percentage

# Initialize an empty dictionary to store student details

students = {}

# Function to add a new student

def add_student():

roll_no = input("\nEnter roll number: ")

name = input("Enter student's name: ")

# Input marks for each subject

chemistry = float(input("Enter marks in Chemistry: "))

physics = float(input("Enter marks in Physics: "))

maths = float(input("Enter marks in Maths: "))

computer = float(input("Enter marks in Computer Science: "))

english = float(input("Enter marks in English: "))

# Store the student details in a dictionary

marks = [chemistry, physics, maths, computer, english]

percentage = calculate_percentage(marks)

# Store the details in the dictionary with roll number as key

students[roll_no] = {

'name': name,

'marks': marks,

'percentage': percentage
20 | P a g e
}

print("\n--- Student Added Successfully ---")

# Function to update an existing student's details

def update_student():

roll_no = input("\nEnter the roll number of the student to update: ")

if roll_no in students:

name = students[roll_no]['name']

print(f"Updating details for {name} (Roll No: {roll_no})")

# Input new marks

chemistry = float(input("Enter new marks in Chemistry: "))

physics = float(input("Enter new marks in Physics: "))

maths = float(input("Enter new marks in Maths: "))

computer = float(input("Enter new marks in Computer Science: "))

english = float(input("Enter new marks in English: "))

# Update marks and calculate the new percentage

marks = [chemistry, physics, maths, computer, english]

percentage = calculate_percentage(marks)

# Update the dictionary with new details

students[roll_no] = {

'name': name,

'marks': marks,

'percentage': percentage

print("\n--- Student Details Updated Successfully ---")

else:

print("\nStudent not found with the given roll number!")

21 | P a g e
# Function to delete a student's record

def delete_student():

roll_no = input("\nEnter the roll number of the student to delete: ")

if roll_no in students:

del students[roll_no]

print(f"\nStudent with roll number {roll_no} has been deleted successfully.")

else:

print("\nNo student found with that roll number!")

# Function to view a specific student's record

def view_student():

roll_no = input("\nEnter the roll number of the student to view: ")

if roll_no in students:

student = students[roll_no]

print("\nStudent Record:")

print("------------------------------------------------------------")

print(f"Roll No. | Name | Chemistry | Physics | Maths | Computer | English |


Percentage")

print("------------------------------------------------------------")

print(f"{roll_no} | {student['name']:12} | {student['marks'][0]:8} | {student['marks']


[1]:7} | {student['marks'][2]:5} | {student['marks'][3]:8} | {student['marks'][4]:7} |
{student['percentage']:.2f}%")

else:

print("\nNo student found with that roll number!")

# Function to view all students

def view_all_students():

print("\nAll Student Records:")

print("------------------------------------------------------------")

22 | P a g e
print("Roll No. | Name | Chemistry | Physics | Maths | Computer | English |
Percentage")

print("------------------------------------------------------------")

for roll_no, details in [Link]():

name = details['name']

marks = details['marks']

percentage = details['percentage']

print(f"{roll_no} | {name:12} | {marks[0]:8} | {marks[1]:7} | {marks[2]:5} |


{marks[3]:8} | {marks[4]:7} | {percentage:.2f}%")

# Main menu loop

def main_menu():

while True:

print("\n--- Student Management System ---")

print("1. Add a New Student")

print("2. Update Student Details")

print("3. Delete a Student Record")

print("4. View Specific Student Record")

print("5. View All Students")

print("6. Exit")

choice = input("Enter your choice: ")

if choice == '1':

add_student()

elif choice == '2':

update_student()

elif choice == '3':

delete_student()

elif choice == '4':


23 | P a g e
view_student()

elif choice == '5':

view_all_students()

elif choice == '6':

print("\nExiting Student Management System...")

break

else:

print("\nInvalid choice! Please try again.")

# Run the main menu

main_menu()

24 | P a g e
OUTPUT SCREENS
--- Student Management System ---

1. Add a New Student

2. Update Student Details

3. Delete a Student Record

4. View Specific Student Record

5. View All Students

6. Exit

Enter your choice: 1

Enter roll number: 1

Enter student's name: AAngi

Enter marks in Chemistry: 98

Enter marks in Physics: 90

Enter marks in Maths: 99

Enter marks in Computer Science: 98

Enter marks in English: 97

--- Student Added Successfully ---

--- Student Management System ---

1. Add a New Student

2. Update Student Details

3. Delete a Student Record

4. View Specific Student Record

5. View All Students

25 | P a g e
6. Exit

Enter your choice: 4

Enter the roll number of the student to view: 1

Student Record:

------------------------------------------------------------

Roll No. | Name | Chemistry | Physics | Maths | Computer | English | Percentage

------------------------------------------------------------

1 | AAngi | 98.0 | 90.0 | 99.0 | 98.0 | 97.0 | 96.40%

--- Student Management System ---

1. Add a New Student

2. Update Student Details

3. Delete a Student Record

4. View Specific Student Record

5. View All Students

6. Exit

26 | P a g e
BIBLIOGRAPHY
 COMPUTER SCIENCE WITH PYTHON
- SUMITA ARORA
 TEXTBOOK OF COMPUTER SCIENCE : FOR CLASS XI
- BY SEEMA BHATNAGAR

27 | P a g e

You might also like