您好,欢迎访问三七文档
VisualFoxPro及其应用系统开发(实习报告)姓名:班级:学号:一:实习目的:1、进一步系统把握VFP基本命令2、系统领会VFP的程序设计技巧3、充分学习VFP面向对象的编程方法与思想4、初步学习与领会、感知信息系统的开发,为后续课程《管理信息系统》的学习打好实践基础。二:实习要求:1、认真复习VFP的基础知识与基本理论,按照实习大纲认真完成每项任务要求2、设计完成后每位同学认真完成书面设计报告上报任课教师,报告的基本内容应包括(主要对小型系统设计):1)系统分析:需求分析、数据分析、功能分析2)系统设计:系统总体结构,1~3个自由表的基本结构、代码设计思想3)系统使用说明书:设计完成后每位同学将所设计的系统考入软盘并与设计报告一起上报任课教师。三:实习内容:一、根据表1,做如下操作练习表1职工工资表姓名分厂基本工资奖金扣款应发工资备注李民1500.00200.0050生产优秀奖王华1400.0050.0040.00胡立1280.0080.0040.00彭伟2350.0060.0040.00张良2480.0080.00200.00生产事故合计991、建立工资表文件gz??.dbf,备注定义为MEMO字段,其中??为本人学号首先,选定“工具”菜单的“选项”命令在“选项对话框中选定“文件位置”选项卡在列表中选定“默认目录”选项单击“修改”按钮在“更改文件位置”对话框中选定“使用默认目录”复选框,然后在“定位默认目录”文本框中输入路径“H:\vfp实习”单击“确定”按钮返回“选项”对话框单击“确定”按钮关闭“选项”对话框,将系统默认路径设为H:\vfp实习。利用creategz20101003975命令创建.dbf表,其中gz20101003975(姓名c(4),分厂c(2),基本工资n(4,2),奖金n(4,2),扣款n(4,2),应发工资n(4,2),备注m)。依次输入数据,即得到工资表。2、添加、插入、删除、修改练习输入append命令打开数据输入窗口,即可输入或修改数据。输入insert[blank]命令,可在表中插入数据。删除命令deletefor条件+pack(恢复recallfor条件);zap删除表中所有记录.输入replace字段with新字段即可对表数据进行修改3、记录指针移动、检索操作练习1)命令go+skip组合即可达到记录指针移动的目的。如输入命令:GO1SKIP1即可让记录指针移动到第二条记录2)顺序检索查询:usegz20101003975locatefor基本工资=480displaycontinue?found(),recno()DisplayContinue即可查询出基本工资=480的工人(程序窗口中将会显示李民和张良两条记录)。索引查询命令:usegz20101003975indexon姓名tagxmseek“胡立”?recno()display即可查询出“胡立”这一条记录4、排序、索引、统计操作练习1)排序:usegz20101003975sorttojbgzon基本工资/Dusejbgzlist即可显示出按照基本工资降序排列的新表jbgz。2)索引:usegz20101003975indexon奖金tagjjlist即显示出按照奖金升序排列的表。3)统计:(统计奖金大于等于80的人数)usegz20101003975countfor奖金=80tors?’奖金大于等于80的人数:’,rs显示结果为“奖金大于等于80的人数:3”二、简单编程练习1、已知半径R=10,计算周长C=2πR*实习2-1主程序ybj=0bj=10do实习2-1子程序withbj,ybj?ybj=,ybjreturn*实习2-1子程序parametersr,cc=pi()*2*rreturn2、假设银行一、二、三年定期存款的年利率分别为5.0%、5.5%、6.2%。若储户存款为X元,期末偿还本息为Y元,编写计算各种不同定期存款期末应付本息的程序input请输入银行存款:toxinput请输入储存年限:toadocasecasea=1y=x*a*0.05+xcasea=2y=x*a*0.055+xcasea=3y=x*a*0.062+x?银行存款期末本息和:,yotherwisewait请检查输入年限!windowendcase3、求二元一次方程ax^2+bx+c=0的根x=0input请输入a的值:toainput请输入b的值:tobinput请输入c的值:tocdocasecasea=0?x=,-c/bcase(b^2-4*a*c)=0?x=,(-b+sqrt(b^2-4*a*c))/2*a??(-b-sqrt(b^2-4*a*c))/2*acase(4*a*c-b^2)0?x无解endcase4、计算自然数前N项和S=1+2+3+……+N,设N=50N=0fori=1to50N=N+inext?N=,N三、根据表1,用命令方式和程序方式分别完成以下任务1、计算每个人的应发工资及各项合计clearallusegz20101003975replaceall应发工资with基本工资+奖金-扣款sum基本工资toa1sum奖金toa2sum扣款toa3sum应发工资toa4go6replace基本工资witha1replace奖金witha2replace扣款witha3replace应发工资witha4listuse2、计算自然数前按分厂汇总,生成全厂工资汇总表gzhz20101003975.dbf,其格式如下:分厂基本工资奖金扣款应发工资1299clearallusegz20101003975listindexon分厂tagjbgztotalon分厂togzhz20101003975fields基本工资,奖金,扣款,应发工资usegzhz20101003975browsefields分厂,基本工资,奖金,扣款,应发工资titles'全厂工资汇总表'closeall3、根据需要,打印职工工资表或者全厂工资汇总表usegz20101003975listtoprint4、利用表单,设计gz20101003975.dbf的录入、修改等维护功能clearusegz20101003975.dbftextendtextdowhile.t.@6,10clear@6,10say请输入1-3:getrsdefaultspace(1)readdocasecasers=1dosrcasers=2doxgcasers=3wait系统将关闭!windowtimeout1exitendcaseenddouseclearsettalkonsetsafetyonproceduresr?记录输入结束后按Ctrl+W存盘.appendprocedurexg?记录修改结束后按Ctrl+W存盘.go1browse四、小型系统设计1、编写一个主控程序,将第三题中各子程序组装起来,建成一个工资管理系统*gzglxt.prgclearusegz20101003975text************************************************************1.应发工资合计4.打印工资数据**2.各项工资合计5.录入修改功能**3.按分厂汇总工资6.退出************************************************************endtextdowhile.t.@10,10clear@10,10say请输入1---6:getrsdefaultspace(1)readdocasecasers=1doyfgzcasers=2dogxhzcasers=3dofchzcasers=4dogzdycasers=5doformGZ20101003975casers=6wait系统将关闭!windowtimeout3exitendcaseenddouse2、利用项目文件重建以上工资管理系统,分别编译成app、exe文件进行运行1)将第三题中所有子程序放入“工资管理系统”文件夹中,再把VisualFoxPro的默认路径改为“H:\工资管理系统”。2)在命令窗口输入命令modifyprojectgzglxt,显示“项目管理器”窗口。3)选定“代码”结点下的“程序”子结点,使用“添加”按钮添加gzglxt.prg,该文件将自动成为主文件。4)将第三题中各个子程序添加到项目管理器中。5)选定“连编”按钮,使显示“连编选项”对话框,选定“连编应用程序”选项,通过“另存为”对话框,将文件保存为H:\工资管理系统\gzglxt.app;选定“连编可执行文件”选项,通过“另存为”对话框,将文件保存为H:\工资管理系统\gzglxt.exe3、根据以下资料,开发“汽车修理管理信息系统”1)某汽车修理厂准备建立一个“汽车修理管理信息系统”,其目标如下:2)能对汽车修理有关数据进行录入、修改和查询3)编制月度零件定货计划和修理人员工资月报表4)用户提车时,及时打印修理汽车发表软件开发人员根据用户要求进行了调查,系统主要数据载体为:修车登记表编号:5001日期:97/01/02修理项目点火线圈汽车牌号A2020203型号S130生产厂南方汽车厂车主姓名李华地址前进路110号电话87878766汽车修理单登记单编号:5005汽车牌号:A2312318车主:王平修理项目大修送修日期97/06/02完工日期97/03/30零件号100001100002100005修理小时200零件数量255修理费零件费总金额零件库存表盘存:方龙日期:97/04/30零件号零件名成本数量价格最低库存定货量领料单编号:日期:修理工:零件号数量修理工登记表工号姓名地址电话小时工资零件定货计划单日期:97/04/23零件号零件名库存量最低库存定货量修理工工资月报表日期:97/04/30工号姓名修理小时小时工资月工资修理汽车发表日期:车主姓名汽车牌号备注送修日期修理项目地址修理费零件费总金额具体功能为:①数据录入和修改②数据查询:③每个月编制一次零件定货计划单和修理工工资表,其中定货条件为:零件库存④量最低库存⑤用户提车时,及时打印发票。其中:修理费=3*修理工时*修理工小时工资零件费=∑(零件价格*耗用零件数量)A、需求分析系统开发目的:1、对汽车修理有关的各类数据进行输入、修改与查询。2、编制季度零件订货计划。3、打印汽车修理发票和工资月报表。1、数据需求:在系统设计过程中,用户提供了该系统所需的输入、输出数据。输入数据包括修车登记单、汽车修理单、零件入库单和零件出库单4种;输出单据包括季度订货计划、汽车修理发票和工资月报表3种。2、功能需求:(1)数据登记登记功能用于把各种手写单据及时登记到系统要定义的表中,还要求能进行修改。这些单据包括修车登记表、汽车修理单、零件入库单和零件出库单。(2)查询能查询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。(3)编制并显示季度零件订货计划编制零件订货计划需要找出要订货的零件,订货条件为:零件库存量〈最低库存量。订货量可由用户输入修改。(4)打印发票发票中除了包含顾客、汽车及修理项目等数据外,还要计算出修车费,修车费包括修理费和零件费,按下列各式计算:零件费=∑(零件价格*耗用数量)修理费=小时工资*修理工时*3总计=零件费+修理费不难看出,发票包含的信息来自修车登记单、汽车修理单和零件出库单等各种单据,这是一项涉及面很广的功能(5)打印修理工工资月报表某修理工月工资=∑修理小时*小时工资B、数据库设计1、逻辑设计根据季度零件订货计划、汽车修理发票和工资月报表等输出单据的数据需求,从修车登记单、汽车修理单、零件入库单和零件出库单等输入单据中归纳出包含6个表的数据库。这些表的名称和关联如下:1)修理单:XLD(编号,牌号,工号,修理项目,修理小时,送修日期,完工日期)2)汽车:QC(牌号,型号,生产厂,车主名)3)车主:CZ(车主名,地址,电话)4
本文标题:VFP实习报告
链接地址:https://www.777doc.com/doc-5596727 .html