[Resolu]Besoin d'aide pour de l'ISN

Besoin d'aide pour de l'ISN [Resolu] - Javascript/Node.js - Programmation

Marsh Posté le 23-02-2015 à 13:19:22    

Bonjour tout le monde j'ai un problème j'ai une page internet à créer Celle ci doit demander ci la personne veux calculer le volume ou l'aire d'un cylindre ou d'une sphère mais j'ai un problème tout d'abord voici le java script :  
http://image.noelshack.com/minis/2015/09/1424693520-aide-hardware.png
 
Le probleme c'est que :
Lorsque la personne clique sur sphère et surface il obtient la surface et Le Volume (il ne doit obtenir que la surface normalement).
Lorsque la personne clique sur sphère et volume il n'obtient rien .
Lorsque la personne clique sur cylindre et surface il n'obtient rien .
Lorsque la personne clique sur cylindre et volume il obtient la surface et Le Volume (il ne doit obtenir que la volume normalement).
 
Merci beaucoup pour votre futur aide demandez moi si vous avez besoin de plus d'information sur le programme  (c'est mon premier post)


Message édité par sharto le 25-02-2015 à 17:34:11
Reply

Marsh Posté le 23-02-2015 à 13:19:22   

Reply

Marsh Posté le 24-02-2015 à 00:47:53    

1) Tu disposes sur les navigateurs modernes de debugger javascript, en général en appuyant sur F12. Si t'as une erreur, tu la verras...
2) ... et tu risques d'en voir ;) Au passage, les points-virgules en fin de lignes, l'indentation, les validations, et les assignations à sens unique, ca aide.
3) Pourquoi mettre une image du code ?


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 24-02-2015 à 09:28:52    

Merci tout d'abord de ta réponse .
Pour f12 j'utilise déja la console mais ce qui est étrange c'est que pour une fois elle ne dit rien  :??:  .
Pour  l'indentation, les validations, et les assignations à sens unique je ne sais pas ce que c'est =(  
Sinon j'ai mis une image du code je l'ai mis pour avoir un aperçu du programme .(Il ne faut pas en mettre ou mettre autre chose ?)

Reply

Marsh Posté le 24-02-2015 à 18:52:50    

Pour le code, il te suffit de le coller sur ce forum, entouré d'une balise code pour plus de lisibilité. Fais le, comme ca d'autres pourront tester ;)


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 25-02-2015 à 11:24:07    

Voila je le mets comme ça (je pense que c'est comme ça qu'il faut le mettre )  

Code :
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4. <meta charset=UTF-8>
  5. <title>lol</title>
  6. <script>
  7. function calculer() {
  8. var surface
  9. var volume
  10. var rayonx
  11. var hauteurx
  12. var Asphere=0
  13. var Vsphere =0
  14. var Vcylindre =0
  15. var Acylindre=0
  16. var  rayonx = parseFloat (document.forms[0].rayon.value)
  17. var hauteurx = parseFloat (document.forms[0].hauteur.value)
  18. if (document.forms[0].souc.options[0].selected){
  19. if(document.forms[0].choix[0].checked){
  20. Asphere = (document.forms[0].airspher.value)=4*3.14*rayonx^2
  21. }
  22. if(document.forms[0].choix[0].checked)
  23. Vsphere = (document.forms[0].volsphe.value)=4/3*3.14*rayonx^3
  24. }
  25. if(document.forms[0].souc.options[1].selected){
  26. if(document.forms[0].choix[1].checked){
  27. Vcylindre = (document.forms[0].volcyl.value)=3.14*rayonx^2*hauteurx
  28. }
  29. if(document.forms[0].choix[1].checked)
  30. Acylindre = (document.forms[0].airecyl.value)=2*3.14*rayonx*hauteurx
  31. }
  32. }
  33. </script>
  34. </head>
  35. <body>
  36. <form>
  37. Quel solide calculer ?</br>
  38. <select name="souc">
  39. <option>sphere
  40. <option>cylindre
  41. </select></br>
  42. </br>
  43. <input type="radio" name="choix" value="choix">surface</br>
  44. <input type="radio" name="choix" value="choix">volume</br>
  45. </select></br>
  46. Indiquer en cm le rayon et/ou la hauteur si necessaire
  47. rayon:<input name="rayon" size=20>
  48. hauteur:<input name="hauteur" size=20>
  49.   <caption><h2>Calcul</h2></caption>
  50.    </br>aire sphere<input name="airspher" size=20>
  51.    </br>volume sphere <input name="volsphe" size=20>
  52.   
  53.          
  54.    </br>volume cylindre<input name="volcyl" size=20>
  55.            
  56.    </br>Aire laterale cylindre<input name="airecyl" size=20>
  57.          
  58.  </br>
  59.  <input type="button" value="calculer" onClick="calculer()">
  60.         <input type="reset" value="Effacer">
  61. </form>
  62. </body>
  63. </html>


Message édité par sharto le 25-02-2015 à 11:40:28
Reply

Marsh Posté le 25-02-2015 à 16:23:17    

Du coup, j'ai refais ton TP ^^

Code :
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>lol</title>
  6. <script type="text/javascript">
  7. function calculer ()
  8.  {
  9.   var
  10.    PI = Math.PI,
  11.    POW = Math.pow,
  12.    form = document.forms[0],
  13.    isSurface = form.choix[0].checked,
  14.    rayonx = parseFloat (form.rayon.value),
  15.    hauteurx = parseFloat (form.hauteur.value);
  16.   // sphere
  17.   if (form.souc.options[0].selected)
  18.   {
  19.    // surface
  20.    if (isSurface)
  21.    {
  22.     form.airspher.value = 4 * PI * POW (rayonx, 2);
  23.    }
  24.    // volume
  25.    else
  26.    {
  27.     form.volsphe.value = (4 / 3) * PI * POW (rayonx, 3);
  28.    }
  29.   }
  30.   // cylindre
  31.   else if (form.souc.options[1].selected)
  32.   {
  33.    // surface
  34.    if (isSurface)
  35.    {
  36.     form.airecyl.value = 2 * PI * rayonx * hauteurx;
  37.    }
  38.    // volume
  39.    else
  40.    {
  41.     form.volcyl.value = PI * POW (rayonx, 2) * hauteurx;
  42.    }
  43.   }
  44.   else
  45.   {
  46.    // pas trouvé dans ce menu déroulant
  47.   }
  48.  }
  49. </script>
  50. </head>
  51. <body>
  52. <form>
  53.  Quel solide calculer ?<br>
  54.  <select name="souc">
  55.   <option>sphere
  56.   <option>cylindre
  57.  </select>
  58.  <br>
  59.  <br>
  60.  <input type="radio" name="choix" value="choix">surface<br>
  61.  <input type="radio" name="choix" value="choix">volume<br>
  62.  <br>
  63.  Indiquer en cm le rayon et/ou la hauteur si necessaire
  64.  <br>
  65.  rayon :<input name="rayon" size=20>
  66.  hauteur :<input name="hauteur" size=20>
  67.  <h2>Calculs</h2>
  68.  aire sphere<input name="airspher" size=20>
  69.  <br>
  70.  Aire laterale cylindre<input name="airecyl" size=20>
  71.  <br>
  72.  <br>
  73.  volume sphere <input name="volsphe" size=20>
  74.  <br>
  75.  volume cylindre<input name="volcyl" size=20>
  76.  <br>
  77.  <input type="button" value="calculer" onClick="calculer()">
  78.  <input type="reset" value="Effacer">
  79. </form>
  80. </body>
  81. </html>


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 25-02-2015 à 16:33:36    

Merci beaucoup à toi c'est vraiment très gentil de ta part  :)  
Une dernière question je dois utiliser" to fixed = 2" selon mon professeur pour avoir seulement 2 chiffres après la virgule .
Ou et comment utiliser cela svp ?

Reply

Marsh Posté le 25-02-2015 à 16:40:16    

Mouais, n'abuses pas quand même, google est ton ami tu sais ;)
bref, exemple : form.volcyl.value = (PI * POW (rayonx, 2) * hauteurx).toFixed (2);


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 25-02-2015 à 17:32:47    

OK c'est bon j'ai compris  :p merci beaucoup  :wahoo:

Reply

Marsh Posté le 25-02-2015 à 18:05:07    

Pas de soucis.
Concernant le toFixed, et juste pour info, cette fonction renvoit un String (chaine de caractere), donc (123).toFixed (2) renvoit "123.00", mais si tu fais la somme de 2 toFixed tu n'auras pas "246.00" (123 + 123), mais bien "123.00123.00", soit la concaténation des deux chaines.
Donc d'abord les calculs, puis le toFixed : (123 + 123).toFixed () ==> "246.00"
 
Bonne chance pour la suite :hello:


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 25-02-2015 à 18:05:07   

Reply

Marsh Posté le 07-03-2015 à 09:28:15    

Je repond seulement maintenant (vacances ) mais pour le to fixed j'avais bien réussi mais merci de la précision . :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed