forked from MedTech-CS425/StudentManagementSystem
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStudentManagementSystem.js
More file actions
152 lines (129 loc) · 3.33 KB
/
StudentManagementSystem.js
File metadata and controls
152 lines (129 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
var numberOfStudents = 0;
function addStudent() {
return ++numberOfStudents;
}
function getNumberOfStudents() {
return numberOfStudents;
}
var students = [];
function addStudent(name) {
students.push(name);
numberOfStudents = students.length;
}
function clearStudents() {
students = [];
numberOfStudents = 0;
}
function createFullName(firstName, lastName) {
return firstName + ' ' + lastName;
}
function getStudentByInitials(name, firstCharacter) {
return name[0] === firstCharacter;
}
function isFullName(name) {
return name.split(' ').length === 2;
}
function getStudentByInitials(initial) {
var i = 0;
var j = 0;
var result = [];
while (i < students.length) {
if (students[i][0] === initial) {
result.push(students[i]);
}
i++;
}
return result;
}
function createStudent(firstName, lastName, email, age, education) {
var student = {
firstName,
lastName,
fullName: createFullName(firstName, lastName),
email,
age,
education
};
return student;
}
var me = createStudent("Najla", "Seghaier", "najla@gmail.com", 26, "SW engineer");
function addSkills(student, skills) {
if(!student.skills){
student.skills = skills;
} else {
for (var i = 0; i<skills.length; i++){
// var isNew = true;
// for(var j =0; j<student.skills.length; j++) {
// if(skills[i] === student.skills[j]) {
// isNew = false;
// }
// }
// if(isNew === true) {
// student.skills.push(skills[i]);
// }
if(student.skills.indexOf(skills[i]) === -1) {
student.skills.push(skills[i]);
}
}
}
}
function addStudent(student) {
students.push(student);
}
function removeStudent(firstName) {
for (var i = 0; i<students.length; i++) {
if(students[i].firstName === firstName) {
students.splice(i, 1);
}
}
// var index;
// do {
// index = students.findIndex(x => {
// return x.firstName === firstName;
// });
// if(index !== -1)
// students.splice(index, 1);
// } while(index !== -1);
}
function isOlderThan(student, age) {
return student.age > age;
}
function doesStudentHaveSkills(student) {
if(!student.skills) {
return false;
}
return student.skills.length !== 0;
// return (student.skills && student.skills.length !== 0) == true;
}
function isStudentQualified(student) {
return isOlderThan(student, 18) && doesStudentHaveSkills(student);
}
function numberOfStudentsOlderThan(age) {
var number = 0;
for(var i =0; i<students.length; i++) {
if(isOlderThan(students[i], age)) {
number++;
}
}
return number;
}
function getStudentsWithSkills() {
var i = 0;
var result = [];
while(i<students.length) {
if(doesStudentHaveSkills(students[i])) {
result.push(students[i]);
}
i++;
}
return result;
}
function getAllStudentswithSkill(skill) {
var result = [];
for (var i = 0; i<students.length; i++) {
if(students[i].skills.indexOf(skill) !== -1) {
result.push(students[i]);
}
}
return result;
}