Avatar billede sito Nybegynder
05. marts 2003 - 01:16 Der er 11 kommentarer og
2 løsninger

flere funktioner i samme script?

Hej

jeg forsøger at lave en regnemaskine, hvor jeg skal bruge plus, minus, gange og dividere.
Jeg har lavet min formular, hvor scriptet henter variablene $value1, $value2 og $regneart.
Mit script med funktioner fungerer også, bortset fra at jeg både for udskrevet resultater for plus og minus...

scriptet:

<?

plus ($regneart, $value1, $value2);
                   
function plus ($regneart, $value1, $value2)
    {
    $resultat = $value1 + $value2;       
    echo "$value1 $regneart $value2 er $resultat";
}
                   
                   
                   
                                  minus ($regneart, $value1, $value2);
                   
function minus ($regneart, $value1, $value2)
{
$resultat = $value1 - $value2;
echo "$value1 $regneart $value2 er $resultat";
}

?>

Det ideele ville være, hvis jeg kunne få en løsning, som indeholdt et switch statement, men det er ikke nødvendigt :-)
Avatar billede swaxi Nybegynder
05. marts 2003 - 01:58 #1
well ...
<?php
function plus ($regneart, $value1, $value2) {
    $resultat = $value1 + $value2;       
    echo "$value1 $regneart $value2 er $resultat";
}
function minus ($regneart, $value1, $value2) {
    $resultat = $value1 - $value2;
    echo "$value1 $regneart $value2 er $resultat";
}
switch ($regneart) {
    case '+' : plus($regneart, $value1, $value2); break;
    case '-' : minus($regneart, $value1, $value2); break;
    default : break;
}
?>
Avatar billede ohmish Nybegynder
05. marts 2003 - 02:07 #2
prøv med det her:

<?
// SELVE REGNEMASKINGEN (KAN UDBYGGES MED KOMPLICEREDE FUNKTIONER):

function REGNDETTEUD ($tal1, $regneart, $tal2) {
if ($regneart=="minus") { $tekst="$tal1 minus $tal2 er: "; return $tekst.($tal1-$tal2); }
elseif ($regneart=="plus") { $tekst="$tal1 plus $tal2 er: "; return $tekst.($tal1+$tal2); }
elseif ($regneart=="gange") { $tekst="$tal1 gange $tal2 er: "; return $tekst.($tal1*$tal2); }
elseif ($regneart=="divider") { $tekst="$tal1 dividereret med $tal2 er: "; return $tekst.($tal1/$tal2); }
else return "fejl ved udregning"; }

// NÅR DU VIL REGNE NOGET UD, BRUGES DENNE KOMMANDO (udskift med dine $værdier):
echo REGNDETTEUD(90, plus, 67);

?>
Avatar billede ohmish Nybegynder
05. marts 2003 - 02:08 #3
min er smart.. hehe :)
Avatar billede ohmish Nybegynder
05. marts 2003 - 02:10 #4
echo REGNDETTEUD($value1, $regneart, $value2);
Avatar billede ohmish Nybegynder
05. marts 2003 - 02:14 #5
måske misforstod jeg spørgsmålet...
Avatar billede sito Nybegynder
05. marts 2003 - 02:36 #6
Jeg fandt sgu selv ud af det, men vil gerne dele pointene ud for forsøgene. Er der mulighed for at jeg kan give jer 30 hver?
Avatar billede ohmish Nybegynder
05. marts 2003 - 02:58 #7
ja.. vælg avanceret
Avatar billede ohmish Nybegynder
05. marts 2003 - 02:59 #8
prøvede du min løsning?
Avatar billede ohmish Nybegynder
05. marts 2003 - 03:36 #9
jeg har kigget lidt på dit andet spørgsmål også (http://www.eksperten.dk/spm/324667)...
her er en færdig "lommeregner" du ka arbejde med:

<?
function REGNDETTEUD ($value1, $regneart, $value2) {
if ($regneart=="minus") { $tekst="$value1 minus $value2 er: "; return $tekst.($value1-$value2); }
elseif ($regneart=="plus") { $tekst="$value1 plus $value2 er: "; return $tekst.($value1+$value2); }
elseif ($regneart=="gange") { $tekst="$value1 gange $value2 er: "; return $tekst.($value1*$value2); }
elseif ($regneart=="dividere") { $tekst="$value1 dividereret med $value2 er: "; return $tekst.($value1/$value2); }
else return "fejl ved udregning"; }

if ($submit) {
echo REGNDETTEUD($value1, $regneart, $value2); }
?>

<form method="post" action="calculator.php">
1. tal:
<input type="text" name="value1" size=4>
Regnemetode:
<select name="regneart">
<option name="plus" value="plus">Plus</option>
<option name="minus" value="minus">Minus</option>
<option name="gange" value="gange">Gange</option>
<option name="dividere" value="dividere">Dividere</option>
</select>
2.tal:
<input type="text" name="value2" size=4>
<br><br>
<input type="submit" name="submit" value="Regn det ud">
</form>
Avatar billede ohmish Nybegynder
05. marts 2003 - 03:36 #10
filen kaldes "calculator.php" og det er dét.. :)
Avatar billede jakoba Nybegynder
05. marts 2003 - 03:46 #11
function udregn2operand( $value1, $regneart, $value2 ) {
    $regnestykke = "$value1 $regneart $value2";
    echo $regnestykke ." giver " .eval( "return $regnestykke;" );
}

mvh JakobA
Avatar billede sito Nybegynder
05. marts 2003 - 09:22 #12
så skulle i have fået 30 point hver. Tak for hjælpen. Har ikke prøvet jeres løsning, da jeg selv fandt ud af det. Hvis i vil se den er i velkomne.
Avatar billede ohmish Nybegynder
05. marts 2003 - 15:07 #13
jæsjæs.. jeg vil gerne se hva du kom frem til
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester