PHP - kalkulačka
dobrý den mám trochu neobvyklý dotaz mám udělat php kalkulačku.
základ mám ale funguje mi jenom plus a mínus.
násobení a děleno nefunguje pokaždé to dělí nebo násobí nulou
nemůžu přijít na to proč.
pokud tohle někdy někdo zkoušel vytvořit byl bych rád za jakoukoli radu
<?PHP
IF(isset($_GET["tlacitko"]))
{
$vysledek = intval($_GET["tlacitko"]);
}
IF(isset($_GET["znamenko"]))
{
$znamenko = ($_GET["znamenko"]);
}
IF(isset($_GET["znamenko"]))
{
$pamet = ($_GET["vysledek"]) AND $vysledek="";
}
IF(EMPTY($_GET["pamet"]) . ($_GET["tlacitko"]))
{
$vysledek = ($_GET["tlacitko"]);
}
switch ($znamenko) {
case "+":
$vysledek = $pamet+$vysledek;
break;
case "-":
$vysledek = $pamet-$vysledek;
break;
case "*":
$vysledek = $pamet*$vysledek;
break;
case "/":
$vysledek = $pamet*$vysledek;
break;
}
?>
<HTML>
<BODY>
<FORM method=GET action="<?php echo $_SERVER['PHP_SELF']?>">
<INPUT type=text name="vysledek" value="<?PHP echo $vysledek?>">
<INPUT type=text name="pamet" value="<?PHP echo $pamet?>">
<INPUT type=text name="znamenko" value="<?PHP echo $znamenko?>">
<TABLE>
<tr>
<td><input type=submit name="tlacitko" value="1"></td>
<td><input type=submit name="tlacitko" value="2"></td>
<td><input type=submit name="tlacitko" value="3"></td>
<td><input type=submit name="tlacitko" value="4"></td>
</tr>
<tr>
<td><input type=submit name="tlacitko" value="5"></td>
<td><input type=submit name="tlacitko" value="6"></td>
<td><input type=submit name="tlacitko" value="7"></td>
<td><input type=submit name="tlacitko" value="8"></td>
</tr>
<tr>
<td><input type=submit name="tlacitko" value="9"></td>
<td><input type=submit name="tlacitko" value="0"></td>
<td><input type=submit name="znamenko" value="+"></td>
<td><input type=submit name="znamenko" value="-"></td>
</tr>
<tr>
<td><input type=submit name="znamenko" value="/"></td>
<td><input type=submit name="znamenko" value="*"></td>
<td><input type=submit name="vynulovat" value="C"></td>
<td><input type=submit name="tlacitko" value="P"></td>
</tr>
</TABLE>
</FORM>
</BODY>
</HTML>
základ mám ale funguje mi jenom plus a mínus.
násobení a děleno nefunguje pokaždé to dělí nebo násobí nulou
nemůžu přijít na to proč.
pokud tohle někdy někdo zkoušel vytvořit byl bych rád za jakoukoli radu
<?PHP
IF(isset($_GET["tlacitko"]))
{
$vysledek = intval($_GET["tlacitko"]);
}
IF(isset($_GET["znamenko"]))
{
$znamenko = ($_GET["znamenko"]);
}
IF(isset($_GET["znamenko"]))
{
$pamet = ($_GET["vysledek"]) AND $vysledek="";
}
IF(EMPTY($_GET["pamet"]) . ($_GET["tlacitko"]))
{
$vysledek = ($_GET["tlacitko"]);
}
switch ($znamenko) {
case "+":
$vysledek = $pamet+$vysledek;
break;
case "-":
$vysledek = $pamet-$vysledek;
break;
case "*":
$vysledek = $pamet*$vysledek;
break;
case "/":
$vysledek = $pamet*$vysledek;
break;
}
?>
<HTML>
<BODY>
<FORM method=GET action="<?php echo $_SERVER['PHP_SELF']?>">
<INPUT type=text name="vysledek" value="<?PHP echo $vysledek?>">
<INPUT type=text name="pamet" value="<?PHP echo $pamet?>">
<INPUT type=text name="znamenko" value="<?PHP echo $znamenko?>">
<TABLE>
<tr>
<td><input type=submit name="tlacitko" value="1"></td>
<td><input type=submit name="tlacitko" value="2"></td>
<td><input type=submit name="tlacitko" value="3"></td>
<td><input type=submit name="tlacitko" value="4"></td>
</tr>
<tr>
<td><input type=submit name="tlacitko" value="5"></td>
<td><input type=submit name="tlacitko" value="6"></td>
<td><input type=submit name="tlacitko" value="7"></td>
<td><input type=submit name="tlacitko" value="8"></td>
</tr>
<tr>
<td><input type=submit name="tlacitko" value="9"></td>
<td><input type=submit name="tlacitko" value="0"></td>
<td><input type=submit name="znamenko" value="+"></td>
<td><input type=submit name="znamenko" value="-"></td>
</tr>
<tr>
<td><input type=submit name="znamenko" value="/"></td>
<td><input type=submit name="znamenko" value="*"></td>
<td><input type=submit name="vynulovat" value="C"></td>
<td><input type=submit name="tlacitko" value="P"></td>
</tr>
</TABLE>
</FORM>
</BODY>
</HTML>
Odpovědi
Diskuze
Při prvním spuštění taky nejsou nastavené proměnné $vysledek, $pamet a $znamenko. A taky to hlasi Undefined index: tlacitko in D:\Weby\rc.php on line 23.
A u deleni je nasobitko (hvezdicka):
case "/": $vysledek = $pamet*$vysledek;
fungovat by to mělo tak že když zmáčknu tlačítko tak se vloží do výsledku když zmáčknu znaménko výsledek se vloží do paměti a další tlačítka se budou vkládat do výsledku dokud nezmačkánu rovná se
vím že mi tam chybí dost věcí
ale vůbec nevím jak mám opravit to aby to nedělilo a nenásobilo nulou.
ono to sice dělá i s plus a mínus ale tam to nevadí tam to funguje.
no a posledně to že to funguje pouze z jednocifernými čísly to bych také potřeboval zpravit.
ps. i když je to divné tak tu chybu s tím indexem mi to nepíše
píše to jenom (Division by zero in) když to dělí nulou.