2010-07-11 6 views
0

J'ai un ami qui a une affectation sur les tableaux et parce que je manque d'expérience en Javascript et elle a juste besoin d'une aide rapide pour comprendre comment mettre en œuvre un Javascript loop to store data in an array which converts a letter grade to a number. Quelqu'un peut-il la guider dans une direction générale?JavaScript boucles pour stocker des données dans un tableau

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

Mise à jour: Elle affirme qu'elle ne comprend pas comment le faire redemandera après la première fois pendant le stockage des données. Quelqu'un peut-il juste écrire une traduction pour un code C++ pour do {}?

+0

Eh bien, elle devra être plus précis sur l'endroit où elle est coincée. Vous ne trouverez pas beaucoup d'aide ici si vous avez simplement un lien vers le document de devoirs. – Anurag

+0

Huh, quelle tâche terriblement vague. Ont-ils mentionné comment ils veulent que vous receviez des commentaires de l'utilisateur? – Faisal

+0

peut-être que c'est juste une affectation générale pour CS, mais en utilisant Javascript comme langue, Javascript devient très gros comme langage de programmation générale. – Rixius

Répondre

1

Voici une solution plus ou moins complète - mais elle ne renvoie pas les résultats à la page HTML mais les affiche dans les zones d'alerte.

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)); 
+4

Aucune infraction, vu que c'est une question de devoirs, le faire pour elle est mauvais forme. –

+0

Vous l'avez pratiquement nourri haha. mais oui, c'était complètement ambigu et je lui aurais juste donné la réponse – danutenshu

+0

Je sais que faire les devoirs des autres n'est pas une bonne chose - c'est pourquoi je n'ai pas commenté le code et utilisé des structures qui pourraient ne pas être faciles à expliquer si vous ne savez pas de quoi vous parlez (la tâche nécessite d'expliquer le travail, ou du moins c'est ce que j'ai compris) – Andris

0

Fondamentalement, elle devrait utiliser une boucle while.

dans (la plupart du temps) pseudocode:

more_entries = true; 

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

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

Bien sûr, cela doit être étendu à plusieurs invites.

+0

merci de supporter cela – danutenshu

+0

@danutenshu Vous et votre ami êtes les bienvenus. J'apprécie le fait que vous soyez franc à propos de vos devoirs et que vous n'ayez pas demandé la réponse, mais plutôt des conseils. –

Questions connexes