用VFP编写程序

用VFP编写程序,第1张

2、clear

?"1到100之内的所有素数:"

s=0

for i=2 to 100

x=0

for j=2 to i-1

if i/j=int(i/j)

x=1

endif

endfor

if x=0

??alltrim(str(i))+space(2)

s=s+i

endif

endfor

?"它们的和是:",s

3、clear

?"1到1000之间所有奇数的和:"

s=0

for i=1 to 1000

if mod(i,2)<>0

s=s+i

endif

endfor

?s

4、command1的click代码:

if ALLTRIM(thisform.text1.value)="12345".and.alltrim(thisform.text2.value)="abcd"

messagebox("欢迎进入QQ世界")

else

messagebox("你的用户名或密码是错误的!")

endif

5、1)select * from STUDENT where 入学成绩>500

2)select 学号,姓名,专业信息 from STUDENT where substr(alltrim(姓名),1,2)="李"

3)count for 性别="女" to mm

6、CLEAR

SET UDFPARMS TO REFERENCE &&地址传递

DIME AAA(10)

FOR i= 1 TO 10

input "请输入第"+ALLTRIM(STR(i))+"个数:" to AAA(i)

NEXT

=MySort(AAA,10) &&调用冒泡排序函数.

i=1

?"从大到小排序结果为:"

do while i<=10

??AAA(i) &&显示排完序后的数据.

i=i+1

enddo

RETURN

*冒泡排序函数.

*参数: pData: 传入数组, nCount:数组的大小.

function MySort

para pData, nCount

for i=1 to nCount

for j=nCount to i+1 step -1

if pData(j)>pData(j-1)

iTemp = pData[j-1]

pData(j-1) = pData[j]

pData(j) = iTemp

endif

endfor

endfor

endfunc

你的程序里有以下问题。

首先,你的locate 语句中and 前后有两个点,这个好像不对。

其次,紧接着不能判断eof(),这个的意思是当前表是不是到了末尾。你的locate是一个查找语句,所以应该把eof() 改为 not found().

然后,你的这个应该是系统登陆吧,为了防止暴力破解,一般系统都会增加对错误次数的限制,一般都是3次,如果第4次还是错误,将退出。而你的代码里好像没有这种保护机制。另外,你的用户名和密码是没有经过加密就存储到表里面的,如果你尝试用记事本打开表,你会发现,找到用户名和密码很容易。

最后,据我的经验来看,使用allt(thisform.text1.value)=="",这样的语句来判断用户是否输入了内容不是一个最佳的方法,应该改为

if empty(thisform.text1.value)

...

或者

if len(allt(thisform.text1.value))==0

...

因为系统对""(中间没有空格)的解释会给程序带来很大的不稳定因素,所以不建议使用。

最后一点, 你程序中的 do 命令好像有问题,应该是 do 主界面.mpr

如果还有问题,请留言。

一元二次方程的程序 aX^2+bX+C=0的求根公式:x=(-b±√b^2-4ac)/2a

解方程条件:b^2-4ac>=0

VFP简单程序,在命令按钮(command)属性“Click”事件中加入以下语句:

input "请输入a:" to a

input "请输入b:" to b

input "请输入c:" to c

pd=b*b-4*a*c&&先计算b^2-4ac

IF pd>=0 &&判断方程是否有解(b^2-4ac>=0有解)

x1=(-b+sqrt(pd))/2*a&&计算方程的第一个解" -b+√b^2-4ac)/2a "

x2=(-b-sqrt(pd))/2*a &&计算方程的第二个解" -b-√b^2-4ac)/2a "

?"x1=:",x1 &&显示方程的第一个解

?"x2=:",x2 &&显示方程的第二个解

ELSE

messagebox("b^2-4ac<0,方程无解",0,"提 示")

ENDIF

可以把 input 输入 改为文本框(Text)输入,?显示改为文本框显示更好些。

在表单中建立5个文本框(Text1-5)和一个命令按钮(command)

在命令按钮(command)属性“Click”事件中加入以下语句

a=thisform.Text1.value

b=thisform.Text2.value

c=thisform.Text3.value

pd=b*b-4*a*c&&先计算b^2-4ac

IF pd>=0 &&判断方程是否有解(b^2-4ac>=0有解)

x1=(-b+sqrt(pd))/2*a&&计算方程的第一个解" -b+√b^2-4ac)/2a "

x2=(-b-sqrt(pd))/2*a &&计算方程的第二个解" -b-√b^2-4ac)/2a "

thisform.Text4.value=x1 &&显示方程的第一个解

thisform.Text5.value=x2 &&显示方程的第二个解

ELSE

messagebox("b^2-4ac<0,方程无解",0,"提 示")

ENDIF

当文本框(Text1-3)都输入数字后,按命令按钮(command)就在文本框(Text4-5)中显示方程的解了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11240435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存