巧用数据库函数一例
摄氏温度=32+1.8×华氏温度
要编写摄氏与华氏温度的互化程序,一般的方法是先让用户选择摄氏温度转化成华氏温度或华氏温度转化成摄氏温度,然后再输入温度值,计算机计算出相应的温度(程序1如下)。这样的程序使用起来给人的感觉很笨。
程序1:
set talk off
? "1-摄氏转华氏,2-华氏转摄氏"
wait "请选择(1,2)"to s
input "输入温度值"to a
do case
case s="1"
? "相应的华氏温度是:",32+1.8*a
case s="2"
? "相应的摄氏温度是:",(a-32)/1.8
otherwise
? "您选择有错误!"
endcase
set talk on
return
而我们所希望的是对事物进行更精炼的描述。如20℃表示摄氏20度,20°F表示华氏20度,象这样在计算机中如用20C表示摄氏20度,20F表示华氏20度,更能体现程序的智能化。
程序如何区分20C与20F呢?右取字串函数right可以解决这一问题,而函数val又可确定温度值的大小,然后再用lower函数使输入可以不区分大小写,如果您以前没有重视数据库函数的使用,下面的程序(程序2),可能会起到抛砖引玉的作用。
程序2:
set talk off
? "输入摄氏温度时未尾加字母C"
? "输入华氏温度时未尾加字母F"
accept "请输入温度" to wd
w=val(wd)
fc=lower(right(wd,1))
do case
case fc="c"
此外缺两行
? "相应的摄氏温度是:",(W-32)/1.8
otherwise
? "您输入的温度有错误!"
? "请看前面的提示!"
endcase
set talk on
return