用户名和口令存在”口令表”中,当输入用户名和口令并单击”登陆”时,若用户名错误,则”用户名错误”;若用户名正确,口令错误,则”口令错误”.若命令按钮”登陆”的click 时间中的代码如下:
use 口令
go top
do while .not. eof()
if alltrim(用户名)==alltrim(thisform.text.value)
if alltrim(口令)==alltrim(thisform.text2.value)
wait"欢迎使用" window timeout 2
else
wait"口令错误" window timeout 2
endif
flag=1
exit
endif
skip
enddo
if_____
wait"用户名错误" timeout 2
endif
则在横线上的代码为:__
A .flag=-1 B.flag=1 C.flag=0 D.flag=2
答案是C 为什么??????
我的同学在一个参考书上,看的问了一下我,我实在是解不出来,这些是原题,而且是全部.
vf题-请赐教
答案:4 悬赏:0
解决时间 2021-02-22 15:22
- 提问者网友:相思故
- 2021-02-21 21:44
最佳答案
- 二级知识专家网友:怪咖小青年
- 2021-02-21 22:01
1.首先确定的是这个程序编写的太差劲.
2.没有声明变量初始值,应该在程序首行声明一下flag=0
3.解释为什么是答案c: 该程序运用了二层嵌套,如下
if alltrim(用户名)==alltrim(thisform.text.value)
if alltrim(口令)==alltrim(thisform.text2.value)
wait"欢迎使用" window timeout 2
else
wait"口令错误" window timeout 2
endif
flag=1
exit
endif
意为在用户名正确时,不管口令正确与否flag=1,那么可以得出如果用户名不正确,值为0,所以当flag=0时 用户名肯定不正确!
2.没有声明变量初始值,应该在程序首行声明一下flag=0
3.解释为什么是答案c: 该程序运用了二层嵌套,如下
if alltrim(用户名)==alltrim(thisform.text.value)
if alltrim(口令)==alltrim(thisform.text2.value)
wait"欢迎使用" window timeout 2
else
wait"口令错误" window timeout 2
endif
flag=1
exit
endif
意为在用户名正确时,不管口令正确与否flag=1,那么可以得出如果用户名不正确,值为0,所以当flag=0时 用户名肯定不正确!
全部回答
- 1楼网友:萌萌哒小可爱
- 2021-02-22 00:00
enddo 是程序中一个循环体结束的标志 有循环语句do就必然有enddo去结束
- 2楼网友:荒唐后生
- 2021-02-21 23:36
如果这是一道考试试卷上的题.答案是c,还是能说的过去的.一般0为假,非0为真.上面有flag=1表示口令和用户名都正确.下面这个flag=0是为了用此来检查用户名的对错.要仔细看看里面的if 语句.就能看明白了.这个是正确的代码.好好琢磨一下.
- 3楼网友:伤口狠精致
- 2021-02-21 23:14
baijifei说得对,C.(但前题是前置flag=0,否则程序可能要出错,在VFP中,可以不事前定义变量类型而直接使用,但不赋值(用户名正确时)直接执行 if flag=0 则说未找到变量flag.) 恐怕不是什么题目,如果真是题目,则这个老师的水平太差了!上程序有三个严重的问题:
1、严谨性不足。
2、效率慢。
3、误导初学者。
这样:
use user.dbf
locat for alltrim(username)=="张三" and alltrim(password)="密码" *当然,最好用索引啦。
if found()
? "对,进入吧"
else
? "错!"
endif
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯