El programa pide el nombre de los estudiantes y luego el apellido. luego le solicita al estudiante su calificación y le dice que se detenga si se ingresa -1.
La forma en que hice esto fue crear cinco variables separadas para calificaciones, y luego llamar a cada una dentro del ciclo while y hacer que continúe mientras la variable de calificación no es igual a -1. Luego lo necesito para verificar si la calificación ingresada está entre 0 y 100. Si no está entre 0 y 100, aparece otro mensaje que le pide al usuario que vuelva a ingresar la calificación.
Los problemas que estoy teniendo son:
Cuando se ingresa -1, muestra -1 en una de las celdas de calificación de la tabla, incluso si no se ingresa ningún otro número.
Sin una declaración de interrupción después de ingresar una calificación, el programa vuelve a solicitar una entrada, incluso si está entre 0 y 100.
Si se ingresa un número mayor que 100 o menor que 0, ese número se muestra incluso cuando se ingresa el mensaje para ingresar la calificación nuevamente con un rango correcto.
Aquí está mi código.
function getStudent() { var fName = prompt("Enter the first name of the student:"); var lName = prompt("Enter the last name of the student:"); var grade_one; var grade_two; var grade_three; var grade_four; var grade_five; var uppercase_fName = fName.toUpperCase(); var lowercase_lName = lName.toLowerCase(); document.write('<table width="25%" border="1">'); document.write('<tr>'); document.write('<td>First Name</td>'); document.write('<td width="50">' + uppercase_fName + '</td>'); document.write('</tr>'); document.write('<tr>'); document.write('<td>Last Name</td>'); document.write('<td width="50">' + lowercase_lName + '</td>'); document.write('</tr>'); while (grade_one != -1 && grade_two != -1) { grade_one = prompt("Enter grade 1 (-1 to stop:"); document.write('<tr>'); document.write('<td>Grade 1</td>'); document.write('<td width="50">' + grade_one + '</td>'); document.write('</tr>'); grade_two = prompt("Enter grade 2 (-1 to stop:"); document.write('<tr>'); document.write('<td>Grade 2</td>'); document.write('<td width="50">' + grade_two + '</td>'); document.write('</tr>'); if (grade_one < -1 || grade_one > 100) grade_one = prompt("Enter grade 1 again"); } document.write('</table>'); }