Aiuto - Cerca - Utenti - Calendario
Versione completa: problemi con javascript
.: GBArl.it :. News sulle Console Nintendo - Emulazione - Flash Cards - Trainer > Discussioni OT > Off-Topic
darklomby
Devo scrivere uno script che una volta inseriti 2 valori in 2 prompt e il segno dell'operazione da fare(sempre in un prompt) faccia l'operazione corispondente questo è quello che ho scritto ora (da considerare che ho iniziato da poco)
CODICE
<html>

     <head>
        
     </head>
    
     <body>
    
          <script Language="JavaScript">
            
            
             var a = prompt("inserisci il primo valore")*1
             var b = prompt("Inserisci il secondo valore")*1
             var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n // per la divisione")
            
             switch (c) {  
             case +: d = a+b
                     alert("il risultato e': "+d+)
             break;
             case -: d = a-b
                     alert("il risultato e': "+d+)
             break;
            
             case *: d = a*b
                     alert("il risultato e': "+d+)
             break;
            
             case /: d = a/b
                     alert("il risultato e': "+d+)
             break;
        
         <script>
        
</body>

</html>


Non so se sono stato chiaro xD in caso non esitate a contattarmi
jocopoco
Forse nei case devi usare gli apici
Prace
Io non so quasi nulla di javascript, ma conosco abbastanza bene la programmazione in altri linguaggi... ma il break va dopo ogni istruzione case? mi sembra strano che lo switch in JS sia così complicato? o_O

CODICE
var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n \/ per la divisione")


sarà + per la somma? Poi per non saper né leggere né scrivere escaperei il segno di diviso, come ti ho corretto, e che mi sa volevi fare anche tu wink.gif

CODICE
("il risultato e': "+d+)


Scusa se ti chiedo, non so come funzioni, ma il + è necessario anche dopo la variabile d?


CITAZIONE (jocopoco @ Tuesday 13 December 2011 - 18:26) *
Forse nei case devi usare gli apici


Li userei anche io, ma ancora una volta mi devi dire se servono o meno in JS.
Daviex
Nei "case" per i char si utilizzano gli apici singoli cioè ' '.

ps. Prace, nel normalissimo C, il break va alla fine del case.
darklomby
@prace i + in JS servono per concatenare
@Daviex ho provato a mettere gli apici in questo modo ma niente
CODICE
</head>
    
     <body>
    
          <script Language="JavaScript">
             var d
            
             var a = prompt("inserisci il primo valore")*1
             var b = prompt("Inserisci il secondo valore")*1
             var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n // per la divisione")
            
             switch (c) {  
             case '+': d = a+b
                     alert("il risultato e': "+d+)
             break;
             case '-': d = a-b
                     alert("il risultato e': "+d+)
             break;
            
             case '*': d = a*b
                     alert("il risultato e': "+d+)
             break;
            
             case '/': d = a/b
                     alert("il risultato e': "+d+)
             break;
        
         <script>
        
</body>

</html>
Prace
CITAZIONE (Daviex @ Tuesday 13 December 2011 - 18:29) *
Nei "case" per i char si utilizzano gli apici singoli cioè ' '.

ps. Prace, nel normalissimo C, il break va alla fine del case.


Ah, ok, non ricordavo, tendo sempre a usarlo poco perchè lo switch performa poco, e in linguaggi ad alto livello come il perl e similia, risulta più semplice da scrivere. Thanks biggrin.gif

Ma che errore ritorna lo script?
.:Niki:.
CODICE
var a = prompt("inserisci il primo valore");
var b = prompt("Inserisci il secondo valore");
var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n // per la divisione");
if(c.charAt(0)=="+")
{
          risultato=a+b;
}
if(c.charAt(0)=="-")
{
          risultato=a-b;
}
if(c.charAt(0)=="*")
{
          risultato=a*b;
}
if(c.charAt(0)=="//")
{
          risultato=a/b;
}
alert("Il risultato è "+risultato)


Non è più semplice così? biggrin.gif
darklomby
non ritorna alcun errore semplicemente quando lo apro rimane pagina bianca

@.:Niki:. la variabile risultato non andrebbe dichiarata?
Prace
CITAZIONE (darklomby @ Tuesday 13 December 2011 - 18:38) *
non ritorna alcun errore semplicemente quando lo apro rimane pagina bianca


Lo stai aprendo su un server virtuale o non, giusto?
Non ricordo se è lato server o meno, mai usato XD
darklomby
@Prace no lato client lo scrivo in un foglio di txt poi lo rinomino in html e lo apro xD

avevo dimenticato di chiudere lo script
</script>
ma non funge nemmeno

eccolo:
CODICE
<html>

     <head>
        
     </head>
    
     <body>
    
          <script>
             var d
            
             var a = prompt("inserisci il primo valore")*1
             var b = prompt("Inserisci il secondo valore")*1
             var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n / per la divisione")
            
             switch (c) {  
             case '+': d = a+b
                       alert("il risultato e'"+d+)
             break
             case '-': d = a-b
                     alert("il risultato e'"+d+)
             break
            
             case '*': d = a*b
                     alert("il risultato e'"+d+)
             break
            
             case '/': d = a/b
                     alert("il risultato e'"+d+)
             break
        
         </script>
        
</body>

</html>
Prace
Oltre al tag non avevi chiuso la graffa ^^" succede...
Così funziona:

CODICE
<html>

     <head>
        
     </head>
    
     <body>
    
          <script Language="JavaScript">

         var d
            
             var a = prompt("inserisci il primo valore", "")
             var b = prompt("Inserisci il secondo valore", "")
             var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n \/ per la divisione", "")
            
        switch (c) {  
             case "+" : d = a+b
                     alert("il risultato e': "+d)
             break;
             case "-" : d = a-b
                     alert("il risultato e': "+d)
             break;
            
             case "*" : d = a*b
                     alert("il risultato e': "+d)
             break;
            
             case "/" : d = a/b
                     alert("il risultato e': "+d)
             break;    
    }
            
         </script>
        
</body>

</html>


oppure, più semplice da leggere:

» Clicca per leggere lo Spoiler! «
CODICE
<html>

     <head>
        
     </head>
    
     <body>
    
          <script Language="JavaScript">

      
        function res() {
        alert("il risultato e': "+d)
        }

        var d
            
             var a = prompt("inserisci il primo valore", "")
             var b = prompt("Inserisci il secondo valore", "")
             var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n \/ per la divisione", "")
            
        switch (c) {  
             case "+" : d = a+b
                     res()
             break;
             case "-" : d = a-b
                     res()
             break;
            
             case "*" : d = a*b
                     res()
             break;
            
             case "/" : d = a/b
                     res()
             break;    
    }
            
         </script>
        
</body>

</html>
darklomby
@Prace Grazie Mille biggrin.gif stavo impazzendo
Grazie anche agli altri
.:Niki:.
CITAZIONE (darklomby @ Tuesday 13 December 2011 - 18:38) *
non ritorna alcun errore semplicemente quando lo apro rimane pagina bianca

@.:Niki:. la variabile risultato non andrebbe dichiarata?

Si, c'era un errore smile.gif :
CODICE
var a = parseInt(prompt("inserisci il primo valore"));
var b = parseInt(prompt("Inserisci il secondo valore"));
var c = prompt();
if(c.charAt(0)=="+")
{
          a=a+b;
}
if(c.charAt(0)=="-")
{
          a=a-b;
}
if(c.charAt(0)=="*")
{
          a=a*b;
}
if(c.charAt(0)=="//")
{
          a=a/b;
}
alert("Il risultato è " +a);


PS: A noi non fanno usare il break U_U
darklomby
ora devo fare in modo che una volta inseriti i 2 valori e fatta l'operazione non mi chiuda il programma ma che mi chieda se voglio ritornare ad inserire ai due valori opure uscire
Prace
CITAZIONE (darklomby @ Tuesday 13 December 2011 - 19:06) *
ora devo fare in modo che una volta inseriti i 2 valori e fatta l'operazione non mi chiuda il programma ma che mi chieda se voglio ritornare ad inserire ai due valori opure uscire


wink.gif
» Clicca per leggere lo Spoiler! «
CODICE
<html>

     <head>
        
     </head>
    
     <body>
    
          <script Language="JavaScript">

        var bool = 0;
        while(bool == 0){
      
        function res() {
        alert("il risultato e': "+d)
        }

        var d
            
             var a = prompt("inserisci il primo valore", "")
             var b = prompt("Inserisci il secondo valore", "")
             var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n \/ per la divisione", "")
            
        switch (c) {  
             case "+" : d = a+b
                     res()
             break;
             case "-" : d = a-b
                     res()
             break;
            
             case "*" : d = a*b
                     res()
             break;
            
             case "/" : d = a/b
                     res()
             break;    
    }

    var esci = confirm ("Vuoi uscire? ")
    if (esci)
    bool = 1;
    else
    bool = 0;

    }
            
         </script>
        
</body>

</html>

darklomby
@prace cosa è "function res()"
Prace
CITAZIONE (darklomby @ Tuesday 13 December 2011 - 19:17) *
@prace cosa è "function res()"


è una funzione, se hai del codice che appare spesso conviene usarla.
In pratica il blocco di codice che ha nel mezzo viene eseguito ogni volta che chiami semplicemente la funzione. Nel tuo caso, scrivere res() è come scrivere per esteso alert("il risultato e': "+d).
Non pensavo fossero così flessibili, ho usato una variabile nel corpo e funziona lo stesso! Comunque, ci arriverai, se stai studiando da poco wink.gif
darklomby
il fatto è che a scuola non abbiamo fatto questa cosa quindi non posso usarla T_T
Prace
CITAZIONE (darklomby @ Tuesday 13 December 2011 - 19:25) *
il fatto è che a scuola non abbiamo fatto questa cosa quindi non posso usarla T_T



» Clicca per leggere lo Spoiler! «
CODICE
<html>

     <head>
        
     </head>
    
     <body>
    
          <script Language="JavaScript">

        var bool = 0;
        while(bool == 0){

        var d
            
             var a = prompt("inserisci il primo valore", "")
             var b = prompt("Inserisci il secondo valore", "")
             var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n \/ per la divisione", "")
            
        switch (c) {  
             case "+" : d = a+b
                     alert("il risultato e': "+d)
             break;
             case "-" : d = a-b
                     alert("il risultato e': "+d)
             break;
            
             case "*" : d = a*b
                     alert("il risultato e': "+d)
             break;
            
             case "/" : d = a/b
                     alert("il risultato e': "+d)
             break;    
    }

    var esci = confirm ("Vuoi uscire? ")
    if (esci)
    bool = 1;
    else
    bool = 0;

    }
            
         </script>
        
</body>

</html>


Fatto smile.gif
darklomby
@Prace grazie mille biggrin.gif

scusate il disturbo si puo chiudere grazie ancora ;D
.:Niki:.
Ecco un altro modo:
CODICE
var tick = "Si"
var si= "Si"
while(tick==si)
{
    var a = parseInt(prompt("inserisci il primo valore"));
    var b = parseInt(prompt("inserisci il secondo valore"));
    var c = prompt("Inserisci il simbolo dell'operazione che devi effettuare \n +per il prodotto \n - per la sottrazione \n * per il prodotto \n / per la divisione");
    if(c.charAt(0)=="+")
    {
        a=a+b;
    }
    if(c.charAt(0)=="-")
    {
        a=a-b;
    }
    if(c.charAt(0)=="*")
    {
        a=a*b;
    }
    if(c.charAt(0)=="/")
    {
          a=a/b;
    }
    alert("Il risultato è " +a);
    tick = prompt("Continuare? Si/No");
}
Questa è la versione 'lo-fi' del forum. Per visualizzare la versione completa con molte più informazioni, formattazione ed immagini, per favore clicca qui.
Invision Power Board © 2001-2024 Invision Power Services, Inc.