KALKULATOR





















Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
Kalkulator zaawansowany -problem z działaniami
« Odpowiedź #1 dnia: 2009-05-10, 14:45:26 »
Ten kalkulator w ogóle nie działa. Jedyne co można zrobić to wpisywać liczby i znaki, on nawet nie liczy.

Pozdrawiam!

PS. Zauważyłem, że kod kolegi znacząco wpływa na wygląd strony forum linux.pl, zwłaszcza jak się go cytuje.

pmaz

  • Gość
Kalkulator zaawansowany -problem z działaniami
« Odpowiedź #2 dnia: 2009-05-10, 20:11:52 »
tak, miałes rację, przegldałem przez IE i działalo, ale w firefoxie (ktory poprawnie odczytywał kod) juz nie było poprawnie. W każdym bądź razie już wyswietla,lecz PROBLEM DALEJ JEST


Prosze o pomoc.

Cytat: Ja


session_start();

if(!isset($_SESSION['o'])){
  $_SESSION['o'] = '';
}

if(!isset($_SESSION['t'])){
  $_SESSION['t'] = false;
}

if(isset($_POST['send'])){
    if($_POST['send'] == 'CE'){
        $_SESSION = array();
        header('Location: ' . $_SERVER['PHP_SELF']);
        exit;
    }elseif($_POST['send'] <> '='){
      $_SESSION['o'] .= $_POST['send'];
  }else{
      eval('$_SESSION[\\'t\\'] = ' . $_SESSION['o'] . ';');
  }
}

?>



Wynik dzialania
=









KALKULATOR




















Zamieszczam poprawiony kod.

Offline mateo86

  • Users
  • Guru
  • *****
  • Wiadomości: 647
    • Zobacz profil
Kalkulator zaawansowany -problem z działaniami
« Odpowiedź #3 dnia: 2009-05-10, 21:10:45 »
Ja w tym kodzie w ogóle nie widzę funkcji arytmetycznych... to jak to ma działać?
Chyba że ja już jestem za stary na php i gdzieś to jest ukryte...

To co zrobiłeś, to wyświetlenie przycisków i "wyświetlacz", oraz wysyłanie danych, a poza tym nic tu nie ma...

pmaz

  • Gość
Kalkulator zaawansowany -problem z działaniami
« Odpowiedź #4 dnia: 2009-05-10, 21:48:16 »
to jak to działa   ????

pmaz

  • Gość
Kalkulator zaawansowany -problem z działaniami
« Odpowiedź #5 dnia: 2009-05-10, 21:51:14 »
Powiem szczerze że sam tego kodu nie rozumiem( jak psiałem jestem początkujacy :) ) Kod został skopiowany z innej strony. Ale co najdziwniejsze !! ten sam kod tylko na innej stronie i DZIALA PRAWIDŁOWO http://m.egipcjanin.com/cal2.php

jk33

  • Gość
Kalkulator zaawansowany -problem z działaniami
« Odpowiedź #6 dnia: 2009-05-10, 22:52:13 »
Co do tego, dlaczego wcześniej nie działał, a teraz działa:
uważnie się przyjrzyj - jest jedna istotna różnica, jeśli chodzi o spacje.

Jak to działa? Skoro już nie napisałeś tego programu sam, to przynajmniej spróbuj go sam przeanalizować. Po kolei
1)Co się dzieje przy pierwszym wejściu na stronę?
2)Co się dzieje po naciśnięciu cyfry lub znaku + - / * ?
3)Co się dzieje po naciśnięciu AC?
4)Co się dzieje po naciśnięciu = ?

Pytania pomocnicze:
1) Co to są sesje w PHP i jak działają?
2) Co robi operator .= ?

pmaz

  • Gość
Kalkulator zaawansowany -problem z działaniami
« Odpowiedź #7 dnia: 2009-05-21, 21:48:12 »
hyh, juz po kłopocie, ten powyższy okazalsię nezuzyteczny i ogolnie wyszło tak ze wszyscy w klasie mamy źródło to samo. Dla tych co w przyszlsoci bedą odwiedzac te strone : Kalkulatro razem z sinusami i takimi tam....

Cytat: Ja

if($pole=="0") {
    if($but!==",") { $pole=""; }
    }

if($but=="CE") {
    $but="";    
    $pole="0";
    $bufor="";
    $bufd="";
    }
   
if($but=="√")  {
    $pole = sqrt($pole);
    $but="";
    }

if($but=="sin")  {
    $pole = sin($pole);
    $but="";
    }

if($but=="cos")  {
    $pole = cos($pole);
    $but="";
    }

if($but=="tan")  {
    $pole = tan($pole);
    $but="";
    }

if($but=="²")  {
    $pole = $pole * $pole;
    $but="";
    }

if($but=="+")  {
    $bufor=$pole;
    $pole="0";
    $bufd="+";
    $but="";
    }
   
if($but=="-")  {
    $bufor=$pole;
    $pole="0";
    $bufd="-";
    $but="";
    }
   
if($but=="*")  {
    $bufor=$pole;
    $pole="0";
    $bufd="*";
    $but="";
    }
   
if($but=="/")  {
    $bufor=$pole;
    $pole="0";
    $bufd="/";
    $but="";
    }
   
if($but=="=")  {
    if($bufd=="+"){
    $pole = $bufor+$pole;
    $bufor="";
    $but="";
    $bufd="";
    }
    if($bufd=="-"){
    $pole = $bufor-$pole;
    $bufor="";
    $but="";
    $bufd="";
    }
    if($bufd=="*"){
    $pole = $bufor*$pole;
    $bufor="";
    $but="";
    $bufd="";
    }
    if($bufd=="/"){
    $pole = $bufor/$pole;
    $bufor="";
    $but="";
    $bufd="";
    }
        $but="";
}



?>



Kalkulator





Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Kalkulator zaawansowany -problem z działaniami  (Przeczytany 7377 razy)

pmaz

  • Gość
Kalkulator zaawansowany -problem z działaniami
« dnia: 2009-05-10, 12:37:01 »
Witam!
Jako że nie jestem profesjonalistą w dziedzinie PHP, prosze o pisanie w miare wyrozumiałosci ,prostym językiem.

Potrzebuję do szkoły kalukator ktory ma wyglądać tak jak windowsowy, tylko ze ten moj ma byc na stronie i napisany w PHP.
Znalazłem kilka stron i połaczyłem je. Kalkulator działa ale problem pojawia sie przy działaniu dwóch cyfr obok siebie np (10*4) , tak jakby nie czytał 2. liczb jako jeden.

Proszę o pomoc:

http://m.egipcjanin.com/cal1.php



 
Cytat: Ja

session_start();

if(!isset($_SESSION['o'])){
  $_SESSION['o'] = '';
}

if(!isset($_SESSION['t'])){
  $_SESSION['t'] = false;
}

if(isset($_POST['send'])){
    if($_POST['send'] == 'CE'){
        $_SESSION = array();
        header('Location: ' . $_SERVER['PHP_SELF']);
        exit;
    }elseif($_POST['send'] <> '='){
      $_SESSION['o'] .= $_POST['send'];
  }else{
      eval('$_SESSION[\\'t\\'] = ' . $_SESSION['o'] . ';');
  }
}

?>




Wynik operacji  
  =




















 
   

 
 



















 
 

 
 

 
   
 
 
   
   
 
 
   
   
   
   
 
 
   
   
   
   
 
 
   
   
   
   
 
 
   
   
   
   
 
 
   
   
   
   
 
" />