visual foxpro课程设计作业.docx

上传人:b****5 文档编号:8225587 上传时间:2023-01-30 格式:DOCX 页数:22 大小:976.07KB
下载 相关 举报
visual foxpro课程设计作业.docx_第1页
第1页 / 共22页
visual foxpro课程设计作业.docx_第2页
第2页 / 共22页
visual foxpro课程设计作业.docx_第3页
第3页 / 共22页
visual foxpro课程设计作业.docx_第4页
第4页 / 共22页
visual foxpro课程设计作业.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

visual foxpro课程设计作业.docx

《visual foxpro课程设计作业.docx》由会员分享,可在线阅读,更多相关《visual foxpro课程设计作业.docx(22页珍藏版)》请在冰豆网上搜索。

visual foxpro课程设计作业.docx

visualfoxpro课程设计作业

VFP课程设计作业

一、表gz20101001621

1、建立表结构:

createtablegz20101001621(姓名c(4),分厂c

(2),基本工资n(6,2),奖金n(6,2),扣款n(6,2),应发工资n(6,2),备注m)

liststruc

编辑输入各字段值

2、添加:

go5

insert&出现记录编辑窗口,输入记录(记录详见表中)

list

插入:

altertablegz20101001621.dbfadd工号n(8)

list

删除:

altertablegz20101001621.dbfdrop工号

List

修改:

altertablegz20101001621.dbfalter应发工资n(8,2)

List

3、记录指针移动、检索操作练习:

go2

locateforrest分厂="2"

locatefor分厂="2"rest

disp

contin

disp

4、排序:

sorttoabon分厂/d,基本工资/dfields姓名,分厂,基本工资,奖金,扣款

useab

list

索引:

indexon分厂+str(基本工资,6,2)tagcd

List

统计:

usegz20101001621

replaceall应发工资with基本工资+奖金-扣款

list

go7

calculsum(基本工资),sum(奖金),sum(扣款),sum(应发工资)tojb,jj,kk,yf

go7

scatttoamemo

a(3)=jb

gatherfroma

list

go7

a(4)=jj

gatherfroma

list

go7

a(5)=kk

gatherfroma

list

go7

a(6)=yf

gatherfroma

list

二、编程练习

1、modicommande2-1.prg

主程序:

*e2-1.prg

ymj=0

input"请输入半径:

"tobj

dojswithbj,ymj

?

"圆面积=",ymj

Return

modicommandjs.prg

子程序:

*js.prg

parametersr,s

s=pi()*r*r

return

doe2-1.prg&输入R=10,回车“圆面积=314.16”

2、modicommande2-2.prg

程序:

*e2-2.prg

input"请输入存款数额:

"tox

input"请输入存款年限:

"ton

docase

casen=1

y=x*1.05

casen=2

y=x*1.055*1.055

casen=3

y=x*1.062*1.062*1.062

endcase

?

"本息和=",y

3、modicommande2-3.prg

程序:

*e2-3.prg

input"二次项系数:

"toa

input"一次项系数:

"tob

input"常数项:

"toc

docase

caseb^2-4*a*c<0

?

"x=","无解"

caseb^2-4*a*c>=0

?

"x=",(-b+sqrt(b^2-4*a*c))/(2*a)

?

?

(-b-sqrt(b^2-4*a*c))/(2*a)

endcase

4、modicommande2-4.prg

程序:

*e2-4.prg

s=0

fori=1to50

s=s+i

next

?

"s=",s

doe2-4.prg&计算得“s=1275”

三、根据表1,用命令方式和程序方式完成以下任务

1、usegz20101001621

replaceall应发工资with基本工资+奖金-扣款

list

go7

calculsum(基本工资),sum(奖金),sum(扣款),sum(应发工资)tojb,jj,kk,yf

?

jb,jj,kk,yf&详见一、4、统计

2、indexon分厂tagfc

totalon分厂togzhz20101001621field基本工资,奖金,扣款,应发工资

usegzhz20101001621

list

browsfield分厂,基本工资,奖金,扣款,应发工资title"全厂工资汇总表"

3、modicommande3-3.prg

程序:

*e3-3.prg

clear

input'打印职工工资表请输入1,打印全厂工资汇总表请输入2:

'ton

docase

casen=1

usegz20101001621

listtoprinter

otherwise

usegzhz20101001621

listtoprinter

endcase

use

4、modifyformgzwh&建立表单,并在数据环境中打开表gz20101001621

commandgroup1的click事件代码输入如下:

selegz20101001621

docase

casethis.value=1

ifrecn()

skip

endif

casethis.value=2

ifrecn()>1

skip-1

endif

casethis.value=3

gotop

casethis.value=4

gobottom

casethis.value=5

zy=messagebox('是要增页吗?

',1+48+256,'确认增加工资单')

ifzy=1

gobott

insertblank

endif

casethis.value=6

sy=messagebox('是要删页吗?

',1+4+256,'确认增加工资单')

ifsy=1

delete

pack

endif

casethis.value=7

thisform.release

endcase

thisform.refre

验证:

doformgzwh&详见gzwh.scx

四、小型系统设计

修车登记表

编号:

5001日期:

97/01/02

修理项目

点火线圈

汽车牌号

A2020203

型号

S130

生产厂

南方汽车厂

车主姓名

李华

地址

前进路110号

电话

87878766

汽车修理单

登记单编号:

5005汽车牌号:

A2312318车主:

王平

修理项目

大修

送修日期

97/06/02

完工日期

97/03/30

零件号

100001

100002

100005

修理小时

200

零件数量

2

5

5

修理费

零件费

总金额

零件库存表

盘存:

方龙日期:

97/04/30

零件号

零件名

成本

数量

价格

最低库存

定货量

领料单

编号:

日期:

修理工:

零件号

数量

修理工登记表

工号

姓名

地址

电话

小时工资

零件定货计划单

日期:

97/04/23

零件号

零件名

库存量

最低库存

定货量

修理工工资月报表

日期:

97/04/30

工号

姓名

修理小时

小时工资

月工资

修理汽车发表

日期:

车主姓名

汽车牌号

备注

送修日期

修理项目

地址

修理费

零件费

总金额

1.编写主控程序

clear

usegz20101001621

text

***********************************************************

*1.应发工资合计4.打印工资数据*

*2.各项工资合计5.录入修改功能*

*3.按分厂汇总工资6.退出*

***********************************************************

endtext

dowhile.t.

@6,10clear

@6,10say"请输入1--6:

"gethydefaultspace

(1)

read

docase

casehy="1"

doyfgz1

casehy="2"

dogzhz2

casehy="3"

dofchz3

casehy="4"

dozggz4

casehy="5"

dolrxg5

casehy="6"

wait"系统将关闭!

"windowtimeout3

exit

endcase

enddo

use

2.利用项目管理器编译app.exe文件

3.根据题目数据设计了如下图表:

(1).创建系统主文件(qcxl.prg)

功能:

调用菜单(qcxlcd.mnx)

settalkoff

setdefatoh:

\qcxl

closeall

setviewtosjhj.vue

publicxldh,zljf

xldh=space(4)

doformfm

keyb'{ctrl+f4}'

modiwindscreentitle'汽车修理管理系统'

clea

doqcxlcd.mpr

readevent

quit

(2)建立sjhj.vue数据工作期如图所示(299)

(3)创建菜单程序(qcxlcd.mpr)

(4)修车登记表单(xcdj.scx)

其中,

(1)txt牌号的valid事件代码如下:

*若在该文本框中输入新牌号,qc表中就会自动增加该牌号

seleqc

locatefor牌号=xld.牌号

ifnotfound()

insertintoqc(牌号)values(xld.牌号)

endif

(2)txt牌号的valid事件代码如下:

*若在该文本框中输入新车主名,CZ表中就会自动增加该车主名

selecz

locatefor车主名=xld.车主名

ifnotfound()

insertintocz(车主名)values(qc.车主名)

endif

(3)commandgroup1的click事件代码如下:

selectxld

docase

casethis.value=1

ifrecn()

skip

endif

casethis.value=2

ifrecn()>1

skip-1

endif

casethis.value=3

gotop

casethis.value=4

gobott

casethis.value=5

doformsrxldh

casethis.value=6

zy=messagebox('是要增页吗?

',1+48+256,'确认增加修理单')

ifzy=1

gobott

insertintoxld(编号)values(str(val(编号)+1,4))

endif

casethis.value=7

sy=messagebox('是要删页吗?

',1+48+256,'确认删除修理单')

ifsy=1

delete

pack

endif

casethis.value=8

selectqc

browsetitle'汽车修改'+space(20)+'单击行首可打删除标记,退出就删去'

pack

casethis.value=9

selectcz

browsetitle'车主修改'+space(20)+'单击行首可打删除标记,退出就删去'

pack

casethis.value=10

thisform.release

endcase

thisform.refresh

(4)寻页按钮的gotfocus事件代码如下:

selexld

jlh=recn()

locafor编号=trim(xldh)

ifnotfound()

waitwindow"无此编号!

"

gojlh

endif

thisform.refresh

将该表单运行后显示如下:

(4)输入修理单号表单(srxldh.scx)

其中,

(1)text1的lostfocus事件代码编写如下:

xldh=thisform.text1.value

(2)command1命令按钮的click的事件代码编写如下:

thisform.release

(5)汽车修理表单(qcxl.scx)

其中,

(一)form1的refresh事件代码编写如下:

thisform.text1.value=""

thisform.text2.value=""

thisform.text3.value=""

thisform.text4.value=""

thisform.text5.value=0

thisform.text6.value=0

thisform.text7.value=0

thisform.text8.value=0

*以上8个命令将文本框初始化,以免翻页后各文本框保持显示旧值

seleljyl

locafor编号=xld.编号

iffoun()

thisform.text1.value=零件号

thisform.text5.value=数量

endif

cont

ifnoteof()

thisform.text2.value=零件号

thisform.text6.value=数量

endif

cont

ifnoteof()

thisform.text3.value=零件号

thisform.text7.value=数量

 

endif

cont

ifnoteof()

thisform.text4.value=零件号

thisform.text8.value=数量

endif

(二)commandgroup1命令按钮的click的事件代码编写如下:

selexld

docase

casethis.value=1

ifrecn()

skip

endi

casethis.value=2

ifrecn()>1

skip-1

endif

casethis.value=3

gotop

casethis.value=4

gobott

casethis.value=5

doformsrxldh

casethis.value=6

zy=messagebox('是要增页吗?

',1+48+256,'确认增加修理单')

ifzy=1

gobott

insertintoxld(编号)values(str(val(编号)+1.4))

endif

thisform.release

endcase

thisform.refresh

(6)零件订货计划表单(ljdh.scx)

在表单中,list1的init事件代码如下:

*在列表框中增入季度号选项

this.additem("1")

this.additem("2")

this.additem("3")

this.additem("4")

(2)list1的dblclick事件代码如下:

selectljkc

countfor库存量<最低库存tojls

ifjls=0

messagebox('库存量均不小于最低库存,第'+jd+'季度不需订货')

else

setfiltto库存量<最低库存

browsefiel零件号:

R,零件名:

R,库存量:

R,最低库存:

R,订货量;

title'第'+jd+'季度零件订货计划'

setfiltto

endif

(7)打印发票表单(dyfp.scx)

在表单中,

(1)text1的lostfocus事件代码如下:

xldh=thisform.text1.value

(2)command1的click事件代码如下:

selexld

locafor编号=trim(xldh)

ifnotfound()

waitwindow"无此编号!

"

else

seleljyl

sum数量*ljkc.价格for编号=trim(xldh)and零件号=ljkc.零件号tozljf

repoformfpprev

thisform.release

endif

(8)发票报表(fp.frx)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1