![]() |
[求助]为什么输出有错
[求助]为什么输出有错
www.dimcax.com [求助]为什么输出有错 请各位高手指教,程序怎么修改,先谢过了。 (defun c:mdnum() (setq num1 (getreal "\n enter first number:")) (setq num2 (getreal "\n enter second number:")) (setq ans(strcase (getstring "enter m or d:"))) (if (= ans "m") (setq x (* num1 num2)) ) (if (= ans "d") (setq x (/ num1 num2)) ) (if (and (/= ans "d") (/= ans "m")) (prompt "sorry!wrong entry, try again") ) (princ x) (princ) ) 以下是运行结果,错误出现在第三个方式: 命令: mdnum enter first number:10 enter second number:2 enter m or d:m 20.0 命令:(**********请教这行能否去掉啊) 命令: mdnum enter first number:10 enter second number:2 enter m or d:d 5.0 命令:(***********请教这行能否去掉啊) 命令: mdnum enter first number:10 enter second number:2 enter m or d:h sorry!wrong entry, try again5.0(******这个5.0怎么去掉啊) d getstring用getkword替换会好点 要把5.0去掉,可以把 (if (and (/= ans "d") (/= ans "m")) (prompt "sorry!wrong entry, try again") ) (princ x) 改成 (if (and (/= ans "d") (/= ans "m")) (prompt "sorry!wrong entry, try again") (princ x) ) 做二次开发前先打好cad基础 不要尝试用二次开发来弥补你错误的操作 d 谢谢水手,已经试过了,第2个问题解决,第一个用getkword基本没有变化。 d |
| 所有的时间均为北京时间。 现在的时间是 02:44 AM. |