0% found this document useful (0 votes)
27 views15 pages

Edited2 Student Management System

This document describes a student management system created by two students. The system uses C++ and struct data types to store student information like name, age, courses, and ID number. Functions are created to add, search, display, and edit student data. The goals are to create an easy to use digital system to replace outdated paper-based methods and solve issues like lack of security, data loss, and difficult analysis. Challenges may include lack of resources, skills, and computer literacy. The system aims to meet requirements like adding, editing, and searching student records through a user-friendly interface.

Uploaded by

beshahashenafe20
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)
27 views15 pages

Edited2 Student Management System

This document describes a student management system created by two students. The system uses C++ and struct data types to store student information like name, age, courses, and ID number. Functions are created to add, search, display, and edit student data. The goals are to create an easy to use digital system to replace outdated paper-based methods and solve issues like lack of security, data loss, and difficult analysis. Challenges may include lack of resources, skills, and computer literacy. The system aims to meet requirements like adding, editing, and searching student records through a user-friendly interface.

Uploaded by

beshahashenafe20
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/ 15

DEPARTMENT OF INFORMATION SCIENCE

COMPUTER PROGRAMMING ASSIGNMENT

STUDENT MANAGEMENT SYSTEM

GROUP MEMBERS
1. Beshah Ashenafi (UGR/5569/15)
2. Mariamawit Tewodros (UGR/7952/15)

SUBMITTED TO: Lemlem Hagos

DATE OF SUBMMISION: 25/9/23


Content
Executive Summary.....................................................................................................................................1
Brief Overview........................................................................................................................................1
Goals of the Project.................................................................................................................................1
Objectives of the project..........................................................................................................................1
Background.................................................................................................................................................1
Why change is needed?...........................................................................................................................1
Fixes........................................................................................................................................................1
Statement of the Problem.....................................................................................................................2
Problem...................................................................................................................................................2
Solution...................................................................................................................................................2
Potential Challenges to the solution.........................................................................................................2
Solution.......................................................................................................................................................2
Struct Data Type......................................................................................................................................2
Why Struct?.........................................................................................................................................2
Functions.................................................................................................................................................3
Definition of functions.........................................................................................................................3
Why did we have to use functions?.........................................................................................................3
Requirements...............................................................................................................................................3
Functional Requirements.........................................................................................................................3
Non-Functional Requirements.................................................................................................................3
Design.........................................................................................................................................................3
Implementation of struct in our system................................................................................................3
Usage of functions in our code................................................................................................................4
Source Code...........................................................................................................................................5
Conclusion.................................................................................................................................................11
Recommendations.....................................................................................................................................11

1
Executive Summary
Brief Overview
Our Project is a Student Management System (SMS), also known as a Student
Information System (SIS) and it is software designed to record, analyze and manage information
in an educational institution.

Goals of the Project


Our Project aims to create a student management system that is easy to use, readable and
also simple to make changes to stored data.

Objectives of the project


The objectives of the project are to develop a system that has the ability to:

1. Add student data


2. Edit student data
3. Search student data using ID

Background
Why change is needed?
The traditional method of collecting data using paper must be changed because it has
many defects such as:

1. Lack of security
2. Tedious to search through
3. Tracking data across systems is tiresome
4. Analysis of data is hard to implement
5. Loss of data through fire or misappropriation

Fixes
Our system aims to fix all the above problems by implementing a digital system that is
easy to use and manipulate according to the needs of the administrator.

2
Statement of the Problem
Problem
The Problem is the fact that most schools still use an old system of keeping track of data
which is prone to loss of data which we believe to be the most devastating of all the problems the
old system has but by doing implementing our system there can also be saved funds because of
the decrease in paper usage and decrease in man power needed to work through the records.

Solution
The Desired Solution is a secure digital system which is simple to use, easy to learn and
can store different information about students of the school.

Potential Challenges to the solution


There exists a considerable gap between our proposed solution and the system we
currently have in many parts of the country. This is due to many reasons such as:

1. Lack of qualified personnel


2. Lack of Resources
3. Lack of basic computer literacy among the population

Solution
The problem is the use of outdate systems to store data in a world that has become digital.
Our proposed solution uses the C++ programming language and it’s many features to develop a
digital system.

Struct Data Type


A struct data type is a data-type used to group related variables of different data types
into a single unit.

Why Struct?
The reason we used struct and not any other data types like arrays is the fact that with
struct we can store elements of different data types under one the same data type meaning we can
save integers and strings under the same data type which isn’t possible with the array data type.

3
Functions
Definition of functions
Functions are pieces of code that perform a specified task. They can be defined by the
user to do something the user wishes to have and there also built-in functions that make things
easier for programmers to do.

Why did we have to use functions?


We had to use functions because there was a lot of code that needed to be reused over and
over again and writing the code for it every time, we had to use it is time-consuming and makes
our code unreadable and hard to maintain down the road.

Requirements
Functional Requirements
Our system has the ability to add and edit of a student’s data. We can also find a student’s
entire data if we know his/her ID.

Non-Functional Requirements
Our system has a friendly-user interface easy to understand and manipulate and retrieves
stored data instantly and the use of functions and the struct data type in our code ensures the
scalability of the program as different needs arise, we are well-suited to accommodate them.

Design
Implementation of struct in our system
We created a struct data type called ‘Student’ to store the various information a school
might have about their students such as their names, age, courses the student is taking, etc. We
could have had added about a hundred things but limited ourselves to the basics i.e., Name, Age,
Courses, ID because of the relatively small scope of our project.

We declared a variable of ‘Struct’ data type and named it ‘records’, It has the
‘firstname’,’secondname’,’courses’ and ’DateofBirth’ string variables associated with it and the
‘age’ & ‘ID’s integer variables associated with it. These variables are the info we store about a
particular student.

4
Usage of functions in our code
We created the following functions in our code:

1. add_student() : This function is used to create a new instance of ‘Student’.


2. Get_data() : This function is used to fetch data from the user.
3. search_student(): This function is used to search for a student using his/her ID.
4. display_data(): This function is used to display the data we have collected so far.
5. edit_data() : This function is used to modify already existing data using his/her ID.
6. Total_students(): This function is used to get the number of total students the system
admin is entering into the system.
7. Delete_records() :this function is used when we want to delete choosen student
records from our list.

5
Source Code
#include <iostream>
#include <string.h>
#include <string>
using namespace std;
struct Student {
int age, ID;
string firstname, secondname, course;
};

void search_student(int searchvalue);//done

void display_data(int searchvalue);//done

void edit_data(int studentID);//done

void total_students();

int total;

Student records[25];

int main() {

int choice, editchoice,searchvalue;

cout << "\n\t\tWhat do you want to do?" << endl;

cout << "\t\t----------------------" << endl;

cout << "\t\t1-Add student" << endl;

cout << "\t\t2-Edit student" << endl;

cout << "\t\t3-Search student" << endl;

cout << "\t\t4-Quit Program" << endl;

cout << "\t\t----------------------" << endl;

6
cout << "Enter your choice: ";

cin >> choice;

switch (choice) {

case 1:

total_students();

add_student();

break;

case 2:

if (records[0].age ==NULL) {

cout << "Add records first";

main();

else {

cout <<
"----------------------------------------------------------------
---------------" << endl;

cout << "---------------------------Student record


Table---------------------------------" << endl;

cout <<
"----------------------------------------------------------------
----------------" << endl;

cout << "ID " << "\tName " << "\tFather " << "\tCourse\t"
<< "Age\n\n";

7
cout <<
"----------------------------------------------------------------
----------------" << endl;

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


display_data(i); }

cout << "\nWhich ID number do you want to edit?\n";

cin >> editchoice;

if (editchoice > total || editchoice < 0) {

cout << "Invalid Input\n" << endl;

else {

edit_data(editchoice);

break;

case 3:

if (records[0].age == NULL) {

cout << "Please add data first.\n";

main();

else {

cout << "Enter ID of Student you want to search: ";

cin >> searchvalue;

search_student(searchvalue);

8
break;

case 4:

return 0;

break;

default:

cout << "Invalid number." << endl;

main();

void total_students() {

cout << "How many students do you want to enter into the
system?";

cin >> total;

void add_student() {

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

get_data(i);

cout << endl;

cout <<
"----------------------------------------------------------------
----------------" << endl;

9
cout << "---------------------------Student record
Table---------------------------------" << endl;

cout <<
"----------------------------------------------------------------
----------------" << endl;

cout << "ID " << "\tName " << "\tFather " << "\
tCourse\t" << "Age\n";

cout <<
"----------------------------------------------------------------
----------------" << endl;

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

display_data(i);

main();

void get_data(int i) {

records[i].ID = i ;

cout << "\nEnter first name: ";

cin >> records[i].firstname;

cout << "Enter second name: ";

cin >> records[i].secondname;

cout << "Enter student course in abbreviation IS,CS,etc... : ";

cin >> records[i].course;

cout << "Enter student's age: ";

cin >> records[i].age;

10
cout << "Student " << records[i].firstname << " " <<
records[i].secondname << " has been assigned ID number " <<
records[i].ID <<endl;

void edit_data(int editchoice) {

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

if (editchoice== i) {

cout << "\nInformation about this record.\n\n";

cout <<
"----------------------------------------------------------------
----------------" << endl;

cout << "ID " << "\tName " << "\tFather " << "\
tCourse\t" << "Age\n";

cout <<
"----------------------------------------------------------------
----------------" << endl;

display_data(i);

cout << "\nEnter new data for the existing record";

get_data(i);

cout << "Record Updated" << endl;

main();

void display_data(int searchvalue) {

11
int i = searchvalue;

cout << records[i].ID << " \t";

cout << records[i].firstname << " \t\t";

cout << records[i].secondname <<" \t\t";

cout << records[i].course << " \t\t";

cout << records[i].age << " \t\n";

void search_student(int searchvalue) {

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

if (records[i].ID == searchvalue) {

cout << "ID " << "Name " << "Father " << "Course\t"
<< "Age\n\n";

display_data(i);

void delete_records(int editchoice) {

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

if (editchoice== i) {

cout <<
"----------------------------------------------------------------
----------------" << endl;

12
cout << "---------------------------Student record
Table---------------------------------" << endl;

cout <<
"----------------------------------------------------------------
----------------" << endl;

cout << "ID" << "\tName" << "\t\tFather" << "\t\tCourse" <<
"\t\tAge\n";

cout <<
"----------------------------------------------------------------
----------------" << endl;

display_data(i);

cout << "\n\n";

deleteddata(i);

cout << "Record Updated" << endl;

main();

Conclusion
This document has shown why a digital student management system is better than a
physical student management system. It also shows how a student management system can be
implemented using the C++ programming language using struct, function, variables and arrays.

13
Recommendations
There are certain things we thought of but didn’t add to our system. We recommend the
following things to be added to the system.

1. In order to avoid loss of data via hackers the system should have passwords implemented in
it.
2. In order to avoid tampering and misappropriation of student data by administrators, only
certain people should have the clearance to edit student data. Moreover, Student data history
should be saved and the person who edited the data should be kept as part of the data so as to
avoid problems.
3. We have limited ourselves to the use of Command Line Interfaces (CLIs) but Graphic User
Interfaces are much more intuitive and easier to use therefore that also must be added.
4. The addition of databases would greatly increase accessibility of data and we believe that it
also should be added.

14

You might also like