forked from LaunchCodeEducation/javascript-projects
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClassStudio.js
More file actions
78 lines (63 loc) · 2.63 KB
/
ClassStudio.js
File metadata and controls
78 lines (63 loc) · 2.63 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
//Declare a class called CrewCandidate with a constructor that takes three parameters—name, mass, and scores. Note that scores will be an array of test results.
class CrewCandidate {
constructor(name, mass, scores = []) {
this.name = name;
this.mass = mass;
this.scores = scores;
}
addScore(score) {
this.scores.push(score);
}
averageScore() {
let sum = 0;
let avg = 0;
for(let i = 0; i < this.scores.length; i++) {
sum+= this.scores[i]
}
avg = Math.round((sum/this.scores.length)*10)/10
return avg
}
status(){
if (this.averageScore() >= 90){
return `${this.name} earned an average test score of ${this.averageScore()}% and has a status of Accepted.`;
}
else if (this.averageScore() >= 80){
return `${this.name} earned an average test score of ${this.averageScore()}% and has a status of Reserved.`;
}
else if (this.averageScore() >= 70){
return `${this.name} earned an average test score of ${this.averageScore()}% and has a status of Probationary.`;
}
else {
return `${this.name} earned an average test score of ${this.averageScore()}% and has a status of Rejected.`;
}
}
}
let bubbaBear = new CrewCandidate('bubbaBear', 135, [88,85,90]);
let merryMaltese = new CrewCandidate('Merry Maltese', 1.5, [93,88,97]);
let gladGator = new CrewCandidate('Glad Gator', 225, [75,78,62]);
console.log(bubbaBear);
console.log(merryMaltese);
console.log(gladGator);
//Add methods for adding scores, averaging scores and determining candidate status as described in the studio activity.
bubbaBear.addScore(83);
console.log(merryMaltese.averageScore())
console.log(bubbaBear.status())
console.log(merryMaltese.status())
console.log(gladGator.status())
//Part 4 - Use the methods to boost Glad Gator’s status to Reserve or higher. How many tests will it take to reach Reserve status? How many to reach Accepted? Remember, scores cannot exceed 100%.
let reserveCount = 0;
while (!(gladGator.averageScore() >= 80)){
gladGator.addScore(100);
reserveCount++;
}
console.log(gladGator.scores);
console.log(`${gladGator.name} took ${reserveCount} to reach Reserve status`);
console.log(gladGator.status());
let acceptCount = 0;
while (!(gladGator.averageScore() >= 90)){
gladGator.addScore(100);
acceptCount++;
}
console.log(gladGator.scores);
console.log(`${gladGator.name} took ${acceptCount} to reach Accept status`);
console.log(gladGator.status());