PHP kvadratická rovnice

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

drawknife
nováček
Příspěvky: 25
Registrován: listopad 12
Pohlaví: Nespecifikováno
Stav:
Offline

PHP kvadratická rovnice

Příspěvekod drawknife » 13 led 2013 13:23

Dobrý den,
nedávno jsem začal studovat PHP a vytvořil jsem si jednoduchý skript na vypočítání kvadratické rovnice. Ten ovšem nefunguje. Zoobrazuje se mi hlášku o chybě na řádku s elseif.
► Zobrazit spoiler
Mohl by se prosím někdo zdatnější podívat na zdrojový kód, který přikládám a pomoci mi najít chybu? Díky

Kód: Vybrat vše

<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title>Řešení</title>
  </head>
  <body>
<?php
 $d = ($b * $b - 4 * $a * $c);
 $x1 = ((-$b+sqrt($d))/2 * $a);
 $x2 = ((-$b-sqrt($d))/2 * $a);

if ($d > 0)
   echo("Diskriminant je větší než nula <br>");
  echo("X1 = $x1 <br>");
  echo("X2 = $x2");
 
   elseif ($d=0);
      echo("Rovnice nemá řešení v množině reálných čísel!");
   else ($d<0);
      echo("Kvadratická rovnice má jeden dvojnásobný kořen!");
    echo(X1,2 = $x1);
     
?>
  </body>
</html>

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP kvadratická rovnice

Příspěvekod CZechBoY » 13 led 2013 13:34

doplň otevírací složené závorky ({) za if(elseif, else,..) a konec složených závorek (}) za poslední příkaz, který se má provést v případě splnění podmínky

takto podmínka provede pouze první příkaz
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

mederi
Level 2
Level 2
Příspěvky: 164
Registrován: únor 11
Pohlaví: Muž
Stav:
Offline

Re: PHP kvadratická rovnice

Příspěvekod mederi » 13 led 2013 14:33

A tiež chyba vo výpočte:
drawknife píše: $x1 = ((-$b+sqrt($d))/2 * $a);
$x2 = ((-$b-sqrt($d))/2 * $a);

Kód: Vybrat vše

 $x1 = (-$b+sqrt($d))/(2 * $a);
 $x2 = (-$b-sqrt($d))/(2 * $a);

drawknife
nováček
Příspěvky: 25
Registrován: listopad 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: PHP kvadratická rovnice

Příspěvekod drawknife » 13 led 2013 17:52

Díky oběma, nakonec jsem to vyřešil a i té chyby si všimnul

Kód: Vybrat vše

<?php
 $d = ($b * $b - 4 * $a * $c);

echo ("<i>a=$a &nbsp");
echo ("b=$b &nbsp");
echo ("c=$c <br></i>");

echo ("Diskriminant = $d <br>");

if($d > 0)
     {$x1 = ((-$b+sqrt($d))/(2 * $a));
      $x2 = ((-$b-sqrt($d))/(2 * $a));
      echo("<b>Kvadratická rovnice má právě dva kořeny: <br></b>");
      echo("X<sub>1</sub> = $x1 <br>");
      echo("X<sub>2</sub> = $x2");
      }
     
 elseif($d = 0)
     {$xd = (-$b/(2*$a));
      echo("<b>Kvadratická rovnice má jeden dvojnásobný kořen!</b><br>");
      echo("X1,2 = $xd");
     }
 else
     {echo("<b>Rovnice nemá řešení v množině reálných čísel!</b>");
     } 
?>

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: PHP kvadratická rovnice

Příspěvekod CZechBoY » 13 led 2013 17:56

elseif($d == 0) případně $d === 0
- složený závorky se dávají buď hned za závorku podmínky (mezera za závorkou a pak složená) a na nový řádek se píše tělo, složená ukončovací závorka se potom dává na nový řádek pod blok
- nebo se dá složená závorka na nový řádek a na další nový řádek (s odsazením) se dává tělo, složená závorka opět na zvláštní nový řádek
takhle to není moc přehledné
- u příkazu echo/print se nepoužívají závorky, je to taková funkce nefunkce
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti