[PHP5] taschenrechner in php

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] taschenrechner in php

    hallo zusamen,
    habe ein problem und zwar will ich einen Taschenrechner in php schreiben.habe auch schon einen Teil hin bekommen nur leider weiß ich nicht wie ich dem Programm sage das er was in Klammern steht als erstes ausrechnen soll....

    Kann mir vielleicht jemand helfen???

    PHP-Code:
    <?PHP



    $eq 
    $HTTP_POST_VARS["equation"];

    print 
    calc($eq);

    function 
    calc($eq){
     
    $tmp splitEq($eq);
     for(
    $i 0;$i<sizeof($tmp);$i++){
      
    $result += calc2($tmp[$i]);
     }
     return 
    $result;
    }

    function 
    calc2($eq){
     
    $tmp splitEq($eq"*""/");
     
    $result $tmp[0];
     for(
    $i 0;$i<sizeof($tmp);$i++){
      if(
    $tmp[$i][0] == "*")
       
    $result *= substr($tmp[$i],1);
      if(
    $tmp[$i][0] == "/")
       
    $result /= substr($tmp[$i],1);
     }
     return 
    $result;
    }


    function 
    splitEq($eq$op1 "+"$op2 "-"){
     
    $i splitPos($eq$op1$op2);
     
    $tmp = array();
     while(
    $i>0){
      
    $tmp[] = substr($eq0$i);
      
    $eq substr($eq$i);
      
    $i splitPos($eq$op1$op2);
     }
     if (
    strlen($eq)>0)
      
    $tmp[] = $eq;
     return 
    $tmp;
    }

    function 
    splitPos($s$op1$op2$b=1){
     for(
    $i=$b;$i<=strlen($s);$i++){
      if (
    $s[$i] == $op1 || $s[$i] == $op2)
       return 
    $i;
     }
    }
    // echo "&nbsp; ist das Ergebnis".$result; /


    ?>
    Über gute Vorschläge würde ich mich sehr freuen...

  • #2
    schaust du [color=red]mal hier nach[/color]

    Kommentar


    • #3
      Da hab ich auch schon geschaut aber nicht wirklich was gefunden...

      Kommentar


      • #4
        wenn du eine ( siehst, zählst Du vorwärts bis du die passende ) bekommst. Das ist der split-point. den inneren substring ohne diese zwei ( ) übergibst du - irrtum vorbehalten - calc.

        Kommentar


        • #5
          Was meinst du für einen Link??Du hast mich doch nur zur Suche geleitet!?!

          Kommentar


          • #6
            Hey odin, wie kannst du erst behaupten, auf der verlinkten Seite schon nachgeschaut zu haben und anschließend merken, dass der Link auf die Suche führt?

            Machst du das immer so; "Kenn ich schon, hilft nicht"?
            Da bist du bei mir ja direkt unten durch!


            Dass er dich auf die Suche verweist ist ein Wink mit dem Zaunpfahl ...

            Kommentar


            • #7
              @onemorenerd
              Wenn du alle Beiträge gelesen hättest dann würdest du sehen das ich vorher schon geschrieben habe das ich nichts gefunden habe.

              Habe eigentlich meine frage hier rein gestellt weil ich dachte man bekommt hier ein paar Hilfestellungen und wird nicht voll gequatscht...sorry für die Aussage aber dein Beitrag hilft mir nicht wirklich weiter...also entweder produktiv sein oder lieber garnichts sagen...
              Zuletzt geändert von odin1978; 13.06.2006, 19:40.

              Kommentar


              • #8
                -

                Kommentar


                • #9
                  habe auch schon einen Teil hin bekommen
                  Wenn Du das tatsächlich hinbekommen hast,
                  dann wird es für Dich doch ein leichtes sein herauszufinden
                  wo etwas zu ändern ist.

                  Kommentar


                  • #10
                    tja das dachte ich eigentlich auch...aber entweder hab ich grad ein Brett vorm Kopf...oder ich sitz schon zu lange vorm Rechner..

                    Kommentar


                    • #11
                      ich hätt den Eingabestring mit nem regex in seine (Klammer-)bestandteile zerlegt
                      und dann die einzelnen Teile berechnet
                      und dann die Endberechnung gemacht.

                      Kommentar


                      • #12
                        Original geschrieben von odin1978
                        @onemorenerd
                        Wenn du alle Beiträge gelesen hättest dann würdest du sehen das ich vorher schon geschrieben habe das ich nichts gefunden habe.
                        mai um 18:54: schaust du mal hier nach
                        odin1978 um 18:57: Da hab ich schon geschaut ...
                        odin1978 um 19:28: Was meinst du für einen Link?? ...

                        Habe eigentlich meine frage hier rein gestellt weil ich dachte man bekommt hier ein paar Hilfestellungen und wird nicht voll gequatscht...
                        Bekommt man auch, der Link war ja eine.

                        Kommentar


                        • #13
                          hier schlägt ja "komischerweise" alle paar Tage jemand auf
                          der ein Taschenrechnerproblem hat.

                          Ist ne Schulaufgabe...

                          Die Forensuche, die Du benutzt hast, liefert 37 Treffer.

                          Kommentar


                          • #14
                            @onemorenerd
                            und was willst du mir jetzt damit sagen das du die Zeiten hin geschrieben hast...???

                            Wo ich nach dem Link gefragt habe dachte ich er hat einen anderen gemeint als den zur Suche...

                            Aber eins Frage ich mich...warum laberst du mich hier zu???Hast du nichts besseres zutun???

                            Ich habe auf jedenfall was zutun..also lass bitte deine Komentare wo anders ab...Dankeschön!!!

                            Kommentar


                            • #15
                              @Koala
                              jo da liegst du garnicht so falsch...ist ne Belegaufgabe...

                              ich probiere mal deinen Vorschlag....erstmal Danke

                              Kommentar

                              Lädt...
                              X