這次用php實現的內容是:使用者輸入兩個數字,然後選擇加減乘除這四個運算子其中的乙個或者多個,將計算結果顯示出來。
我的思路是這樣的:在html中建立表單,其中包括:1.選擇框,讓使用者選擇加減乘除運算,選擇的結果儲存在operation這個陣列中;2.文字框,讓使用者輸入要計算的數字,輸入的結果儲存在num這個陣列中;3.提交按鈕,提交表單內容。表單用post方法直接提交給本php頁面處理,其中$_post['operation']儲存了運算子資訊,$_post[num']儲存了要參與運算的資料。在php指令碼裡判斷運算子,並進行相應計算,將結果儲存到$msg的陣列中,最後將$msg輸出即可。
好了,直接上**吧:
<?php
$result=array(); //用來儲存計算結果的陣列
$msg=array(); //儲存結果訊息的陣列
$i=0; //結果的個數
$error=""; //錯誤訊息
if(isset($_post['operation']))
else $error="被除數不能為0\n" ; //如果除數為0,錯誤訊息有提示
break;}}
}else
}?>
<?php
if(isset($msg))
?>
執行介面如下:
輸入 13 ,12
如果運算子全部選擇的話:
評價和改進:
經過測試,發現扔存在一些缺陷,比如說:每次輸入完資料,提交之後,計算結果是顯示出來了,可是頁面也被更新了,原先輸入的資料就沒有了。改進之後的結果應該是這樣的:每次提交之後,文字框都儲存著上次的記錄,核取方塊不儲存。具體的實現呢,就是在文字框設定屬性,這個我不是特別熟,現在也懶得去弄它,就先擱一擱吧。
至於**的話,php指令碼裡面用的變數比較多,而消耗記憶體也相應較大,所以像$result,$num1,$num2這些變數不被另外指令碼呼叫的話,可以省去;但是為了更好的擴充套件性,增加功能時不用大幅改變原來**,留著比較好。
感興趣的讀者可以到去測試,歡迎指正哦^_^
PHP簡單計算器
1 26716 1718 19 20 var dump post exit 21if empty post one empty post two empty post suan elseif suan elseif suan else 36 注 上面放這些 只是為了想讓我注意乙個問題,就是運算子的優...
簡單計算器
unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,buttons,math math是數 算單元 type tform1 class ...
簡單計算器
a 簡單計算器 crawling in process.crawling failed time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 讀入乙個只包含 的非負整數計算表示...