Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    123

    problema equazione di secondo grado

    ciao a tutti ho creato questo codice per svolgere un' equazione di secondo grado però mi da errore ecco il codice:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//IT">
     <html> 
    <head> 
    <title></title> 
    </head>
     <body>
     
    
    metti qui l' equazione di forma base</p> 
    <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
     
    
    X^2 <input type="text" name="x^2" value="metti qui il numero senza x"></p> 
    
    
    X <input type="text" name="x" value="metti qui il numero senza x"></p> 
    
    
    numero noto <input type="text" name="termine noto" value="metti qui il numero"></p> <input type="submit" name="submit" value="Invia"/>
     <?php
     if(isset($_POST['submit'])){
     $a=$_POST['X^2'];
     $b=$_POST['X'];
     $c=$_POST['numero noto']; 
     $d= pow($b,2)-4*$a*$c;
     if(is_numeric($d)){
     $result1=(-$b+ sqrt($d))/2*$a; 
    $result2=(-$b- sqrt($d))/2*$a;} 
    else{ $result1=(-$b+ $d)/2*$a;
     $result2=(-$b- $d)/2*$a; }
    if($d>0){ 
    echo "$result1"; 
    echo "$result2"; 
    echo"
    
    soluzioni reali</p>"; }
     elseif($d==0){ 
    echo "$result1"; 
    echo "$result2"; 
    echo"
    
    soluzioni coincidenti</p>";}
     else {echo "impossibile";} 
    }
     ?> 
    </body> 
    </html>

  2. #2
    che errore ti da???

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Errori che vedo:

    Qui è $c=$_POST['termine noto']; non numero

    Qui manca il ; <?php echo $_SERVER['PHP_SELF']?>

    Il php è case sensitive sulle stringe metti name="X"




    Il calcolo non l'ho guardato ma solo la sintassi

    Consiglio: usa placeholder invece dell'attributo value sulle textbox



    Specifica eventuali altri errori

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    123
    allora ho risolto tutti gli errori tranne uno o meglio che mi fa la radice quadrata anche quando il numero non è intero quindi non mi funziona
    Codice PHP:
    if(is_numeric($d)){
     
    $result1=(-$bsqrt($d))/2*$a
    $result2=(-$bsqrt($d))/2*$a;} 
    else{
     
    $result1=(-$b$d)/2*$a;
     
    $result2=(-$b$d)/2*$a; } 
    riposto il codice modificato
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//IT"> 
    <html>
     <head> 
    <title></title>
     </head>
     <body>
     
    
    metti qui l' equazione di forma base</p> 
    <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
     
    
    X^2 <input type="text" name="x2" value="metti qui il numero senza x"></p>
     
    
    X <input type="text" name="x" value="metti qui il numero senza x"></p> 
    
    
    termine noto <input type="text" name="termine_noto" value="metti qui il numero"></p> 
    
    <input type="submit" name="submit" value="Invia"/></p> 
    </br> 
    <?php if(isset($_POST['submit'])){
     $a=$_POST['x2'];
     $b=$_POST['x'];
     $c=$_POST['termine_noto']; 
    $d= pow($b,2)-4*$a*$c;
     $e="radice"; 
    $risultati= "I risultati sono: "; 
    if(is_numeric($d)){
     $result1=(-$b+ sqrt($d))/2*$a; 
    $result2=(-$b- sqrt($d))/2*$a;} 
    else{
     $result1=(-$b+ $e.$d)/2*$a; 
    $result2=(-$b- $e.$d)/2*$a;} 
    if($d>0)
    { echo "$risultati"; 
    echo "$result1";
     echo "$result2";
     echo"
    
    soluzioni reali</p>"; } 
    elseif($d==0)
    { echo "$risultati"; 
    echo "$result1";
     echo "$result2"; 
    echo"
    
    soluzioni coincidenti</p>";} 
    else {echo "impossibile";} 
    }
     ?> 
    </body> 
    </html>

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da patriziou
    allora ho risolto tutti gli errori tranne uno o meglio che mi fa la radice quadrata anche quando il numero non è intero quindi non mi funziona
    Codice PHP:
    if(is_numeric($d)){
     
    $result1=(-$bsqrt($d))/2*$a
    $result2=(-$bsqrt($d))/2*$a;} 
    else{
     
    $result1=(-$b$d)/2*$a;
     
    $result2=(-$b$d)/2*$a; } 
    Hai provato con is_int() ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    123
    sì e mi da comunque lo stesso errore non esce scritto radice di un numero ma n.nnnnnnn
    hai qualche altra idea?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Prima del controllo assicurati che il valore di $d non sia intero ma decimale
    poi controlla la condiziona, prova poi con if(!is_float($d)){ ...numero intero... }else{ ...numero non intero... }

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    123
    Ho fatto così ma non cambia niente
    Codice PHP:
    if(!is_float($d)){
     
    $result1=(-$bsqrt($d))/2*$a;
     
    $result2=(-$bsqrt($d))/2*$a;}
     else{ 
    $result1=(-$b$e.$d)/2*$a
    $result2=(-$b$e.$d)/2*$a;


  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da patriziou
    Ho fatto così ma non cambia niente
    Codice PHP:
    if(!is_float($d)){
     
    $result1=(-$bsqrt($d))/2*$a;
     
    $result2=(-$bsqrt($d))/2*$a;}
     else{ 
    $result1=(-$b$e.$d)/2*$a
    $result2=(-$b$e.$d)/2*$a;

    Allora dipende dal valore di $d, lo hai stampato prima dell'if per fare una prova?

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    123
    allora $d è sempre un valore intero non decimale

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.