SoloCodigo

Programación Web y Scripting => JavaScript => Mensaje iniciado por: Mortuus en Domingo 5 de Abril de 2009, 22:17

Título: Problema Ejercicio Javascript!
Publicado por: Mortuus en Domingo 5 de Abril de 2009, 22:17
Hola a todos!

Estoy aprendiendo JavaScript, y me he quedado atascado en un ejercicio que trata de calcular la letra del DNI.  Mi problema es que no me sale el javascript, es decir, tendría que salir la ventana preguntando por los datos, y no sale. No entiendo por qué, lo he revisado varias veces y no veo el error :S
Aquí les dejo el código:

Código: Text
  1. //la letra del dni se calcula haciendo el resto de la división entera del numero entre el numero 23
  2. var letras = [T, R, W, A, G, M, Y, F, P, D, X, B, N, J, Z, S, Q, V, H, L, C, K, E, T];
  3. //El usuario introduce su dni
  4. var numero;
  5. var letra;
  6. numero = prompt("Introduce tu numero DNI");
  7. letra = prompt("Introduce la letra de tu DNI (en mayúsculas)");
  8. letra = letra.toUpperCase();
  9.  
  10. if (numero = 0 || numero > 99999999)
  11.     {
  12.     alert("El numero proporcionado no es valido");
  13. }
  14. else
  15.     {
  16.     var letracalculada = letras[numero % 23];
  17.     if (letracalculada != letra);
  18.         {
  19.             alert("La letra o el numero proporcionados no son validos");
  20.     }
  21. else
  22.     {
  23.     alert("Todo correcto");
  24.     }
  25. }
  26.  

Gracias.

Un saludo.
Título: Re: Problema Ejercicio Javascript!
Publicado por: goldenscriptup en Miércoles 8 de Abril de 2009, 23:01
Una observacion al arreglo letras le hace falta las comillas entre cada elemento, como se ve en el ejemplo siguiente.

Otro error que tienes es que no lleva punto y coma(;) al final del if, y en la linea 17 de tu ejemplo que pusiste lo tiene.
Citar
 if (letracalculada != letra);

Pon el codigo entre la etiqueta <head> </head>
Código: Text
  1.  
  2. <head>
  3. <script type="text/javascript">
  4.     var letras = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J','Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', 'T'];
  5.    
  6.     var numero = prompt("Introduce tu numero DNI");
  7.     var letra = prompt("Introduce la letra de tu DNI (en mayúsculas)");
  8.     letra = letra.toUpperCase();
  9.     if(numero < 0 || numero > 99999999) {
  10.         alert("El número proporcionado no es válido");
  11.     }
  12.     else {
  13.         var letraCalculada = letras[numero % 23];
  14.     if(letraCalculada != letra) {
  15.         alert("La letra o el número proporcionados no son correctos");
  16.     }
  17.     else {
  18.         alert("Todo correcto");
  19.     }
  20.     }
  21. </script>
  22. </head>
  23.  
  24.  
espero que te sea de utilidad
saludos!  :good:
Título: Re: Problema Ejercicio Javascript!
Publicado por: Mortuus en Miércoles 8 de Abril de 2009, 23:51
Oh muchísimas gracias! Ya me funciona el código ^^.

Y he aprendido que no debo poner las comillas en esos casos jeje


Gracias!!