Professional Documents
Culture Documents
Sample
Sample
Rushawn White
1000053501
100005
Ms Andrienne Jones
Problem Definition.................................................................................................................4
Functional Requirements.......................................................................................................6
Non-Functional Requirements...............................................................................................7
Level 1 Diagram...............................................................................................................12
Design Specification...............................................................................................................14
HIPO Chart...........................................................................................................................15
Data Structures.....................................................................................................................24
Pseudocode...........................................................................................................................25
C Code..................................................................................................................................46
Test Plan...............................................................................................................................72
Test Results..........................................................................................................................85
Requirements
Specification
3|Page
Problem Definition
The St. Andrew Preparatory is a school that is located on Cecelio Avenue, Kingston
10 and the contact number of the school is 1876-920-5728. It was founded in 1930 by
Presbyterian Church of Jamaica and Wesleyan Methodist Church. The school is broken down
into two groups: the lower department from grades K1 to 2, and the upper department from
grades 3 to 6. In total there are 8 teachers working with approximately 80 students in the
lower department and 12 teachers working with approximately 120 students in the upper
department. On a normal school day, school progressing from 8:00am to 1:00pm for the
lower department and 8:00am to 2:00pm for the upper department. In the school’s curriculum
they offer Mathematics, English, Science, Social Studies, Art, Physical Education, Drama,
Problem
At the school to generate reports the teachers would have to manually write reports
using a pen, calculator and paper for each individual student. Teachers have reported writing
reports to be tedious and have sometimes miscalculated the grades which would lead to a
where the reports they have written were damaged, misplaced or tarnished. It has also been
reported by the teachers that grade books have gone missing and thus important grades are
Solution
To solve these problems, a system would be put in place to eliminate written reports
and rather implement digital reports that may be printed, viewed and stored on a device. This
4|Page
system will ensure averages are accurately calculated and student’s information are properly
5|Page
Functional Requirements
The system should be able to:
Allow the admin to enter the names of the teachers of each class as well as the names,
Generate unique identification numbers (IDs) for each teacher as well as each student.
Calculate the averages of each subject of the student, as well as the overall average of
the student.
Calculate the overall average of each subject of a class, as well as the overall average
of the class.
Output the report of a student showing the full name, age, gender, ID number, name
of class and teacher, year and term of report, average grade of each subject, and the
Output the report of a class showing the full name of the teacher, ID number of the
teacher, the number of students, year and term of report, overall average of each
subject of the class, the overall average of the class, the student with the highest
average for each subject, and the student with the highest overall average.
6|Page
Non-Functional Requirements
The reports should be printable.
7|Page
Techniques of Analysis Used
The techniques of analysis used to gather data about this problem are an interview and
Interview
A closed interview was conducted with a senior teacher from the school. The entire
interview lasted an hour at the institution. The justification for using this technique was to get
a first-hand interpretation of how the original system would take place. It also helps to outline
the problems with the current system as well as what they would like to see be improved in
their system.
Interview Questions
Internal documents such as templates of the report used when writing reports and
examples of completed reports were reviewed. It was discovered that from the examples of
the reports there are places where values for averages are crossed out and replaced with new
averages due to miscalculation which makes the presentation overall untidy. The justification
for this technique is to see first-hand how the reports are structured and made and to
understand how serious the problems outlined in the interview were by reviewing examples.
Internal Documents
8|Page
9|Page
10 | P a g e
Data Flow Diagrams (DFD)
11 | P a g e
Level 1 Diagram
12 | P a g e
Entity Relationship Diagram
13 | P a g e
Design Specification
14 | P a g e
HIPO Chart
ScanSchool – To retrieve school (classes and students) information stored on the “School
Database.txt” file.
ListSelect – To generate a menu showing a list of options. This menu can be interacted with
by used the W (Up), S (Down), and Enter keys to scroll through the menu and select an
option respectively.
ViewGrades – This creates a dynamic table of grades of all subjects for a student that the
15 | P a g e
AddGrades – This allows the teacher to add grades for a subject for a student they have
selected.
RemoveGrades – This allows the teacher to remove grades for a subject for a student they
have selected.
StudentReport – To generate a student report showing the student’s personal information, the
averages of each subject, the ratings issued for each average as well as the overall average
achieved by the student. This function also prints the student report on a personalized file
Loop – This prints a symbol to the screen for a certain number of times
Clear – This pauses the screen indefinitely until a key is enter, in which case will clear the
entire screen.
UpdateSchool – To clear the “School Database.txt” file and print the updated school’s
16 | P a g e
Justification of User Interface
After analysing the problem, the most appropriate interface that was chosen to be used
were a combination of Graphical User Interface (GUI), form-fill, and menu driven interfaces.
This combination of interfaces were selected as teachers will be able to easily interact with
the system (user friendliness) and reports can be graphically represented after being
generated.
17 | P a g e
User Interface Design
18 | P a g e
19 | P a g e
20 | P a g e
21 | P a g e
22 | P a g e
23 | P a g e
Data Structures
The data structures that were utilized in the algorithm are:
These were used to store the records of all classes in the school, the records students
in each class, the records of subjects for each student, and the record of grades for
each subject.
2. String Arrays
These were used to store the names of the subjects that are taught in the school as well
3. Search Function
This was used to search for a class that was being selected using the teacher’s
password
4. Files
These were used to store the information about all the class in the school as well as to
5. String Pointers
These were used to pass array of strings, which hold a list of options, to the ListSelect
24 | P a g e
Pseudocode
Structure Subject
grade[20],gtot as integer
End Subject
Structure Student
name as string
sex as character
age as integer
End Student
Structure Class
cname,tname,password as string
idnum,stot as integer
End
Declare:
subject[100],option[100] as string
25 | P a g e
ctot,i,j,k,l,m,n,o as integer
plist[100],list[100] as string
subject={"","Mathematics","English_Language","Science","Social_Studies","Art","Physical
_Education","Drama","Music","Chess"}
Function main
Begin
found=0
Call ScanSchool
Write"Enter your password to continue (ID Number+Last Name Ex: 10076Brown): "
Read pass
If pass=cla[i].password Then
found=found+1
End For
End If
End For
26 | P a g e
If found = 1 Then
Repeat
list[j]=cla[i].stud[j].name
plist[j]=list[j]
End For
list[j]="Exit"
plist[j]=list[j]
or exit:")
If j<>cla[i].stot+1 Then
Repeat
options below:")
Do Case
case m=1
Call ViewGrades
case m=2
Call AddGrades
case m=3
27 | P a g e
Call RemoveGrades
break
case m=4
Call StudentReport
End Case
Until m=5
End If
Until j=cla[i].stot+1
Write"Thank you for using the St. Andrew Prep School program!"
Call UpdateSchool
Else
End If
End
Procedure ScanSchool
Begin
term=1
28 | P a g e
term=2
Else
term=3
End If
"
Read ctot
Read cla[i].cname
Read cla[i].tname
Read cla[i].stot
cla[i].idnum=10000+i
ctemp.password=ctemp.password+cla[i].tname
29 | P a g e
cla[i].password=ctemp.password
Brown: ",j
Read cla[i].stud[j].name
Read cla[i].stud[j].age
Write"Sex (M OR F: "
Read cla[i].stud[j].sex
End For
End For
Call UpdateSchool
Write" __________________________________
____________________________________ "
Write"|_Teacher______________|_Class_|_ID_Number_|
_Password__________________|"
Write"| | | | |"
30 | P a g e
Write"| ",cla[i].tname," | ",cla[i].cname," | ",cla[i].idnum," |
",cla[i].password," |"
End For
Write"|______________________|_______|___________|
___________________________|"
Write"Database Complete!"
Else
Read
cla[i].cname,cla[i].tname,&cla[i].idnum,cla[i].password,&cla[i].stot
Database.txt"
For k=1 to 9 do
Database.txt"
31 | P a g e
Read cla[i].stud[j].sub[k].grade[l] from "School
Database.txt"
End For
End For
End For
End For
End If
End ScanSchool
Procedure UpdateSchool
Begin
Write cla[i].cname,cla[i].tname,cla[i].idnum,cla[i].password,cla[i].stot to
"School Database.txt"
Database.txt"
For k=1 to 9 do
32 | P a g e
Write cla[i].stud[j].sub[k].gtot to "School Database.txt"
If cla[i].stud[j].sub[k].gtot>0 Then
Database.txt"
End For
End If
End For
End For
End For
End UpdateSchool
Procedure ViewGrades
Begin
hightotgrade=0
For k=1 to 9 do
If cla[i].stud[j].sub[k].gtot>hightotgrade Then
hightotgrade=cla[i].stud[j].sub[k].gtot
End If
33 | P a g e
End For
If hightotgrade>0 Then
Write cla[i].stud[j].name
Write" ____________________"
Call Loop(1,hightotgrade,"_______")
Write"| |"
End For
Write"|____________________|"
Loop(1,hightotgrade,"______|")
Write"| |"
Loop(1,hightotgrade," |")
For k=1 to 9 do
End For
34 | P a g e
End For
Write"|____________________|"
Loop(1,hightotgrade,"______|")
Else
End If
End ViewGrades
Procedure AddGrades
gadd,gstart,gend as integer
o= Call ListSelect(subject,9,"Please select one of the subjects you are adding grades
for below:")
Read gadd
If gadd>0 Then
gstart=cla[i].stud[j].sub[o].gtot+1
gend=cla[i].stud[j].sub[o].gtot+gadd
cla[i].stud[j].sub[o].gtot=cla[i].stud[j].sub[o].gtot+1
Read cla[i].stud[j].sub[o].grade[n]
35 | P a g e
Call ViewGrades
End For
Else
Write"The total grades entered is invalid (less than 1.Please try again!"
End If
End AddGrades
Procedure RemoveGrades
Begin
gremove as integer
If cla[i].stud[j].sub[k].gtot>0 Then
plist[l]=list[l]
End For
are removing:"
36 | P a g e
cla[i].stud[j].sub[k].grade[n]=cla[i].stud[j].sub[k].grade[n+1]
End For
cla[i].stud[j].sub[k].gtot=cla[i].stud[j].sub[k].gtot-1
Else
End If
End RemoveGrades
Procedure StudentReport
Begin
file,finame as string
oaverage,saverage[100] as integer
oaverage=0
For k=1 to 9 do
saverage[k]=0
If cla[i].stud[j].sub[k].gtot>0 Then
saverage[k]=saverage[k]+cla[i].stud[j].sub[k].grade[l]
End For
saverage[k]=saverage[k]/cla[i].stud[j].sub[k].gtot
37 | P a g e
End If
oaverage=oaverage+saverage[k]
End For
oaverage=oaverage/9
finame=cla[i].stud[j].name
finame=finame+".txt"
Write"
_____________________________________________________________________
_________________________________" to finame
to finame
finame
38 | P a g e
Write"| Form: ",cla[i].cname," | |
|" to finame
Write"|
_____________________________________________________________________
_________________________________|" to finame
Write"|
_____________________________________________________________________
|" to finame
Write"| |____________________________________|_____________|_____|
39 | P a g e
Write"| |____________________________________|_____________|_____|
For k=1 to 9 do
Write"| | | | | | | | | | |" to
finame
For m=1 to 6 do
Write" * |"
Write" * |"
Write" * |"
Write" * |"
Write" * |"
Write" * |"
Else
40 | P a g e
Write" |"
End If
End For
Write"| |____________________________________|_____________|
End
Write"|
_____________________________________________________________________
_________________________________|" to finame
Close finame
Write file
Close finame
End StudentReport
Begin
code as integer
code=1
41 | P a g e
key as character
Repeat
Write" Please look on the keyboard for the keys below "
Write" UP "
Write" "
Write instruction
Write"|_Options______________________________________|"
Write"| |"
If code=n Then
42 | P a g e
Else
End
End
Write"|______________________________________________|"
code=code-1
If code=0 Then
code=max
End If
code=code+1
If code=max+1 Then
code=1
End If
End If
Until key='\r'
Return code
43 | P a g e
Declare n as integer
Write print
End For
End Loop
44 | P a g e
Coding and Testing
45 | P a g e
C Code
/*
1. Allow the administrator to enter the information about students and classes
3. Teachers may add and remove grades for students within their class.
*/
//Header Files
#include <stdio.h>
#include <string.h>
#include <windows.h>
struct Subject{
};
//A structure called 'Student' designed to store the name, sex, age and records of grades of
each subject
46 | P a g e
struct Student{
int age;
//A structure called 'Class' designed to store the class and teacher names,
//teacher password, ID number, total number of students and records of all students in the
class
struct Class{
}cla[100], ctemp;
//Declare a global string array to store the list of subjects in the school
char *subject[100] =
{"","Mathematics","English_Language","Science","Social_Studies","Art","Physical_Educati
on","Drama","Music","Chess"};
47 | P a g e
//Declare a global string array to store the options a teacher can select within the program
Report","Main Menu"};
FILE *ptr;
void ScanSchool();
void UpdateSchool();
void AddGrades();
void StudentReport();
void Clear();
void ViewGrades();
void RemoveGrades();
//Main Function
48 | P a g e
int main(){
int found = 0;
char pass[100];
ShowWindow(GetConsoleWindow(),SW_MAXIMIZE);
system("color F4");
ScanSchool();
");
//Search through the passwords of all teacher until the entered password matches one
//Set the finder variable to one, this means the password was correct
++found;
49 | P a g e
break;
if(found == 1){
//Do the following until the teacher selects the 'Exit' option
do{
//Get the names of all the students so that the student list can be
generated
strcpy(list[j], cla[i].stud[j].name);
plist[j] = list[j];
strcpy(list[j], "Exit");
plist[j] = list[j];
//Send the list of student names to be selected and get the code of the
option selected
below or exit:");
50 | P a g e
//If the teacher did not select the 'Exit' option
if(j != cla[i].stot+1){
//Do the following until the teacher selected the 'Main Menu'
option
do{
of the option
options below:");
//Switch cases
switch(m){
case 1:
ViewGrades();
break;
case 2:
AddGrades();
break;
option
51 | P a g e
case 3:
RemoveGrades();
break;
option
case 4:
StudentReport();
break;
Clear();
}while(m != 5);
}while(j != cla[i].stot+1);
puts("Thank you for using the St. Andrew Prep School program!");
UpdateSchool();
}else{
52 | P a g e
//A Procedure that gets the information about classes and students in the school
void ScanSchool(){
GetSystemTime(&rep);
term = 1;
term = 2;
}else{
term = 3;
below: ");
scanf("%d", &ctot);
53 | P a g e
printf("Name of the class (Ex. 6H): ");
scanf("%s", cla[i].cname);
scanf("%d", &cla[i].stot);
cla[i].idnum = 10000 + i;
strcat(ctemp.password, cla[i].tname);
strcpy(cla[i].password, ctemp.password);
scanf("%d", &cla[i].stud[j].age);
54 | P a g e
printf("Sex (M OR F): ");
Clear();
UpdateSchool();
//Display the list of all teachers and their respective classes, ID numbers and
passwords
puts(" __________________________________
____________________________________ ");
puts("|_Teacher______________|_Class_|_ID_Number_|
_Password__________________|");
puts("| | | | |");
55 | P a g e
puts("|______________________|_______|___________|
___________________________|");
puts("Database Complete!");
Clear();
}else{
fscanf(ptr, "%d",
&cla[i].stud[j].sub[k].grade[l]);
56 | P a g e
}
fclose(ptr);
void Clear(){
system("pause");
system("cls");
//A Procedure that updates the information about classes and students in the school
void UpdateSchool(){
//Open the "School Database.txt" file, clear it, and print the updated information to the
file
cla[i].password, cla[i].stot);
57 | P a g e
fprintf(ptr, "%s\n%c %d\n", cla[i].stud[j].name, cla[i].stud[j].sex,
cla[i].stud[j].age);
fprintf(ptr, "\n");
fclose(ptr);
void ViewGrades(){
int hightotgrade = 0;
//Find the highest total grade count for the subjects of a student
58 | P a g e
if(cla[i].stud[j].sub[k].gtot > hightotgrade){
hightotgrade = cla[i].stud[j].sub[k].gtot;
//Create a dynamic table showing the grades on the file organized by subject
printf("%s\n", cla[i].stud[j].name);
printf(" ____________________");
printf("\n| |");
printf("\n|____________________|");
printf("\n| |");
59 | P a g e
printf("\n");
printf("\n");
printf("|____________________|");
printf("\n");
}else{
void AddGrades(){
60 | P a g e
o = ListSelect(subject, 9, "Please select one of the subjects you are adding grades for
below:");
scanf("%d", &gadd);
gstart = cla[i].stud[j].sub[o].gtot+1;
gend = cla[i].stud[j].sub[o].gtot+gadd;
++cla[i].stud[j].sub[o].gtot;
scanf("%d", &cla[i].stud[j].sub[o].grade[n]);
//Display the current list of grades after the teacher entered the grade
ViewGrades();
Clear();
61 | P a g e
}
}else{
puts("The total grades entered is invalid (less than 1).\nPlease try again!");
void RemoveGrades(){
int gremove;
k = ListSelect(subject, 9, "Please select one of the subjects you are removing a grade
for below:");
plist[l] = list[l];
62 | P a g e
l = ListSelect(plist, cla[i].stud[j].sub[k].gtot, "Please select the grade you are
removing:");
cla[i].stud[j].sub[k].grade[n] = cla[i].stud[j].sub[k].grade[n+1];
--cla[i].stud[j].sub[k].gtot;
}else{
void StudentReport(){
//Calculate the average for each subject of the student as well as the overall average
saverage[k] = 0;
63 | P a g e
if(cla[i].stud[j].sub[k].gtot > 0){
saverage[k] += cla[i].stud[j].sub[k].grade[l];
saverage[k] /= cla[i].stud[j].sub[k].gtot;
oaverage += saverage[k];
oaverage /= 9;
strcpy(finame, cla[i].stud[j].name);
strcat(finame, ".txt");
fprintf(ptr, "
_____________________________________________________________________
_________________________________\n");
|\n");
64 | P a g e
fprintf(ptr, "| School Report |\
n");
|\n", cla[i].stud[j].name);
cla[i].cname);
fprintf(ptr, "|
_____________________________________________________________________
_________________________________|\n");
65 | P a g e
fprintf(ptr, "|
_____________________________________________________________________
_________________ |\n");
| |\n");
_____|_____|_____|_____|_____|_____| |\n");
_____|_____|_____|_____|_____|_____| |\n");
fprintf(ptr, "| | | | | | | | | | |\
n");
66 | P a g e
}else if(m == 4 && saverage[k] >= 60 && saverage[k] < 70){
}else{
_____________|_____|_____|_____|_____|_____|_____| |\n");
fprintf(ptr, "|
_____________________________________________________________________
_________________________________|\n");
fclose(ptr);
//Open the file and get the report that is stored on it, print it to the screen for the
teacher to view
67 | P a g e
fflush(ptr);
printf("%s", file);
fclose(ptr);
//A Function that displays a menu that allows the teacher to scroll through and select an
int code = 1;
char key;
system("cls");
do{
puts(" Please look on the keyboard for the keys below ");
puts(" UP ");
68 | P a g e
puts(" _____|_____|_____ | | ");
puts(" ");
printf("%s\n", instruction);
puts("|_Options______________________________________|");
puts("| |");
//If the option was selected then highlight the circle beside the option
if(code == n){
}else{
69 | P a g e
puts("|______________________________________________|");
key = getch();
--code;
if(code == 0){
code = max;
++code;
if(code == max+1){
code = 1;
70 | P a g e
}
system("cls");
}while(key != '\r');
return code;
int n;
printf("%s", print);
71 | P a g e
Test Plan
72 | P a g e
student of prompts for prompts for
the 1st class next input next input
cla[1].stud[2].nam String To store the Mary Jane Stores the Stores the
e first and last data and data and
name of the prompts for prompts for
2nd student next input next input
of the 1st
class
cla[1].stud[2].age Integer To store the 10 Stores the Stores the
age of the data and data and
2nd student prompts for prompts for
of the 1st next input next input
class
cla[1].stud[2].sex Characte To store the F Stores the Stores the
r sex of the data and data and
2nd student prompts for prompts for
of the 1st next input next input
class
cla[1].stud[3].nam String To store the Adam Stores the Stores the
e first and last Peterson data and data and
name of the prompts for prompts for
3rd student next input next input
of the 1st
class
cla[1].stud[3].age Integer To store the 10 Stores the Stores the
age of the data and data and
3rd student prompts for prompts for
of the 1st next input next input
class
cla[1].stud[3].sex Characte To store the M Stores the Stores the
r sex of the data and the data and the
3rd student admin is admin is
of the 1st informed informed
class that the class that the
was added class was
to the school added to the
database school
database
Password Authentication
Incorrect Data Below
pass String To gain 10010Brow The teacher The
access to the n was granted password
features of access to use entered is
the program the program invalid.
Program
terminates
Program runs again
Password Authentication
pass String To gain 10001Brow The teacher The teacher
73 | P a g e
access to the n was granted was granted
features of access to use access to
the program the program use the
program
Main Menu Selection
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
Incorrect Data Below
key Characte To store the r Selects the Nothing
r key entered next option changes
by the user
to select an
option
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 2 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows option and
option the menu for shows the
Mary Jane menu for
Mary Jane
j Integer To store the 2 The user is Stores the
index for unaware that data
the location this is
of the occurring
student
selected
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the order
to select an and prints a and Mary
option table Jane has no
showing all grades
grades for
74 | P a g e
Mary jane
m Integer To store the 1 The user is Stores the
index for unaware that data
the location this is
of the occurring
option
selected
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 2 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 3 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows option and
option the menu of shows the
subjects for menu of
Mary Jane subjects for
Mary Jane
m Integer To store the 3 The user is Stores the
index for unaware that data
the location this is
of the occurring
option
selected
Subject Menu Selection (Removing Grades)
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
75 | P a g e
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows a option and
option menu of Mathematic
grades for s has no
Mathematics grades
o Integer To store the 1 The user is Stores the
index for unaware that data
the location this is
of the occurring
subject
selected
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 2 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows option and
option the menu of shows the
subjects for menu of
Mary Jane subjects for
Mary Jane
m Integer To store the 2 The user is Stores the
index for unaware that data
the location this is
of the occurring
option
selected
Subject Menu Selection (Adding Grades)
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
76 | P a g e
to select an and asks for option and
option the number asks for the
of grades number of
being added grades being
for added for
Mathematics Mathematic
s
o Integer To store the 1 The user is Stores the
index for unaware that data
the location this is
of the occurring
subject
selected
Adding Grades for Mathematics
Incorrect Data Below
gadd Integer To store the -5 Stores the The total
total number data and grades
of grades asks for the entered is
being added grades for invalid (less
Mathematics than 1)
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 2 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows option and
option the menu of shows the
subjects for menu of
Mary Jane subjects for
Mary Jane
m Integer To store the 2 The user is Stores the
index for unaware that data
the location this is
of the occurring
option
selected
Subject Menu Selection (Adding Grades)
77 | P a g e
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and asks for option and
option the number asks for the
of grades number of
being added grades being
for added for
Mathematics Mathematic
s
o Integer To store the 1 The user is Stores the
index for unaware that data
the location this is
of the occurring
subject
selected
Adding Grades for Mathematics
gadd Integer To store the 5 Stores the Stores the
total number data and data and
of grades asks for the asks for the
being added grades for grades for
Mathematics Mathematic
s
gstart Integer To store the 1 The user is Stores the
position of unaware that data
the first this is
grade being occurring
added
gend Integer To store the 5 The user is Stores the
position of unaware that data
the last this is
grade being occurring
added
cla[1].stud[2]. Integer To store the 1 The user is Stores the
sub[1].gtot total grades unaware that data
for this is
Mathematic occurring
s
cla[1].stud[2]. Integer To store the 89 Store the Store the
sub[1].grade[1] 1st grade for data and data and
Mathematic asks for the asks for the
s for the 2nd next grade next grade
student for
the 1st class
cla[1].stud[2]. Integer To store the 2 The user is Stores the
sub[1].gtot total grades unaware that data
78 | P a g e
for this is
Mathematic occurring
s
cla[1].stud[2]. Integer To store the 93 Store the Store the
sub[1].grade[2] 2nd grade for data and data and
Mathematic asks for the asks for the
s for the 2nd next grade next grade
student for
the 1st class
cla[1].stud[2]. Integer To store the 3 The user is Stores the
sub[1].gtot total grades unaware that data
for this is
Mathematic occurring
s
cla[1].stud[2]. Integer To store the 84 Store the Store the
sub[1].grade[3] 3rd grade for data and data and
Mathematic asks for the asks for the
s for the 1st next grade next grade
student
cla[1].stud[2]. Integer To store the 4 The user is Stores the
sub[1].gtot total grades unaware that data
for this is
Mathematic occurring
s
cla[1].stud[2]. Integer To store the 88 Store the Store the
sub[1].grade[4] 4th grade for data and data and
Mathematic asks for the asks for the
s for the 2nd next grade next grade
student for
the 1st class
cla[1].stud[2]. Integer To store the 5 The user is Stores the
sub[1].gtot total grades unaware that data
for this is
Mathematic occurring
s
cla[1].stud[2]. Integer To store the 90 Grades were Grades were
sub[1].grade[5] 5th grade for added to the added to the
Mathematic database database
s for the 2nd
student for
the 1st class
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
79 | P a g e
to select an
option
code Integer To store the 2 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 3 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows option and
option the menu of shows the
subjects for menu of
Mary Jane subjects for
Mary Jane
m Integer To store the 3 The user is Stores the
index for unaware that data
the location this is
of the occurring
option
selected
Subject Menu Selection (Removing Grades)
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows a option and
option menu of shows a
grades for menu of
Mathematics grades for
Mathematic
s
o Integer To store the 1 The user is Stores the
index for unaware that data
the location this is
of the occurring
subject
selected
80 | P a g e
Grades Menu Selection (Removing Grades)
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the W Selects the Selects the
r key entered previous previous
by the user option option
to select an
option
code Integer To store the 5 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the W Selects the Selects the
r key entered previous previous
by the user option option
to select an
option
code Integer To store the 4 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and the 4th option and
option (88) grade the 4th (88)
was grade was
removed removed
k Integer To store the 4 The user is Stores the
index for unaware that data
the location this is
of the grade occurring
selected
cla[1].stud[2]. Integer To store the 88 Store the Store the
sub[1].grade[4] 4th grade for data and data and
Mathematic asks for the asks for the
s for the 2nd next grade next grade
student
cla[1].stud[2]. Integer To store the 4 The user is Stores the
sub[1].gtot total grades unaware that data
for this is
Mathematic occurring
s
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
81 | P a g e
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and prints a option and
option table prints a
showing all table
grades for showing all
Mary jane grades for
Mary jane
m Integer To store the 1 The user is Stores the
index for unaware that data
the location this is
of the occurring
option
selected
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 2 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 3 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the S Selects the Selects the
r key entered next option next option
by the user
to select an
option
code Integer To store the 4 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
82 | P a g e
r key entered Key) the selection the selection
by the user of the option of the
to select an and shows a option and
option student shows a
report for student
Mary Jane report for
Mary Jane
m Integer To store the 4 The user is Stores the
index for unaware that data
the location this is
of the occurring
option
selected
Menu Selection for Mary Jane
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the W Selects the Selects the
r key entered previous previous
by the user option option
to select an
option
code Integer To store the 5 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
by the user of the option of the
to select an and goes to option and
option main menu goes to
main menu
Main Menu Selection
code Integer To store the 1 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the W Selects the Selects the
r key entered previous previous
by the user option option
to select an
option
code Integer To store the 4 The user is Stores the
number for unaware that data
the option this is
selected occurring
key Characte To store the ‘\r’ (Enter Confirms Confirms
r key entered Key) the selection the selection
83 | P a g e
by the user of the option of the
to select an and closes option and
option the program closes the
program
Program Terminates
84 | P a g e
Test Results
Adding Classes to the Program
85 | P a g e
Password Authentication
86 | P a g e
Attempt to look at the student’s grades (Error)
87 | P a g e
Add grades for Mathematics
88 | P a g e
Removing a grade for Mathematics
89 | P a g e
Generating a student report for a student
90 | P a g e
Going back to the student selection menu (Main Menu)
91 | P a g e
Exiting the program
92 | P a g e