hi, kleines script zu quiz-rechenfragen.

PHP-Code:
<?php
  
function calcWithMode($mode$num1$num2)
  {
    if(
$mode == 1)
      return 
$num1 $num2;
    if(
$mode == 2)
      return 
$num1 $num2;
    if(
$mode == 3)
      return 
$num1 $num2;
    if(
$mode == 4)
      return 
$num1 $num2;
    return 
null;
  }
  
  function 
quizCalc($qCalc
  {
    if(
strstr($qCalc":"true) == "Nennen Sie die gesuchte Zahl")
    {
      if(
strpos(strstr($qCalc":"), "???") != false)
        {
        
$qCalc substr($qCalc30);
        
$num1 null;
        
$num2 null;
        
$rest null;
        
$calcMode 0;
        
$c = -1;
        
$xLoc = -1;
        
$equalLoc = -1;
        
$result = -1;
        foreach(
split(" "$qCalc) as $part)
        {
          
$c++;
          if(
is_numeric($part))
          {
            if(!isset(
$num1))
              
$num1 $part;
            elseif(!isset(
$num2))
              
$num2 $part;
            elseif(!isset(
$rest))
              
$rest $part;
          }
          if(
$part == "plus")
            
$calcMode 1;
          else if(
$part == "minus")
            
$calcMode 2;
          else if(
$part == "mal")
            
$calcMode 3;
          else if(
$part == "durch")
            
$calcMode 4;
          
          if(
$part == "???")
            
$xLoc $c;
          if(
$part == "=")
            
$equalLoc $c;
        }
 
        if(
$equalLoc == 1)
        {
          if(
$xLoc == 0)
            
$result calcWithMode($calcMode$num1$num2);
          
          if(
$xLoc == || $xLoc == 4)
            if(
$calcMode == || $calcMode == 2)
              
$result calcWithMode($calcMode$num1, -$num2);
            else if(
$calcMode == 3)
              
$result calcWithMode(4$num1$num2);
            else if(
$calcMode == 4)
              
$result calcWithMode(3$num1$num2);
        }
        else if(
$equalLoc == 3)
        {
          if(
$xLoc == 0)
            if(
$calcMode == || $calcMode == 2)
              
$result calcWithMode($calcMode$num2, -$num1);
            else if(
$calcMode == 3)
              
$result calcWithMode(4$num2$num1);
            else if(
$calcMode == 4)
                
$result calcWithMode(3$num2$num1);
            
          if(
$xLoc == 2)
            if(
$calcMode == 1)
              
$result calcWithMode($calcMode$num2, -$num1);
            else if(
$calcMode == 2)
              
$result calcWithMode($calcMode$num2$num1) / -1;
            else if(
$calcMode == 3)
              
$result calcWithMode(4$num2$num1);
            else if(
$calcMode == 4)
             
$result calcWithMode(4$num1$num2);
           
          if(
$xLoc == 4)
            
$result calcWithMode($calcMode$num1$num2);
         }
        if(isset(
$rest) && $rest != 0)
        {
          if(
$xLoc == 0)
            
$result = ($num1 $num2) + $rest;
          
          if(
$xLoc == || $xLoc == 4)
            
$result = ($num1 $rest) / $num2;
        }
        return 
$result;
      }
    }
    return 
null;
  }
?>
Beispiel:

PHP-Code:
<?php
  
include("quizcalc.php");
  
header('Content-type: text/plain; charset=utf-8');

  if(isset(
$_GET['q']))
  {
    print(
quizCalc($_GET['q']));
  }
?>
Aufruf mit "Nennen Sie die gesuchte Zahl: 34 durch ??? = 3 Rest 1":

Code:
http://127.0.0.1/quizcalc.php?q=Nennen%20Sie%20die%20gesuchte%20Zahl:%2034%20durch%20???%20=%203%20Rest%201
-> "11"


Coded by me. Have fun.

-aspire