mandelbug
mandelbug

Reputation: 1808

Output a table with name and average of scores

    var member1 = prompt("Bowler's Name", "Name");
var member1score1 = prompt("Score from game 1", "");
var member1score2 = prompt("Score from game 2", "");
var member1score3 = prompt("Score from game 3", "");
var memeber1avg = ((memberscore1 + member1score2 + member1score3) / 3);


var member2 = prompt("Bowler's Name", "Name");
var member2score1 = prompt("Score from game 1", "");
var member2score2 = prompt("Score from game 2", "");
var member2score3 = prompt("Score from game 3", "");
var memeber2avg = ((memberscore1 + member1score2 + member1score3) / 3);


var member3 = prompt("Bowler's Name", "Name");
var member3score1 = prompt("Score from game 1", "");
var member3score2 = prompt("Score from game 2", "");
var member3score3 = prompt("Score from game 3", "");
var memeber3avg = ((memberscore1 + member1score2 + member1score3) / 3);


var member4 = prompt("Bowler's Name", "Name");
var member4score1 = prompt("Score from game 1", "");
var member4score2 = prompt("Score from game 2", "");
var member4score3 = prompt("Score from game 3", "");
var memeber4avg = ((memberscore1 + member1score2 + member1score3) / 3);

Ok, so I'm new to js, and I knowwww this can be done way simpler with arrays... just don't know how. Also how do I write this to a table?

Upvotes: 1

Views: 366

Answers (1)

Guffa
Guffa

Reputation: 700670

How about creating an object for the member, and give it methods for input and average calcuation:

function Member() {
  this.score = [];
  this.name = prompt("Bowler's Name", "Name");
}

Member.prototype = {

  inputScore: function(cnt){
    for (var i = 0; i < cnt; i++) {
      this.score[i] = parseInt(prompt('Score from game ' + (i + 1), ''), 10);
    }
  },

  getAverage: function() {
    var sum = 0;
    for (var i = 0; i < this.score.length; i++) {
      sum += this.score[i];
    }
    return sum / this.score.length;
  }

};

// create four members and input data
var members = [];
for (var i = 0; i < 4; i++) {
  members[i] = new Member();
  members[i].inputScore(3);
}

// output averages    
for (var i = 0; i < members.length; i++) {
  alert('Average for ' + members[i].name + ' is ' + members[i].getAverage());
}

Upvotes: 1

Related Questions