VFP常见编程实例

合集下载

vfp程序示例

vfp程序示例

【例1】计算连续自然数之和,并且显示和刚大于1000的最后一个自然数。

STORE 0 TO AA,BBDO WHILE AA<=1000BB=BB+1AA=AA+BBENDDO? BB结果显示为45。

【例2】求连续N个不是7的倍数的自然数之和,当和是101的倍数时显示最后的自然数和它们的和。

STORE 0 TO AA,BB &&定义二个变量,用以保存累加值和累加数DO WHILE .T.BB=BB+1IF MOD(BB,7)=0 &&判断BB是否为7的倍数LOOP &&如果BB是7的倍数则返回去将BB再加1 ENDIFAA=AA+BB &&将BB不是7的倍数的连续自然数累加求和 IF MOD(AA,101)=0 &&判断AA是否是101的倍数 EXIT &&如果AA是101的倍数,则结束程序的循环ENDIFENDDO? BB,AA屏幕显示结果为207和18483。

【例3】求1到100中偶数的和AA=0FOR II=2 TO 100 STEP 2AA=AA+IIENDFOR? AA【例4】逐条显示STUDENT表中男生的情况。

USE STUDENTSCAN FOR 性别=”男”DISPWAITENDSCANUSE或USE STUDENTSCANIF 性别#”男”LOOPENDIFDISPWAITENDSCANUSE【例5】计算圆面积的主程序为MYMAIN.PRG,子程序为MYSUB.PRG *MYMAIN.PRGCLEARSTORE 0 TO RR, AREADO WHILE .T.INPUT " 请输入圆的半径:" TO RRDO MYSUB WITH RR, AREA? "半径为"+ALLTRIM(STR(RR))+"的圆的面积是:", AREAWAIT "还要继续计算吗(Y/N)?" TO ANSWERIF UPPER(ANSWER)="Y"LOOPELSEEXITENDIFENDDO*MYSUB.PRGPROCEDURE MYSUBPARAMETERS R,SS=PI()*R^2RETURN【例6】程序中常用到计算圆面积、长方形面积、阶乘等,现将它们编为三个过程,放在一个过程文件(MYPROCED.PRG)中,被主程序MYMAIN.PRG调用。

vfp多表查询的例子

vfp多表查询的例子

vfp多表查询的例子全文共四篇示例,供读者参考第一篇示例:Visual FoxPro(VFP)是微软推出的一款结构化查询语言(SQL)和关系数据库管理系统(RDBMS),在数据处理和数据分析方面具有良好的性能和灵活性。

VFP支持多表查询,使用户能够在多个数据表之间进行联合查询,以获取更细致的数据分析结果。

在VFP中,多表查询可以通过使用SQL语句来实现。

SQL语句是一种标准化的数据库查询语言,可以用来访问和操作数据库中的数据。

下面以一个实际案例来介绍VFP多表查询的用法:假设我们有两个数据表,一个是“学生信息表(Student)”,包含学生的姓名、性别和年龄等信息;另一个是“成绩表(Score)”,包含学生的考试科目、考试成绩等信息。

现在我们希望查询每位学生的姓名、年龄和各科成绩的总分,可以通过以下步骤实现:第一步:连接两个数据表在VFP中,我们需要连接两个数据表,以便在查询时能够同时获取学生信息和成绩信息。

可以使用SQL语句中的“JOIN”关键字来实现连接,具体代码如下:```SQLSELECT , Student.Age, SUM(Score.Score) AS TotalScoreFROM StudentJOIN ScoreON Student.ID = Score.StudentIDGROUP BY , Student.Age;```在上面的代码中,我们使用了“SELECT”语句来选择要查询的字段,包括学生的姓名、年龄和总分;使用“JOIN”关键字来连接两个数据表,其中“ON”后面的条件是两个数据表中的关联字段;使用“SUM”函数来计算每位学生的总分;最后使用“GROUP BY”语句来对结果进行分组,以获取每位学生的总分。

第二步:执行查询完成了连接两个数据表和编写查询语句后,我们就可以执行查询了。

在VFP中,可以在查询分析器中输入以上代码并执行,或者将代码嵌入到程序中进行执行。

执行查询后,就可以得到每位学生的姓名、年龄和总分的查询结果。

管理数据库VFP常见编程实例

管理数据库VFP常见编程实例

程序设计实例(一)建立//编辑自由表结构(1)表设计器:(2)命令(3)SQL(二)自由表_ 添加新记录(1)输入框(2)程序*.prg(3)表单*.scx录入李国防同学的信息05001 李国防男05/12/87 营销学598 营销在[E:\ vfp实验] 文件夹中保存一份王码个人简历“李国防简历.txt”文档和一张李国防个人相片“李国防.bmp”。

员工(员工编号 C(4),姓名 C(8),性别 C(2),出生日期 D(8),职务 C(10),工资 N(7,2),简历 M(4),相片 G(4))准备建立一张“员工.dbf”一建立表单1建立form,标签,文本框,单选钮组,组合框,微调框,编辑框,图象框命令按钮2属性设置*.caption=Combo1捆绑数据列表(经理、班长、销售员) 二建立数据环境添加“员工.dbf”三对象事件过程[form_load]:定义公共变量[浏览]:选择员工的相片[添加]:选择当前表“员工.dbf”, 数组元素接收各控件的当前值将数组写入员工.dbf表尾记录[取消]:清除各控件值[退出]:释放表单四运行[form_load]:定义公共变量public p,public array a(7)p=“”[浏览]:选择员工的相片p=getpict()"&p"[添加]:接收各控件的当前值,然后将数组写入员工.dbf表尾记录a(1)=a(2)=Ifa(3)="男"elsea(3)="女"endifcsrq="{^"+"}"a(4)=&csrqa(5)=a(6)= a(7)=select 员工Append from array a fields 员工编号,姓名,性别,出生日期,职务,工资if empty(replace 简历 with a(7) addiendifif empty(p)=.f.append gene 相片 from "&p"endif[取消]:清除各控件值""""""""""P=“”[退出]:释放表单thisform.release(三)记录数据的计算(1)命令:(2)prg程序(3)表单*.scx在VFP系统的默认文件夹中有数据“表”如图,要求统计并显示男同学的人数、总分、平均入学成绩。

vfp最常用代码

vfp最常用代码

登陆界面确认:if ER.value=alltrim(用户表.用户名).and.thisform.PASSWORD.value=alltrim(用户表.密码)do form 主界面.scxrelease thisformelse=messagebox("对不起,用户名或密码错误!",0+56+0,"用户名+密码错误")ER.value=""thisform.PASSWORD.value=""ER.setfocusendif退出:RELEASE THISFORM主程序代码set fweek to 1set mark to '.'set separator to','set point to '.'set talk offset safety offpublic xtbtxtbt="学生信息管理系统"_screen.caption =xtbt_screen.picture="Home.jpg"do form 系统主页release window 常用read events修改密码中确认修改LOCAL jjjj=0for i=1 to 3s="text"+alltrim(str(i))d="label"+alltrim(str(i))if empty(thisform.&s..value)messagebox(thisform.&d..caption+"不能为空",64,"系统提示")thisform.&s..setfocusELSEIF s="text3"jj=1ENDIFENDIFENDFORIF jj=1select 用户表GO toplocate for alltrim(thisform.text1.value)=alltrim(用户名)if found()if alltrim(thisform.text2.value)=alltrim(thisform.text3.value)replace 密码with ALLTRIM(thisform.text2.Value)MESSAGEBOX("密码修改成功",64,"系统提示")thisform.text1.Value=""thisform.text2.Value=""thisform.text3.Value=""thisform.text1.SetFocusELSEMESSAGEBOX("两次输入密码不一致,请重新输入",48,"系统提示")thisform.text2.Value=""thisform.text3.Value=""thisform.text2.SetFocusENDIFELSEMESSAGEBOX("用户名"+ALLTRIM(thisform.text1.Value)+"不存在,请确认重新输入",48,"系统提示")thisform.text1.setfocusthisform.text1.SelStart=0thisform.text1.SelLength=LEN(ALLTRIM(thisform.text1.Value))thisform.text2.Value=""thisform.text3.Value=""ENDIFENDIF返回do form 功能选项.scxrelease thisform运动的时间代码bel1.Caption = TtoC(datetime())数据维护首记录go topthisform.refresh上一个skip-1if bof()messagebox("hehe,已到文件头",48)endifthisform.refresh下一个skip+1if eof()messagebox("hehe,已到文件尾",48)endifthisform.refresh未记录go bottomthisform.refresh增加append blankgo bottomthisform.refresh删除if messagebox("确实要删除吗?",1,"提示!")=1 deletepackendifthisform.refresh关闭release thisform预订信息查询locate all for bo1.value=预定表.客户中文名thisform.text1.value=预定表.预订名称thisform.text2.value=预定表.性别thisform.text3.value=预定表.住客籍贯thisform.text4.value=预定表.预定时间thisform.text5.value=预定表.房间类型thisform.text6.value=预定表.入住时间thisform.text7.value=预定表.离开时间thisform.text8.value=预定表.预订数量thisform.text9.value=预定表.住客总人数thisform.text10.value=预定表.确认方式thisform.text11.value=预定表.预付方式thisform.text12.value=预定信息表.预付款thisform.text13.value=预定信息表.应付款thisform.text14.value=预定信息表.差额thisform.text15.value=预定表.联系方式房间信息查询locate all for bo1.value=房间信息表.房间号thisform.text1.value=房间信息表.房间号thisform.text2.value=房间信息表.房间类型thisform.text3.value=房间信息表.单价你要做什么入住do form 登记表单.scxrelease thisform预定do form 预定表单.scxrelease thisform退出do form 主界面.scxrelease thisformtime1i=int(rand()*255)j=int(rand()*255)k=int(rand()*255)bel1.forecolor=rgb(i,j,k)2if bel1.left+bel1.width>432 thisform.timer2.enabled=.f.thisform.timer3.enabled=.t.elsebel1.left=bel1.left+2 endif3if bel1.left<12thisform.timer3.enabled=.f.thisform.timer2.enabled=.t.elsebel1.left=bel1.left-2 endifi=int(rand()*255)j=int(rand()*255)k=int(rand()*255)bel1.forecolor=rgb(i,j,k)bel17.forecolor=rgb(i,j,k) bel18.forecolor=rgb(i,j,k) bel19.forecolor=rgb(i,j,k) bel20.forecolor=rgb(i,j,k) bel21.forecolor=rgb(i,j,k)i=int(rand()*255)j=int(rand()*255)k=int(rand()*255)bel1.forecolor=rgb(i,j,k)用两个时间控制一个字bel2.forecolor=rgb(255,0,0)bel2.forecolor=rgb(0,0,255)向下移动i=i+1if bel1. left+100>860bel1. left=100bel1 .top=100elsebel1. left=thisform .label1 .left+20 bel1.top=bel1.top+20endifif alltrim (thisform.text1.value)=="张三"if thisform.text2.value="123456"bel4.caption="欢迎使用该系统"elsebel4.caption="用户名或密码有误" endifendif放大字体bel2.fontsize=bel2.fontsize+2 变红bel2.forecolor=RGB(255,0,0)注册locate all for alltrim(Mima.Yhm)=alltrim(thisform.text1.text) close allquit。

vfp total命令范例

vfp total命令范例

vfp total命令范例
VFP(Visual FoxPro)是一种面向对象的编程语言和集成式开发环境,用于创建数据库应用程序和桌面应用程序。

在VFP中,TOTAL命令用于计算指定字段的合计值。

以下是一个简单的VFP TOTAL命令的范例:
假设我们有一个名为Sales.dbf的数据库文件,其中包含了一个名为Amount的字段,表示销售额。

我们想要计算Amount字段的总和,并将结果显示在屏幕上。

我们可以使用以下代码来实现:
foxpro.
USE Sales && 打开Sales.dbf文件。

TOTAL ON Amount && 计算Amount字段的总和。

以上代码中,首先使用USE命令打开Sales.dbf文件,然后使用TOTAL命令计算Amount字段的总和。

在这个例子中,TOTAL命令
会计算Amount字段所有记录的总和,并将结果显示在屏幕上。

除了简单的范例之外,我们还可以通过TOTAL命令的不同选项和参数来实现更复杂的计算。

例如,可以通过WHERE子句指定条件来计算特定条件下的合计值,也可以使用FOR子句指定需要计算的记录范围。

总之,VFP的TOTAL命令可以帮助我们在数据库中进行字段值的合计计算,从而方便我们进行数据分析和报表生成等操作。

希望这个范例能够帮助你更好地理解和使用VFP的TOTAL命令。

vfp编写简单程序

vfp编写简单程序

vfp编写简单程序以VFP编写简单程序Visual FoxPro(简称VFP)是一种基于对象和事件驱动的编程语言,常被用于开发数据库应用程序。

本文将介绍如何使用VFP编写一个简单的程序。

我们需要打开VFP的集成开发环境(IDE),然后创建一个新的项目。

在项目中,我们可以创建新的表格、表单和报表来存储和显示数据。

对于本文的程序,我们将创建一个新的表格来存储学生的基本信息。

在VFP中,我们可以使用CREATE TABLE语句来创建一个新的表格。

例如,我们可以创建一个名为“Students”的表格,包含学生的姓名、年龄和性别等字段。

代码如下:CREATE TABLE Students (Name C(50),Age N(2),Gender C(10))接下来,我们可以使用INSERT INTO语句向表格中添加学生的信息。

例如,我们可以插入一条名为“John”的学生记录,年龄为18岁,性别为男。

代码如下:INSERT INTO Students (Name, Age, Gender) VALUES ("John", 18, "Male")现在,我们已经创建了一张表格,并向其中添加了一条记录。

接下来,我们可以使用SELECT语句来查询表格中的数据。

例如,我们可以查询所有学生的信息,并按照姓名的字母顺序进行排序。

代码如下:SELECT * FROM Students ORDER BY Name通过以上代码,我们可以获取所有学生的信息,并按照姓名的字母顺序进行排序。

在VFP中,我们可以使用GRID控件来显示查询结果。

代码如下:CREATE FORM StudentFormADD OBJECT StudentGrid AS GRIDWITH ;Left = 10, ;Top = 10, ;Width = 400, ;Height = 300StudentGrid.RecordSource = "SELECT * FROM Students ORDER BY Name"MODIFY FORM StudentForm NOWAIT通过以上代码,我们创建了一个名为“StudentForm”的表单,并在表单中添加了一个GRID控件。

vfp数据库程序设计程序示例

vfp数据库程序设计程序示例

vfp数据库程序设计程序示例如何进行VFP数据库程序设计的示例。

请注意,vfp数据库是Visual FoxPro数据库的缩写。

第一步:理解VFP数据库编程的基础知识在进行VFP数据库程序设计之前,我们需要先理解VFP数据库编程的基础知识。

VFP数据库是一种关系型数据库,它使用表格来组织和管理数据。

每个表格包含一系列的字段,并且可以在表格之间建立关系。

VFP数据库还支持SQL查询语言,可以方便地查询和操作数据。

第二步:创建数据库在VFP中创建数据库非常简单。

首先,打开VFP软件,在菜单栏中选择"数据库",然后选择"新建"。

接下来,为数据库指定一个名称,选择保存位置,并点击"确定"。

数据库创建成功后,我们可以在VFP软件中看到它的图标。

第三步:创建表格在VFP数据库中,表格用于存储和管理数据。

要创建一个表格,首先确保数据库窗口处于活动状态。

然后,在数据库窗口中右键单击,选择"新建",然后选择"表格"。

接下来,为表格指定一个名称,并定义字段。

在每个字段中,我们可以定义字段名称、字段类型、字段长度以及其他属性。

创建完所有字段后,点击"确定" 完成表格创建。

第四步:插入数据在VFP数据库中插入数据十分简单。

首先,双击要插入数据的表格,打开表格编辑窗口。

然后,在表格编辑窗口中,点击"插入"按钮。

接下来,输入要插入的数据,每个字段占一列,然后点击"确定" 完成数据插入。

可以重复这个过程,插入更多的数据。

第五步:查询数据VFP数据库支持使用SQL查询语言来查询和操作数据。

在VFP软件中的菜单栏中选择"工具",然后选择"查询",打开查询编辑器。

在查询编辑器中,我们可以输入SQL查询语句。

例如,要查询某个表格中所有记录的所有字段,可以使用以下SQL查询语句:"SELECT * FROM table_name"。

VFP案例12(SQL命令1)

VFP案例12(SQL命令1)

结构化查询语言及应用SQL集数据定义、数据操纵、数据控制的功能于一体。

数据定义用于对基本表、视图及索引文件的定义、修改、删除等操作。

数据操纵用于对数据库中的数据进行查询、插入、删除、修改等数据维护操作。

数据控制用于实现对基本表和视图的授权,事务控制等操作。

数据定义把VFP的默认目录设置为“VFP案例12(SQL命令1)”文件夹,然后完成下列操作。

●表的定义与删除,表结构的修改CREATE DATABASE stud&& 建立“stud”数据库CREATE TABLE学生(sno C(10) PRIMARY KEY,sname C(20),;ssex c(2) CHECK ssex="男" OR ssex="女" ERROR "ssex只能是男或女",;sbirth D,major c(20))&& 建立“学生”表CREATE TABLE 课程(cno C(3) PRIMARY KEY,;cname C(20),ccredit I, tno C(4) ,cpno C(3))&& 建立“课程”表DROP TABLE 课程&& 删除“课程”表ALTER TABLE 学生 ADD class C(16) DEFAULT "计算机161" && 增加“class”字段ALTER TABLE 学生 ALTER classC(20) && 修改“class”字段的宽度ALTER TABLE 学生 RENAME major TO specialty&& 将“major”字段换名为“specialty”ALTER TABLE学生DROPclass&& 删除“class”字段数据查询单表查询SELECTsname,ssex FROM studentSELECT * FROMcourseSELECTsno,sname,YEAR(DATE())-YEAR(sbirth) FROMstudentSELECTsno,sname,YEAR(DATE())-YEAR(sbirth) ASsage FROMstudentSELECT sno FROMscoreSELECTDISTINCTsno FROMscore数据查询语句中的WHERE子句用来将表中满足条件的记录从表中筛选出来,使用时在WHERE的后面跟上条件。

VF常用编程命令及常用函数

VF常用编程命令及常用函数

VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号“[]”括起来的词句,表示可以不用。

常用命令假设(if...endif) 循环(dowhile...enddo)分支(do case...endcase)赋值(store...to) 调用表单(do form) 调用子程序(do)返回调用程序(return) 启动事件处理(readevents)清除事件处理(clearevents)开关命令执行状态(set talkon/off)结束程序(cancel)常用函数数值转换字符(str()) 字符转换数值(val()) 取系统日期(date())取年份(year()) 取月份(month()) 取天日(day())取整(int()) 四舍五入(round()) 删除标记(delete())记录号(recno()) 记录数(reccount()) 找到记录(found())表结尾(eof()) 表开头(bof()) 消除后续空格(trim())消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。

语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。

备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。

then可以有也可以没有,对程序没有影响。

else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。

if 与endif必须配对使用,即有一个 if 必须有一个endif,否则程序会出错。

举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。

程序如下:if 分数>=90replace 等级 with '优'displayendif例2:在数据库中可以把性别字段设为逻辑型,“真”代表“男”,“假”代表“女”,但显示时不能显示真、假,否则别人看不懂,而应显示男、女,因此我们设一变量xb,根据性别字段的具体值,将xb的值设为男或女,然后在需要的时候显示xb的值即可。

VFP常见编程实例

VFP常见编程实例

VFP常见编程实例VFP常见编程实例1、1-100的累加** 求1到100的累加值CLEARs=0i=1DO WHILE i<=100s=s+ii=i+1 &&一定记住先累加后循环ENDDO sRETURN2、阶乘** 求5的阶乘CLEARj=1i=1DO WHILE i<=5j=j*ii=i+1ENDDOjRETURN3、求阶乘和** 求1至5的阶乘和CLEARs=0i=1j=1DO WHILE i<=5j=j*is=s+ji=i+1ENDDOsRETURN4、条件定位** 查询定位记录指针在赵伟上CLEARUSE 学生LOCATE FOR 姓名="赵伟"IF FOUND()DISPLAYELSECANCELENDIFCONTINUE5、用scan语句查询定位** 用scan语句查询定位记录在赵伟上CLEARSCAN FOR 姓名="赵伟"DISPLAYENDSCANRETURN6、用scan语句扫描符合条件的记录,并显示出来** 把年龄小于30岁的人显示出来CLEARSCAN FOR 年龄<30DISPLAYENDSCANRETURN7、查找男性职工** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE FOUND()DISPLAYCONTINUEENDDORETURN** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE NOT EOF()DISPLAYCONTINUERETURN** 查找男性职工CLEARUSE 职员基本信息表LOCATE FOR 性别="男"DO WHILE .t.IF FOUND() thenDISPLAYELSE &&记住最后一个ELSE语句后面不需要条件表达式CANCELENDIFCONTINUEENDDO** 查找男性职工set talk offclearopen database 家庭成员管理.dbcuse stu.dbfscan for not eof()if xb="女"skipelsedisplayskipendifendscanclose databaseuseset talk onreturn8、新值换旧值** 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?clearstore 1 to a,bi=3do while i<=12c=a+ba=bi=i+1enddo"一年共出生兔子:",creturn9、多位整数各个位数相加** 求多位整数各个位数之和CLEARs=0input "请输入一个多位整数:" to aDO WHILE a<>0s=s+MOD(a,10) &&将a取余正好是个位上的数a=INT(a/10) &&将a除10取整正好是除个位之后的数ENDDO "这个整数的各个位数之和是:",sRETURN10、找100-999之间的“水仙花数”CLEARFOR i=100 TO 999a=INT(i/100)b=INT((i-100*a)/10)c=i-INT(i/10)*10IF i=a^3+b^3+c^3iENDIFENDFORRETURN11、判断一个大于3的数是否为素数CLEARinput "请输入一个数(>=3):" to sf=0i=2DO WHILE i<=INT(SQRT(s))IF MOD(s,i)<>0i=i+1LOOPELSEf=1EXITENDIFENDDOIF f=0str(s,3)+"是素数"ELSE f=1 &&这个表达式可有可无,为了省事完全省略也可以。

1-精选VFP常见编程实例-答案

1-精选VFP常见编程实例-答案

精选VFP常见编程实例-答案1、1-100的累加求1到100的累加值CLEARs=0i=1DO WHILE i<=100s=s+ii=i+1 &&一定记住先累加后循环ENDDOsRETURN2、阶乘求5的阶乘CLEARj=1i=1DO WHILE i<=5j=j*ii=i+1ENDDOjRETURN3、求阶乘和求1至5的阶乘和CLEARs=0i=1j=1DO WHILE i<=5j=j*is=s+ji=i+1ENDDOsRETURN4、条件定位查询定位记录指针在赵伟上CLEARUSE 学生LOCATE FOR 姓名="赵伟"IF FOUND()DISPLAYELSECANCELENDIFCONTINUE5、用scan语句查询定位用scan语句查询定位记录在赵伟上CLEARSCAN FOR 姓名="赵伟"DISPLAYENDSCANRETURN6、用scan语句扫描符合条件的记录,并显示出来把年龄小于30岁的人显示出来CLEARSCAN FOR 年龄<30DISPLAYENDSCANRETURN7、查找男性职工查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE FOUND()DISPLAYCONTINUEENDDORETURN查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE NOT EOF()DISPLAYCONTINUEENDDORETURN查找男性职工CLEARUSE 职员基本信息表LOCATE FOR 性别="男"DO WHILE .t.IF FOUND() thenDISPLAYELSE&&记住最后一个ELSE语句后面不需要条件表达式CANCELENDIFCONTINUEENDDO查找男性职工set talk offclearopen database 家庭成员管理.dbcuse stu.dbfscan for not eof()if xb="女"skipelsedisplayskipendifendscanclose databaseuseset talk onreturn8、新值换旧值有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?clearstore 1 to a,bi=3do while i<=12c=a+ba=bb=ci=i+1enddo"一年共出生兔子:",creturn9、多位整数各个位数相加CLEARs=0input "请输入一个多位整数:" to aDO WHILE a<>0s=s+MOD(a,10) &&将a取余正好是个位上的数a=INT(a/10) &&将a除10取整正好是除个位之后的数ENDDO"这个整数的各个位数之和是:",sRETURN10、找100-999之间的“水仙花数”CLEARFOR i=100 TO 999a=INT(i/100)b=INT((i-100*a)/10)c=i-INT(i/10)*10IF i=a^3+b^3+c^3?iENDIFENDFORRETURN11、判断一个大于3的数是否为素数CLEARinput "请输入一个数(>=3):" to sf=0i=2DO WHILE i<=INT(SQRT(s))IF MOD(s,i)<>0i=i+1LOOPELSEf=1EXITENDIFENDDOIF f=0?str(s,3)+"是素数"ELSE f=1&&这个表达式可有可无,为了省事完全省略也可以。

VFP趣味编程

VFP趣味编程

(一)古代一个王国的公主爱上了花匠。

公主要出嫁按传统要用抛绣球的方式选择附马。

花匠就给公主献了个对策。

婚日来临,人群拥挤,主持人叫求婚者排成一行,花匠在队列外数了数,共有101个人,于是他找了个适当的位置也站在了队伍中。

主持人喊1、2,1、2地报数,报单数的退出场外;余下的人靠拢又成一行,再重新1、2,1、2地报数,报单数的退出场外;如此下去最后只剩一下,公主便嫁给谁。

当然,最后剩下的是花匠。

请问花匠站在原队伍中的哪一个位置?算法分析:求婚的总人数是102人;第一遍报数后,退出场的是1,3,5,7...共51人,也就是2的0次方分别乘以1,3,5...;第二遍报数后,退出场的是原队伍中的2,6,10.. 即2的1次方分别乘1,3,5;第三遍报数后,退出场的就是2的2次方分别乘以1,3,5.. 所以,源程序ex11_1.prg如下:SET TALK OFFCLEACLEA ALLrs=102DIME a(rs)FOR i=1 TO rsa(i)=iENDFORSTOR 0 TO ip,NDO WHILE .T.k=0FOR i=1 TO rsIF a(i)=0LOOPENDIFk=k+1IF k=INT(k/2)*2LOOPENDIFm=a(i)a(i)=0N=N+1ENDFORIF N=rs? "共报了"+STR(ip)+ ;"次数,花匠站在原队伍第"+ ;STR(m)+"个位置"RETUENDIFip=ip+1ENDDORETU(二)任意一个大于10的自然数,减去它的各位数之和,在所得的差中,随意圈去某位不等于零的数字,只告诉你没有被圈去的数字,就能知道被圈去数字是几。

分析:以四位数为例,设四位数abcd用多项式来表示为1000a+100b+10c+d;减去各位数之和,即减去a+b+c+d;所得的差是999a+99b+9c=9(111a+11b+c),所以这个差一定是9的倍数。

vfp例子

vfp例子

1.建立学生、课程和成绩信息的输入界面,如图1、图2和图3所示。

图1 学生表记录输入界面1)学生表记录输入界面说明●单击“添加”按钮,将各文本框等控件的内容清空;THISFORM.TEXT3.VALUE=CTOD(" / / ")THISFORM.TEXT4.VALUE=000.00THISFORM.TEXT1.SETFOCUSTHISFORM.REFRESH●单击“保存”按钮,将各文本框内容存入学生表中。

该表单的数据环境中引入了学生.DBF。

APPE BLANKREPL 学号 WITH THISFORM.TEXT1.VALUEREPL 姓名 WITH THISFORM.TEXT2.VALUEREPL 性别 WITH THISFORM.CHECK1.VALUEREPL 出生年月 WITH THISFORM.TEXT3.VALUEREPL 简历 WITH THISFORM.EDIT1.VALUEREPL 奖学金 WITH THISFORM.TEXT4.VALUETHIS.ENABLED=.F.THISFORM.SETALL("VALUE","","TEXTBOX")THISFORM.CHECK1.VALUE=.F.THISFORM.EDIT1.VALUE=""MAND1.SETFOCUS成绩表记录输入界面2)成绩表记录输入界面说明●表单初始运行时,“姓名”和“课程名”不可见;●当在“学号”或“课程号”列表框中选择某一值时,其相应的“姓名”或“课程名”显示在表单右侧;●该表单的数据环境中引入了学生.DBF、课程.DBF和成绩.DBF,组合框“COMBO1”和“COMBO2”的“STYLE”属性设为“1-下拉列表框”,“ROWSOURCETYPE”属性设为“6-字段”,“ROWSOURCE”属性分别设为“学生.学号”和“课程.课程号”。

VFP案例源代码

VFP案例源代码

VFP第二周案例—登录窗口源代码一、创建“登录”表单建立“学生管理系统登录窗口”表单,如图所示。

功能:连接到数据库中“口令”表验证用户名和密码,对输入情况做判定,并做相应提示,验证成功,提示等待下次程序制作。

图4-15 学生管理系统登录窗口设置步骤如下:1.在“项目管理器”的“文档”选项中选择“表单”,单击“新建”按钮,弹出“新建表单”对话框,单击“新建表单”按钮,弹出表单设计器。

2.在表单中添加3个标签,2个文本框,2个命令按钮。

各控件主要属性修改如下:1).表单form1:Caption属性:学生管理系统。

2).标签Label1:Caption属性:学生管理系统登录窗口;Forecolor属性:0, 255,0;Fontsize属性:20;Fontbold属性:.T。

3).标签Label2:Caption属性:用户名:;Fontsize属性:16;Fontbold属性:.T。

4).标签Label3:Caption属性:密码:;Fontsize属性:16;Fontbold属性:.T。

5).命令按钮command1:Caption属性:确认;Fontsize属性:16;Fontbold属性:.T。

6).命令按钮command2:Caption属性:退出;Fontsize属性:16;Fontbold属性:.T。

7).文本框text1:Fontsize属性:16;Fontbold属性:.T。

8).文本框text2:passwordchar属性:*;Fontsize属性:16;Fontbold属性:.T。

二、将欢迎窗口与登录窗口连接双击“进入”按钮,写入下列代码:(右边部分是注释)do form 登录.scx &&进入登录窗口thisform.release &&关闭本窗口双击“退出”按钮,写入下列代码:ask=messagebox("确定要退出系统吗?",4+32+256,"学生管理系统")if ask=6close allquitelseendif三、创建学生管理数据库,保存在本项目文件夹内db文件夹下单击“项目管理器”中的“数据”选项,选中数据库,单击“新建”按钮,在如图示的“新建数据库”话框中单击“新建数据库”按钮,在“创建”对话框中输入数据库文件名“学生管理”并确定数据库路径单击“保存”。

vfp数据库程序设计程序示例 -回复

vfp数据库程序设计程序示例 -回复

vfp数据库程序设计程序示例-回复如何进行VFP数据库程序设计。

VFP(Visual FoxPro)是由微软公司开发的一个关系数据库管理系统,它混合了关系型数据库管理系统(RDBMS)和面向对象编程语言的特点。

VFP具有强大的数据处理和分析能力,是一个非常适合用于开发中小型企业数据库应用的工具。

在本文中,我们将一步一步地介绍如何进行VFP数据库程序设计。

首先,我们需要定义数据库的结构。

一个数据库由多个表组成,每个表由多个字段组成。

字段定义了表中存储的数据类型和长度。

在VFP中,我们可以使用CREATE TABLE语句来创建表。

例如,我们要创建一个存储学生信息的表,需要包含学生姓名、性别、年龄等字段。

我们可以使用以下代码来创建表:CREATE TABLE Student (Name CHAR(50),Gender CHAR(10),Age INT)接下来,我们可以向表中插入数据。

在VFP中,我们可以使用INSERT INTO 语句来插入一条记录。

例如,我们可以使用以下代码向Student表中插入一条学生记录:INSERT INTO Student (Name, Gender, Age) VALUES ('张三', '男', 18)除了插入一条记录,我们还可以使用INSERT INTO语句一次插入多条记录。

例如,我们可以使用以下代码一次性插入三条学生记录:INSERT INTO Student (Name, Gender, Age) VALUES('张三', '男', 18),('李四', '女', 20),('王五', '男', 19)接下来,我们可以使用SELECT语句从表中检索数据。

SELECT语句用于从表中选择需要的字段和记录。

例如,我们可以使用以下代码从Student 表中选择所有学生记录:SELECT * FROM Student此外,我们还可以使用WHERE子句来设置条件,过滤出符合特定条件的记录。

vfp delete file 变量

vfp delete file 变量

vfp delete file 变量全文共四篇示例,供读者参考第一篇示例:Visual FoxPro(VFP)是一种基于对象的编程语言和集成开发环境,被广泛用于数据库管理和应用程序开发。

在VFP中,可以使用DELETE FILE命令来删除文件,而变量则是VFP中非常常用的数据类型之一。

本文将探讨如何在VFP中使用DELETE FILE命令来删除文件并结合变量进行操作。

在VFP中,DELETE FILE命令用于删除指定的文件。

语法如下:DELETE FILE FileNameFileName是要删除的文件的名称,可以是完整的文件路径。

如果要删除一个名为data.txt的文件,可以使用以下命令:DELETE FILE "C:\Data\data.txt"在实际应用中,可能会需要动态地删除文件,而不是固定的文件名。

这时就可以利用变量来存储文件名,并将变量传递给DELETE FILE 命令来实现删除文件的操作。

在VFP中,可以使用以下语法来声明和初始化一个变量:Local FileNameFileName = "C:\Data\data.txt"这样就可以实现根据变量值来删除文件的操作。

使用变量的好处是可以使代码更具有灵活性,可以动态地处理文件,而不需要硬编码文件名。

除了DELETE FILE命令外,VFP还提供了其他一些与文件操作相关的命令和函数,比如COPY FILE、FILE、FCREATE等。

这些命令和函数可以帮助我们更方便地进行文件的创建、复制、移动和删除等操作。

需要注意的是,在删除文件之前,最好先做好文件备份以免操作失误导致数据丢失。

在操作文件时也要注意文件的权限,确保有足够的权限来删除文件。

VFP中的DELETE FILE命令可以帮助我们方便地删除文件,而结合变量可以使我们更灵活地处理文件操作。

希望本文对您有所帮助,谢谢!第二篇示例:VFP(Visual FoxPro)是一种面向对象的数据库编程语言,主要用于Windows操作系统下的数据库管理和应用程序开发。

Vfp常用实例

Vfp常用实例

Vfp常用实例◆文字滚动的效果在表单添加一个计时器,把计时器INTERV AL设为30如要走动的文字在标签1也就是LABLE1,在计时器的timer里写下如果代码:if bel1.left+bel1.width=0bel1.left=thisform.widthelsebel1.left=bel1.left-1endif此时,LABLE1的文字将从右到左不停的走动,这时,如果要加一些效果,比如说是文字让它变颜色,一直闪烁的话。

可以再加“文字闪烁的效果”里的代码,两者结合,效果很好。

◆文字闪烁的效果假设要闪烁的标签文字在Label1上。

在表单添加一个计时器设Interval的值为30。

在表单的Alwaysontop也就是表单属性的第一个值里声明变量,代码为:Public II=0在计时器Timer1的Timer写下代码i=i+10if i>=255*2thisform.timer1.enabled=.t.i=0endifif i>=255bel1.forecolor=RGB(255*2-i,50,110)elsebel1.forecolor=RGB(i,80,170)endif打开表单,就会出现文字闪烁了,如果你有兴趣,试试看◆密码的设置在表单中添加两个文本框,text1为用户名;text2为密码,添加两个命令按钮,设为确定和取消,数据表的结构两个字段:(name *用于存放用户名)和(mm *用于存放密码)在确定按钮的click事件写入if thisform.text1.value="".or.thisform.text2.value=""=messagebox ("用户名或密码不能为空!",0+48,"警告!")elsesele 1use shujubiao\yonfu.dbfif name=allt(thisform.text1.value).and.mm=all(thisform.text2.value)usethisform.text1.value=" "thisform.text2.value=" "wait"登陆成功,正在加载数据,等稍等" time 2 windowsthisform.visible=.f.thisform.releaseclose alldo form zym.scx *写入您要执行的表单elseusemessagebox("用户名或密码错误,请重新输入!",0+48,"警告!")thisform.text1.value=" "thisform.text2.value=" "endifendif在取消按钮的click写入close allthisform.release确记啊,不能把“确定”按钮设为Enter的模式,如果设定后,启动表单时,可是不用输入密码直接按确定就可以进入了。

vfp常见20道编程题

vfp常见20道编程题

vfp常见20道编程题VFP常见20道编程题1、求解AX^2 BX C=0的根、其中A、B、C三个参数由键盘输入。

一元二次方程的求根公式是:X=-b±√b2-4ac/2acleartext一元二次方程求解ax^2 +bx+ c=0endtextinput '请输入a的值:' to ainput '请输入b的值:' to binput '请输入c的值:' to cm=b*b-4*a*cif m>=0x1=(-b sqrt(m))/(2*a)x2=(-b-sqrt(m))/(2*a)'x1的值是:',x1'x2的值是:',x2else'此方程无实根!'endif2、编写程序将1-100之间所有能被7和3整除的整数输出clearfor i=1 to 100if i%3=0 and i%7=0iendifendfor3、编写程序计算e,e的近似值计算公式为:e=1 1/1! 1/2! 1/3! ... 1/n!,直到1/n!<0.000001为止e=1n=1do while .t.k=1for i=1 to nk=k*iendform=1/ke=e mif m<0.000001exitendifn=n 1enddo'e=1 1/1! 1/2! 1/3! … 1/n!=',e4、编写程序,计算1!2!3! .......N!=?clearinput '请输入n的值:' to ns=0t=1for i=1 to nt=t*is=s tendfor'1!2!3! .......N!=',s5、从键盘输入十个数,将它们进行降序排列。

clear dime a(10)for i=1 to 10input '请输入一个数:' to a(i)'降序排列为:'for i=1 to 9for j=i 1 to 10if a(i)<a(j)< p="">k=a(i)a(i)=a(j)a(j)=kendifendforalltrim(str(a(i))) ' 'endforalltrim(str(a(i)))6、(1)输出有*号组成的图形:*************************clearfor i=-3 to 3space(abs(i))for j=1 to 7-abs(i)*2 ??'*' endforendfor(2)********************clearfor i=1 to 5space(5-i)for j=1 to 2*i-1 ??'*'endforendfor7、编写一个程序产生一个有20项的Fibonacci数列并输出。

vfp中的str函数

vfp中的str函数

vfp中的str函数VFP中的STR函数是一种非常有用的函数,它能够将其他数据类型转换为字符串类型。

这在编程中经常会遇到,尤其是在数据处理和输出结果时。

下面我将通过几个实例来展示STR函数的用法和效果。

我们可以使用STR函数将数值型数据转换为字符串类型。

比如,我们有一个变量nAge,它的值为30,我们可以使用STR(nAge)将其转换为字符串类型。

这样,我们就可以将其输出或者拼接到其他字符串中。

例如,我们可以使用以下代码将nAge和其他信息拼接成一个完整的字符串:```nAge = 30cInfo = "我的年龄是:" + STR(nAge)cInfo && 输出结果为:“我的年龄是:30”```除了数值型数据,STR函数还可以用于其他数据类型的转换。

比如,我们可以将日期型数据转换为字符串类型。

假设我们有一个日期变量dDate,其值为{^2023-01-01},我们可以使用STR(dDate)将其转换为字符串类型。

同样,我们可以将其输出或者与其他字符串拼接。

```dDate = {^2023-01-01}cInfo = "今天是:" + STR(dDate)cInfo && 输出结果为:“今天是:2023-01-01”```除了基本的数据类型转换,STR函数还可以用于格式化字符串输出。

比如,我们可以使用STR函数将一个数值型变量转换为指定小数位数的字符串。

假设我们有一个数值变量nPrice,其值为99.99,我们可以使用STR(nPrice, 2)将其转换为保留两位小数的字符串。

```nPrice = 99.99cPrice = STR(nPrice, 2)"商品价格为:" + cPrice && 输出结果为:“商品价格为:99.99”```除了基本的用法,STR函数还有一些特殊的功能,比如可以指定字符串的长度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VFP常见编程实例1、1-100的累加** 求1到100的累加值CLEARs=0i=1DO WHILE i<=100s=s+ii=i+1 &&一定记住先累加后循环ENDDO?sRETURN2、阶乘** 求5的阶乘CLEARj=1i=1DO WHILE i<=5j=j*ii=i+1ENDDO?jRETURN3、求阶乘和** 求1至5的阶乘和CLEARs=0i=1j=1DO WHILE i<=5j=j*is=s+ji=i+1ENDDO?sRETURN4、条件定位** 查询定位记录指针在赵伟上CLEARUSE 学生LOCATE FOR 姓名="赵伟"IF FOUND()DISPLAYELSECANCELENDIFCONTINUE5、用scan语句查询定位** 用scan语句查询定位记录在赵伟上CLEARSCAN FOR 姓名="赵伟"DISPLAYENDSCANRETURN6、用scan语句扫描符合条件的记录,并显示出来** 把年龄小于30岁的人显示出来CLEARSCAN FOR 年龄<30DISPLAYENDSCANRETURN7、查找男性职工** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE FOUND()DISPLAYCONTINUEENDDORETURN** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE NOT EOF()DISPLAYCONTINUERETURN** 查找男性职工CLEARUSE 职员基本信息表LOCATE FOR 性别="男"DO WHILE .t.IF FOUND() thenDISPLAYELSE &&记住最后一个ELSE语句后面不需要条件表达式CANCELENDIFCONTINUEENDDO** 查找男性职工set talk offclearopen database 家庭成员管理.dbcuse stu.dbfscan for not eof()if xb="女"skipelsedisplayskipendifendscanclose databaseuseset talk onreturn8、新值换旧值** 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?clearstore 1 to a,bi=3do while i<=12c=a+ba=bi=i+1enddo?"一年共出生兔子:",creturn9、多位整数各个位数相加** 求多位整数各个位数之和CLEARs=0input "请输入一个多位整数:" to aDO WHILE a<>0s=s+MOD(a,10) &&将a取余正好是个位上的数a=INT(a/10) &&将a除10取整正好是除个位之后的数ENDDO?"这个整数的各个位数之和是:",sRETURN10、找100-999之间的“水仙花数”CLEARFOR i=100 TO 999a=INT(i/100)b=INT((i-100*a)/10)c=i-INT(i/10)*10IF i=a^3+b^3+c^3?iENDIFENDFORRETURN11、判断一个大于3的数是否为素数CLEARinput "请输入一个数(>=3):" to sf=0i=2DO WHILE i<=INT(SQRT(s))IF MOD(s,i)<>0i=i+1LOOPELSEf=1EXITENDIFENDDOIF f=0?str(s,3)+"是素数"ELSE f=1 &&这个表达式可有可无,为了省事完全省略也可以。

一般最后一个ELSE语句后面不需要表达式?str(s,3)+"不是素数"ENDIFRETURN12、求一个班级每个学生的平均成绩** 计算一个班级共三十名学生,每位学生5门功课的平均成绩CLEAR && 清屏DIMENSION x(30,5) && 定义一个数组变量,r为学生数,i为功课数r=1 && 给30个学生的计数变量r赋初值1DO WHILE r<=30 && 循环30次,以计算出30个学生的平均成绩s=0 && 为学生一门功课成绩赋初值0i=1 && 为五门功课计数变量赋初值1DO WHILE i<=5 && 为一个学生的五门功课成绩累加5次input "请输入学生的成绩" to x(r,i)s=s+x(r,i) && 成绩累加i=i+1 && 功课累加ENDDO && 返回内循环?"这名学生的平均成绩是:",s/5 && 显示平均成绩r=r+1 && 学生累加ENDDO && 返回外循环13、计算圆的面积* 计算圆的面积程序CLEARinput "请输入半径的值" to rinput "请输入pi的值" to pis=pi*r^2?"圆的面积是",sRETURN14、将小写字母转换为大写字母NOTE 请将任意输入的一个小写字母转换成大写字母,也就是upper()函数的程序实现CLEAR && 请屏WAIT "请输入一个小写字母" to x && 交互式输入一个小写字母k=ASC(x) && 将小写字母的ASC码赋值给变量KIF k>=97 AND k<=122 then && 97是小写字母a的ASC码值,122是小写字母z的ASC码值?x,"的大写字母是",CHR(k-32) && 输出大写字母.chr函数是ASC码所对应的字符ELSEWAIT "您输入的不是小写字母" WINDOW TIMEOUT 5cancelENDIFRETURN && 返回到调用程序15、找出最大数和最小数CLEARinput "请输入一个数:" to xSTORE x TO ma,miFOR i=2 TO 10 &&因为已经输入一个数X,所以循环次数只有9次input "请输入一个数:" to xIF ma<x && ma是变量中存的数,x是刚输入的数ma=xENDIFIF mi>xmi=xENDIFENDFOR?"最大数是:",ma?"最小数是:",miRETURN16、绝对值函数的实现** 绝对值函数的实现CLEARinput "请输入一个数值" to nIF n>=0?nELSE?-nENDIFCANCEL17、绝对值函数实现的另一种方法** 绝对值函数和另一种实现方法CLEARinput " 请输入一个数值" to n?IIF(n>=0,n,-n)CANCEL18、输出成绩等级** 用DO CASE语句实现:CLEARinput "请输入一个成绩" to cjDO caseCASE cj>=90dj="优秀"CASE cj>=80dj="良好"CASE cj>=60dj="合格"OTHERWISEdj="不合格"ENDCASE?djRETURN**用IF语句实现:set talk offclearinput "请输入一个成绩:" to sif s>=90grade="优秀"elseif s>=80grade="良好"elseif s>=60grade="及格"elsegrade="不及格"endifendifendif?ltrim(str(s))+"分对应的等级是:"+grade set talk onreturn19、求一名学生的平均成绩** 求一个学生5门功课的平均成绩CLEARs=0i=1DO WHILE i<=5input "请输入各门功课的成绩" to xs=s+xi=i+1ENDDO?s/520、用数组的方法,计算一个学生的平均成绩** 用数组保存一个学生五门功课的成绩,然后再计算机其平均成绩CLEARDIMENSION x(5)s=0i=1DO WHILE i<=5input "请输入各门功课的成绩" to x(i)s=s+x(i)i=i+1ENDDO?s/5RETURN21、用do case语句实现符号函数的功能** 请输入一个数,当这个数是负数,就返回-1,当这个数是零,就返回零,当这个数是正数,就返回1CLEARinput "请输入一个数" to nDO CASECASE n>0s=1CASE n=0s=0CASE n<0s=-1ENDCASE?sRETURN22、用一般选择语句实现符号函数的功能** 符号函数的实现CLEARinput "请输入一个数" to nIF n>0s=1ELSEIF n=0s=0ELSEIF n<0s=-1ENDIFENDIFENDIF?s23、用简单选择语句实现符号函数功能** 符号函数的实现CLEARinput "请输入一个数" to nIF n=0s=0ENDIFIF n>0s=1ENDIFIF n<0s=-1ENDIF?s24、打开数据库和数据表SET talk offCLEARaccept "请输入数据库名" to xOPEN DATABASE &xaccept "请输入数据表名" to yUSE &yLISTuseSET talk offreturn25、显示表中指定信息SET TALK OFFCLEAROPEN DATABASE 时代超越总公司职员信息数据库USE 职员基本信息表WAIT "请输入待查职工的编号(1-3)" TO nIF VAL(n)<1 .or. VAL(n)>3WAIT "输入无效,结束程序运行!" WINDOW timeout 5 RETURNELSESTORE "0"+n TO aLIST for "职员编号"=aENDIFCLOSE DATABASESSET TALK ONreturn26、询问后再由用户按(Y/N)键执行的程序实现** 求任意一个数的阶乘CLEARDO WHILE .t.input "请输入一个数" to np=1s=0FOR i=1 TO np=p*is=s+pENDFOR?sWAIT "是否继续计算(Y/N)" TO yn windowIF UPPER(yn)="Y" THENLOOPELSEEXITENDIFENDDORETURN27、根据exact的设置进行字符串匹配比较** exact设置的变化对取值结果的影响SET exact ON && exact为打开状态,字符精确匹配s="in"+SPACE(2)IF s=="in"IF s="in"?"a"ELSE?"b"ENDIFELSEIF s="in"?"c"ELSE?"d"ENDIFENDIFRETURN28、使一个多位正整数逆序排列CLEARinput "请输入一个整数:" to xDO WHILE x>0y=x%10??yx=INT(x/10)ENDDORETURN29、按编号查找并列出一条记录set talk offclearaccept "请输入数据库名:家庭成员管理:" to aopen databaseaccept "请输入数据表名:stu:" to buselistwait "请输入一个编号:" to c windows timeout 5if val(c)<=0 or val(c)>4wait "输入的数字不合法,请重新输入一个合法的数字:" to c windows timeout 5elsestore "0"+c to aaalist for bh=aaaendifclose databaseset talk onreturn30、打开一个数据库,并显示其中的表内容set talk offclearaccept "请输入一个数据库名:家庭成员管理.dbc" to xopen databaseaccept "请输入一个数据表名:stu.dbf" to yuselistuseset talk onreturn30、验证密码程序:set talk offclearaccept "请输入密码:" to aaaif aaa="abc"clearwait "欢迎使用本系统!"elsewait "密码错误,程序将在5秒钟退出!" windows timeout 5 endifset talk onreturn31、编程求税金set talk offclearinput "请输入营业收入:" to pdo casecase p<800r=0case p=<2000r=0.05case p<5000r=0.08case p>=5000r=0.1endcasex=p*r?"应纳税金为:" , xset talk onreturn32、用三角形列出乘法口诀表:set talk offclearX=1DO WHILE X<=9Y=1DO WHILE Y<=XS=X*Y?? STR(Y,1)+"*"+STR(X,1)+"="+STR(S,2)+" "Y=Y+1ENDDO?X=X+1ENDDOSET TALK ONRETURN33、将变量A、B值互换:a=1b=2a=a+bb=a-ba=a-b?a,b34、找出已知三个数的中间数:INPUT "请输入a 的值:" TO aINPUT "请输入b 的值:" TO bINPUT "请输入c 的值:" TO cIF MAX(a,b)<c? MAX(a,b)ELSEIF MIN(a, b)<c? cELSE? MIN(a,b)ENDIFENDIF35、调用子程序:* MAIN.PRGSET TALK OFF? ”正在执行主程序”DO SUB1SET TALK ONProcedure SUB1? ”正在执行SUB1”RETURN36、用参数传递计算圆的面积:set talk offclearinput "请输入圆的半径" to rs=0 &&用参数传递计算必须给实际参数赋初值do arer with r,s &&调用子程序,并指定实际参数r,s ?"圆的面积为:",sset talk on?procedure arer &&被调用的子程序arerparameter x,y &&指定的形式参数x,yy=3.14*x^2returnset talk on37、我国古代数学家张丘建在“算经”里提出一个世界数学史上有名的百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁,母,雏各几何?**依题列出方程:x+y+z=1005x+3y+z/3=100set talk offclearfor x=1 to 100for y=1 to 100z=100-x-yif 5*x+3*y+z/3=100?"鸡翁:"+str(x,3)?"鸡母:"+str(y,3)?"鸡雏:"+str(z,3)endifendforendforset talk onreturn。

相关文档
最新文档