JavaScript-циклы для хранения данных в массиве - PullRequest
0 голосов
/ 11 июля 2010

У меня есть подруга, у которой есть задание по массивам, и потому что у меня нет опыта работы с Javascript, и ей просто нужна помощь, чтобы быстро понять, как реализовать Javascript loop to store data in an array which converts a letter grade to a number. Может кто-то просто направить ее в общем направлении?

https://docs.google.com/fileview?id=16uNNiooLalkm1QlszrqEPr2qqMGLjhrtQx7qCLw-7d2ftygre8GM6hyceJHj&hl=en\

Обновление: она заявляет, что не понимает, как заставить его снова запрашивать сообщение после первого сохранения данных. Может кто-то просто написать перевод кода C ++ для do {}?

Ответы [ 2 ]

1 голос
/ 11 июля 2010

Вот более или менее полное решение - но оно не выводит результаты на страницу HTML, а выводит его с окнами оповещений.

var done = false,
    classes = [],
    total_credits = 0,
    avg = 0;

while(!done){
    var class_name   = prompt("Enter class name"),
        letter_grade = prompt("Enter letter grade for "+class_name),
        credit_hours = prompt("Enter credit hours for "+class_name),
        number_grade = {"A":4,"B":3,"C":2,"D":1,"F":0}[letter_grade];
    if(class_name && letter_grade && credit_hours){
        classes.push({
           class_name: class_name,
           letter_grade: letter_grade,
           number_grade: number_grade,
           credit_hours: credit_hours
        });
        total_credits += parseInt(credit_hours,10);
        avg += number_grade*credit_hours;
    }else
        done = true;
}

avg = avg/total_credits;

for(var i=0; i<classes.length; i++){
    alert(classes[i].class_name + " | " +
          classes[i].letter_grade + " | " +
          classes[i].credit_hours);
}

alert("Total credits: " + total_credits);
alert("GPA: " + avg.toFixed(2));
0 голосов
/ 11 июля 2010

По сути, она должна использовать цикл while.

в (в основном) псевдокоде:

more_entries = true;

while(more_entries)
{    
    response = prompt("Question for the user","");

    if (response == null)
    {
        more_entries = false;
    }
    else
    {
        // store value somewhere
    }    
}

Конечно, это необходимо расширить до нескольких запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...