NTUE-CS102 板


LINE

人参,我觉得下份作业比较令人恐惧..吧 总而言之该来写我自己觉得拖稿一个月的网页小算盘hmm 虽然我也觉得拿jsp或php写小算盘,从很多角度来看都乱诡异的感觉 只是说,要学习form的使用,还有基本语法等等 好像也没其他正常点的东西可以写的样子 下页正文 -- 姑且先不论详细 在做之前..简单分析一下小算盘有些什麽东西,实作有多少东西要注意 : 啊..是说这题目对win7使用者意外麻烦的是找不到目标程式参考_A_ 介面来看,大概是两个区块 显示数值的一块区域,跟底下各个按钮两块 这边应该不算明确的大问题,前者是个textarea,後者是群button 再来是後台,也就是运算这部分来看 这个"数值"分为两个部分,一个是要显示在画面上的(我称为前景) 另外一个是运算子之前,那一项不会显示在萤幕上的(後景) 以及前次要求运算的运算子 以一个数学式为例,与颜色对照在执行上,分别会存在哪个变数就会是 1 + 2 = 3 操作流程也蛮单纯的..点1 点+ 点2 点= 萤幕上就显示3 这样做得完... 我是觉得就拿80%,那个小数没严苛要求防呆,所以是吓人用的计分标准 -- 嗯..所以让我们来从介面这部分看看.. html部分大原则还蛮单纯的 一个textarea,然後大量的submit按钮 这边可以注意两个点 一是所有的submit可以全部取为name相同,value不同 反正小算盘怎样都是一次一个指令,这样做会比较好取得进来的指令 可以统一用一套格式解决所有状况 另外一个是排版这件事的话... 不要想太多,开个n*m表格就能处理掉了 不要想调整什麽东西,时间花在应该花的地方吧 此外,依据程式码变数写法部分,可以用hidden栏位做简单保留值行为 反正小算盘没有安全性需求(?) -- 看程式码部分.. 简单来看这两份作业,其实就是判别使用者submit的按键是什麽 然後对照作处理、存进应该存的变数就好 首先是jsp字串处理比较复杂的要用equals这个函式处理 php只要单纯$var == "text"就能解决,无脑的好帮手(?) 用前述1+2=3,这样做code范例来说明,应该是足够表现整个内容怎麽写了.. 先做点基本前提的html部分 <form action="self.php" method="post"> <input type="submit" name="cmd" value="1"> <input type="submit" name="cmd" value="2"> <input type="submit" name="cmd" value="+"> <input type="submit" name="cmd" value="="> </form> -- 首先,取得值蛮多方法..php来说,我是习惯post就用$_POST['hash'];来取得 然後呢..小算盘可以分为运算子与数值两种输入 然後数值部分全都是同一套处理流程,所以其实可以这样写判断 <?php $cmd = $_POST['cmd']; if ($cmd == "+"){ } else if ($cmd == "="){ } else{ } ?> else内就是数值、小数点等等的这样 不做防呆的情况..数值都可以直接把输入得到的$cmd接在字串最後 以下页为例 -- 假设既有数值 102 不管下一个输入是小数点,或其他数值 都表示会变成 102. 或 1023 在程式中,这都同样能用 $fn = $fn.$cmd; 处理掉 所以else里头就只要另外注意 如果是一开始没有值要先改为0 然後原本是0,要输入进其他数字而非小数点时,要取代过去即可 : fn即指前景数 再来看($cmd == "+")的情况 因为在小算盘的功能里头,+-*/同时会先把前面的运算式做次处理 所以这里要先检查有没有前一个运算子...这里用的变数是$pastcmd 只要存在的话,就照$pastcmd所表示的运算子处理,存进$fn 若不存在,或处理完後,就把$fn存进$bg 再把这次抓取的$cmd这个运算子,存进$pastcmd 喔有点复杂...来看看这页说明的code实际长相 -- <?php $cmd = $_POST['cmd']; $fn = $_POST['fn']; $bg = $_POST['bg']; $pastcmd = $_POST['pastcmd'] if ($cmd == "+"){ if ($pastcmd == "+") $fn = $fn + $bg; $bg = $fn; $fn = 0; $pastcmd = $cmd; } else if ($cmd == "="){ } else{ if ($fn!=0 || $cmd=="." ) $fn = $fn.$cmd; else $fn = $cmd; } ?> -- 好,所以因为有了 + 的部分 =也是差不多的方法,此外就是-*/也用差不多的方法就能解决 要记得,php会自动转型...所以运算上可以用这麽懒(?)的方式计算 针对0. 这样的字串,也会转型成 0 来算 至於特殊功能的部分,google "php math" 查查函式,直接对$fn开下去就是 有时候我不太懂这些评分要求的实质意义在哪(?) 至於MR MC M+ M-...查一下运作模式 多用几个变数就能处理了 -- 啊对,如果你们很有种的话可以putty上去伺服器,跑去隔壁的资料夹cat看code -- 所恐惧的,不是没有知识的大众  所憎恨的,不是深沉幽暗的人心 而是自以为是的思考之声 而是自恃甚高的执法者 所毁灭的,不是温馨和谐的世界 这是我最後的期许,没有愤怒、没有悔恨 而是自欺欺人的梦境 只剩下,浑沌的死亡呼吸                节自 新月神话-弑王者 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 119.14.21.184
1F:推 jerry771210:感谢 05/26 00:19
2F:→ game0416:是我要谢给成绩的,哪有你谢的Q__Q 05/26 00:22
※ 编辑: game0416 来自: 119.14.21.184 (05/26 00:22)
3F:推 CaptainWill:有见地 05/26 00:24
4F:推 jerry771210:不负责任php教学:把"%"-->"?" , "var "-->"$" 05/26 00:35
5F:→ jerry771210:把所有的变数前面加上"$",".jsp"-->".php"就成了php 05/26 00:36
6F:推 SMUGEN:jsp版的如果写乾净清楚一点 php版的只要一下子就改好了 :D 05/26 00:39







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP