mocninator

Programovacie jazyky, rady, poradňa...
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

mocninator

Príspevok od používateľa Gepid »

Len tak z nudy som napisal v php program co bude pocitat mocniny(ano, viem je ich vela, ale nevadi :)).
A chcel by som tam dat moznost vyberu na kolku tu mocninu uzivatel chce.
Potom asi banalna vec ale neviem na to prist. Aby bolo v poli "na kolku" defaultne cislo 2 a potom by si to user zmenil ak by chcel.
A este jedna vec. Tiez pre niekoho asi banalna :D Chcem aby bolo jedno ci desatinne cislo napisem s bodkou alebo ciarkou.

Tu je kod:

Kód: Vybrať všetko

<meta http-equiv="Content-Type" content="text/html; charset=iso-1250">
<form method="GET">
Vlož číslo<input type="number" name="cislo">
<br>
Na koľkú mám umocniť číslo?<input type="number" name="naKolku">
<br>
<p><input type="submit" value="vypočítaj"></p>

<?php


$vysledok = ($cislo * $cislo);

echo "$naKolku mocnina cisla $cislo je $vysledok"

?>
bart11
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 91
Registrovaný: 13 okt 2006, 20:11
Kontaktovať používateľa:

Príspevok od používateľa bart11 »

Nejako takto

Kód: Vybrať všetko

function Mocnina($cislo, $naKolku = 2)
{
	$tmp = 1;
	for($i = 0; $i < $naKolku; $i++)
	{
		$tmp *= $cislo;
	}
	return  $tmp;
}

echo Mocnina(4); // standardne na druhu
echo Mocnina(4, 3); // na tretiu

setlocale(LC_NUMERIC, "Slovak"); // ciarka
echo Mocnina(3.5);
setlocale(LC_NUMERIC, "En-Us"); // bodka
echo Mocnina(3.5);
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa Gepid »

diki, ale nejak to nefrci.
Pozri co to robi http://www.gepid.ic.cz/mocnina
bart11
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 91
Registrovaný: 13 okt 2006, 20:11
Kontaktovať používateľa:

Príspevok od používateľa bart11 »

Neviem co robis, ale mne moje zadanie fici:

Kód: Vybrať všetko

<?php
function Mocnina($c, $naKolku = 2)
{
	$tmp = 1;
	for($i = 0; $i < $naKolku; $i++)
		$tmp *= $c;
	return  $tmp;
}
if(isset($_POST['odoslat']) && isset($_POST['cislo']) && isset($_POST['naKolku']) &&
	!empty($_POST['cislo']))
{
	$naKolku = !empty($_POST['naKolku']) ? $_POST['naKolku'] : 2;
	setlocale(LC_NUMERIC, "Slovak"); // ciarka
	echo Mocnina($_POST['cislo'], $naKolku); echo "<br>";
	setlocale(LC_NUMERIC, "En-Us"); // bodka
	echo Mocnina($_POST['cislo'], $naKolku);
}
else 
{
?>
	<html><head><title>Mocnina</title></head>
	<body>
	<form action="<? echo $_SERVER['PHP_SELF']; ?>"  method="post">
	cislo <input name="cislo"><br />
	na kolku <input name="naKolku"> <br />
	<input name="odoslat" type="submit" value="Odoslat">
	</form>
	</body>
	</html>
<?php
}
?>
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Prečo nepoužiješ funkciu pow? (a teda pow(cislo, na_kolku); )
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa Gepid »

Diky, chrono.
Podarilo sa mi to vtrepat do 11 riadkoveho kodu.
Uz som tam dal aj defaultne 2, ale ako spravit primanie pod oboma sposobmi? :D Cize bude brat ciarku aj bodku?

Kód: Vybrať všetko

<form method="GET">  
Vlož číslo<input type="number" name="c1">
<br> 
Na kolku?<input type="number" name="c2" value="2">
<br> 
<p><input type="submit" value="vypocitaj"></p> 

<?php 
$vysledok = pow($c1,$c2);
echo "$c2 mocnina čísla $c1 je $vysledok";
?>
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pred tým počítaním nahraď čiarku bodkou (napr. pomocou str_replace, alebo strtr). Potom by si tam možno mohol testovať, či je tam najviac jedna bodka.
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa Gepid »

fuuu. Stale to nejde. Uz som tu funkciu skusal vyvolat aj pomocou echo:D (Tak to asi nemalo byt, ze?)

Kód: Vybrať všetko

<?php
$addr = strtr($addr, ",", ".");
echo "$addr";
?>
Dal som to hned na zaciatok.
Co tam je zle?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

$c1 = str_replace('.',',',$c1);
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa Gepid »

Jasne. Uz to ide. Ake jednoduche. Ma nenapadlo, ze som tam mal dat $c1.
Uz to mam vsetko :) Dik vsetkym.
Napísať odpoveď