首页 > 精品范文库 > 1号文库
程序设计说明书
编辑:独影花开 识别码:10-1005424 1号文库 发布时间: 2024-05-22 21:33:18 来源:网络

第一篇:程序设计说明书

信息系统开发与应用流程实习

程序设计说明书

专业班级: 指导老师: 学 号: 姓 名:

202_年1月10日

一、目的

培养学习大型软件的开发能力,提高学生分析问题、解决问题的能力。

二、开发工具

VFP6.0

三、实现的功能

1.算法训练

(1)能精确计算(加或减)具有15位以上长度的数据,并具有输入、处理和输出功能;(2)产生5万个不重复的随机六位整数。2.构建模型

通过编程建立数学模型,实现有规律两位数相乘的自动计算。

3.主控模块设计

(1)创建了一个存放用户登记信息表;

(2)创建了一应用系统主菜单,具有文件管理、数据管理、信息查询和报表输出功能;(3)创建了一个表单,具有检验用户登录身份、保护用户号与密码的功能。4.数据输入界面设计与数据核校验实现

实现了数据输入、修改、删除和对数据的校验与控制功能。5.MRP实训

编制了MRP计算程序,能够输出计算结果。

四、开发流程

1.算法训练

(1)具体流程:先明确表单的设置,表单主要是显示输入的两个数和计算的结果,命令按钮包括加、减、退出、记录四个,然后在相应的命令click 事件中写出计算的代码。其中“记录”命令按钮是用来显示后台的数据表的。(2)产生的文件:运算.dbf,运算.scx。2.构建模型

(1)具体流程:该题首先根据所给的两组数学乘积式找出规律,记第一位数的十位上数

字为a,个位上数字为b,则,两组数据的规律如下:

①s=(a*10+b),w=(a*10+(10-b)),q=(a*(a+1)*100)+(b*(10-b))

②s=(a*10+b),w=(10-a)*10+b,q=((a*(10-a)+b)*100)+b*b 然后在VFP的程序中写出相应的编码,进行运算,求解。(2)产生的文件:个位上数同.prg,十位上数同.prg 3.主控模块设计

(1)具体流程:这道题我在之前的课程设计中已经反复做了好几遍了,所以在做之前已经有了很清晰的思路,先是建立后台数据表,然后建立用户登录的表单。这次,我仿照QQ的登陆界面,在用户登录界面又增加了“找回密码”和“注册”两个功能,让整个界面看上去挺高大上的。

(2)产生的文件:hdt.dbf;登陆界面.scx;找回密码.scx;注册账号.scx。4.数据输入界面设计与数据核校验实现

(1)具体流程:我的学号是8,所以我对应做的内容是“库位基本数据”。首先创建了数据库表,然后创建了数据输入表单,在表单上实现了数据的输入、修改、删除和校验与控制的操作。

(2)产生的文件:库位基本数据.dbf,库位基本数据.scx。5.MRP实训

(1)具体流程:依次建物料主文件、物料清单、库存记录表、主文件数据表,然后创建MRP展开记录表结构,最后编制MRP计算程序,并输出计算结果。

(2)产生的文件:物料主文件.dbf,物料清单.dbf,库存记录数据表.dbf,主文件数据表.dbf,MRP展开记录表结构.dbf,mrp计算.scx。

五、调试分析

1.算法训练

(1)调试的内容名称:运算.scx。

(2)调试过程中出现的问题:第一次运行表单时,用“***”去进行调试,如下图,但是不对,出现了程序错误,说“函数参数的值、类型或数目无效”。

我猜可能是加的A、B值是我当初设置的字符型,没有转换为数值型,打开“加”命令按钮,我写的代码是:

a=thisform.text1.value b=thisform.text2.value c1=int(a+b)后来将其改为:

a=val(thisform.text1.value)b=val(thisform.text2.value)c1=int(a+b)又运行了一遍,结果显示正确,打开后台的数据表,所操作的记录也正确的写入进去了。后来,吸取教训,又仔细检查了一下“减”命令按钮中的代码,发现也有这种粗心产生的错误,改过来后,这个表单正常的运行了。2.构建模型

(1)调试的内容名称:个位上数同.prg,十位上数同.prg。

(2)调试过程中出现的问题:这道题在运行时,一次成功,没有出现什么错误,分别用了“1”和“2”两个数字去调试,下面是运行显示的结果:

在编程的时候,只要思路清晰、细心认真,还是可以一次性成功的。3.主控模块设计

(1)调试的内容名称:登陆界面.scx;找回密码.scx;注册账号.scx。(2)调试过程中出现的问题:基本模块调试时显示“无法找到用户表”,原来是在登陆界面的数据环境中,我没有添加后台的数据表。这个问题解决之后之后,我又仿照QQ登陆界面在增加了“找回密码”和“注册”功能。

在找回密码界面,一开始只是输入用户号,如果存在,则跳出相应的密码,否则没有任何变化,运行时,总觉得哪不对,后来加了用户号的校验功能,当输入需要查询的用户号时,如果不存在,会自动跳出一个对话框,告诉查询者所要查询的用户号不存在,然后刷新,重新输入,具体代码如下:

locate for ALLTRIM(thisform.text1.value)=ALLTRIM(用户号)if not found()=MESSAGEBOX('用户不存在,请重新选择!')else =messagebox('您的密码是'+allt(密码)+'!')thisform.release endif 4.数据输入界面设计与数据核校验实现

(1)调试的内容名称:库位基本数据.dbf,库位基本数据.scx(2)调试过程中出现的问题:

1)在数据添加完成后,“添加”按钮里面写的“thisform.refresh”起不到刷新作用,原有的添加内容还是显示在表单上,后来在form的click事件中写thisform.refresh,也没有用,翻书后,明白过来了,其实不是刷新表单,而是应该将填写内容的文本框清空。后来我在form 的click事件中写了下面这串代码:

thisform.text1.value=''

thisform.text2.value='' thisform.text3.value='' thisform.text4.value='' thisform.text5.value='' thisform.text6.value='' 问题就解决了。

2)删除库位基本数据时,删除失败,显示文件已被占用,然后我在“删除”按钮中添加了“use 库位基本数据 exclusive”以独占的方式打开后台数据表,才解决问题。5.MRP实训

(1)调试的内容名称:MRP计算.scx。

(2)调试过程中出现的问题:这道题比较复杂,涉及到原有库存量、数量比例关系、时区数、各时区毛需求量、各时区入库量、安全库存量、订货倍数、提前期等多个变量,为了方便验证结果的正确性,本题仿照了ERP老师上课讲解的例题进行编制(没有考虑安全库存量、订货倍数、提前期这三个变量)。

我用的调试数据是:A、B、C、D的原有库存量分别是:5、15、20、50,四者之间的比例关系为:1:2:2,A的各时区毛需求量量都为10,A在第一、二时区的入库量分别为15、20。

调试时,出现的大大小小错误有:找不到变量、文件被占用、表单卡着不动了等多个错误。又回过头来修改,最后调试成功了,其运行的界面和写入数据表的数据如下:

准确的说,这道题并不难,只是涉及的变量比较多,之间的关系比较复杂。如果能够理清变量之间的数量关系,编码时,只要根据BOM表一层一层去去编写代码,问题就可以解决了。我编写的代码还有一个很大的问题就是,重复的语句太多了,应该是存在一个更好的编码方案,就像循环可以解决重复计算那样,来解决这个问题。

六、经验体会

在系统开发之前,必须明确所采用的工具,然后要扎实地掌握该工具的理论知识,只有这样,才好下手编程。我选用的编程工具是VFP6.0,由于每次课程设计都是采用该工具,因此基本扎实地掌握了VFP的程序编码方法。

在开始开发时一定要对每一个任务的解决方案有一个大体的思路,然后开始动手设计。在设计的过程中,会出现许多意想不到的错误,有的是程序代码写错了,有的是自己粗心漏掉了像endcase、else这些组合中的语句,因此必须耐下心,仔细的检查自己所写的代码。实在解决不了的情况下,可以和同学一起讨论一下,一个一个问题慢慢的去解决。每解决一个问题,就获得了一点进步。

这次编程的过程中,我明显发现自己比上几次进步了许多,在编代码之前基本上都能够有一个正确的编写思路,很多代码可以不翻书、不百度自己写出来了,而且编程所用的时间也比较短。

编程这种事,需要慢慢磨练,不断地调试,不断地去解决出现的问题,只有这样,才能夯实编程的基础。虽然VFP已经被淘汰了,但是编程的思想是一样的,无非就是语言的要求和语句书写格式不一样。因此当熟练了VFP的编程方法后,我打算再好好学学Java,以后尝试着用Java去解决实际问题。这次课程设计,就有同学运用了Java去编程,在佩服的同时,也让我明白,编程这东西,只要你肯下功夫、愿意动脑,还是能学会的。

第二篇:程序设计

程序设计(给全班人随机分组)

功能特性: 1.键盘输入组数、班级人数(其中包括有人迟到等特殊情况)。

2.分好组后出现选择界面,就是当程序块执行完分好组后,由人来判定此分组是否符合人为需要,如若满意,结束程序;如若不满意,在执行一下此程序,获得下一组分组情况,直到满意为止。

3.在某种情况下,分组需要考虑到性别问题,必须男生与男生一组,女生和女生一组;或者说每组必须有男生和女生。

4.在开展某种活动时每组必须有一名班委或者说一名学习成绩优异的同学,这也是程序功能需要涉及的一部分。

5.或者在某种情况下需要分快组和慢组,在快组中又要随机分为A,B,C…..等多组,在慢组中也一样。

主攻问题:

1.生成的随机数要不重复。2.考虑分组不均的情况。

3.程序的健壮性。(如组数大于人数的情况)

制作人:

庄杰

薛东林 王鑫

第三篇:程序设计总结报告

汇编程序设计总结报告

设计时间:202_.1.14----1.24

设计者:李小霞 班号:99090B3

学号:08号

设计内容:

本组负责设计一个文本编辑器(EDITOR),我主要编写光标的移动和清除屏幕模块,实现光标的移动和屏幕的清空。

算法思想: A.光标移动:

(1)该程序从键盘上操作;(2)向上的箭头,表示光标要向上移动;(3)向左的箭头表示光标要向左移动;(4)向下的箭头表示光标要向下移动;(5)向右的箭头表示光标要向右移动;

该模块中,当输入¥时,则退出程序;然后,当以键盘输入箭头时,就进入循环来辨别箭头所实现的光标是向左向右还是向上向下 B.清除屏幕模块

(1)键盘输入前要清除屏幕;(2)使整个屏幕的底色显示蓝色;

光标移动主要使用循环和子程序调用。子程序中都用到了BIOS 中断和DOS的功能调用。

编辑过程中的心得:

这次我们编辑的是一个文本编辑器。在此次的编写过程中,我充分的认识到,实践与理论相结合重要性。以前在学习汇编的过程中,感觉有一些的枯燥,但看这小小的光标在蓝色的屏幕上跳动,不尽的想:原来程序与现实距离是这么近。

1. 不足之处:程序编写的有些复杂。在程序的调试和联接过程中,出现了一些错误,但都及时的解决。

2. 经验:要加强动手能力,多多的编程,多多的上机。

程序过程如下:

lxx segment a db ? han1 dw ? lxx ends prognam segment main proc far assume cs:prognam,ds:lxx start: push ds mov ax,0 push ax mov ax,lxx mov ds,ax call clen repea: mov ah,07h int 21h mov a,al cmp a,‘$' je en cmp al,48h;行减一 jne x1 call y1 jmp repea x1: cmp a,4bh;列减一 jne x2 call y2 jmp repea x2: cmp a,50h;行减一 jne x3 call y3 jmp repea x3: cmp a,4dh;列减一 jne repea call y4 jmp repea en: ret main endp;----------------y1 proc near push ax push bx push dx mov ah,3 int 10h mov ah,2;行减一 dec dh int 10h pop dx pop bx pop ax ret y1 endp;---------y2 proc near push ax push bx push dx mov ah,3 int 10h mov ah,2 sub dl,2;列减一 int 10h pop dx pop bx pop ax ret y2 endp;-------y3 proc near push ax push bx push dx mov ah,3 int 10h mov ah,2 inc dh;行加一 int 10h pop dx pop bx pop ax ret y3 endp;---------y4 proc near mov ah,3 int 10h mov ah,2 inc dl;列加一 int 10h ret y4 endp;---------------------clen proc near mov dh,1 mov han1,25d cle: mov ah,2h mov dl,0 int 10h mov ah,09h mov al,' ' mov bl,90h mov bh,0h;yan se mov cx,80 int 10h inc dh dec han1 cmp han1,01h jne cle ret clen endp;------prognam ends end start

第四篇:程序设计总结

 Strcmp的用法

原型:extern int strcmp(const char *s1,const char * s2);

用法:#include

功能:比较字符串s1和s2。

说明:

当s1

当s1=s2时,返回值=0

当s1>s2时,返回值>0

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。如:

“A”<“B” “a”>“A” “computer”>“compare”

特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。编辑本段应用举例

举例1:(在VC6.0中运行通过)#include #include void main(){ char string[20];char str[3][20];int i;for(i=0;i<3;i++)gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);else strcpy(string,str[1]);if(strcmp(str[2],string)>0)strcpy(string,str[2]);printf(“nThe largest string is %sn”,string);}  Strcpy的用法 例1 #include #include void main(){

char str1[20]={“i love ”};

char str2[20]={“zftd”};

printf(“%sn”,strcpy(str1,str2));}

输出的是“zftd”还是“zftdve ”?

也就是说strcpy是替换全部的str1,还是将str2复制到str1的前几个(str1占10字节,str2占5字节,输出是str2还是str2和str1的后5字节);strcpy之前,str1[]=“i love ”strcpy后, 复制过来5个字节,“zftd”和结尾的''共5个字节.于是变成str1[]=“zftde ”输出的时候,遇''字符截断,于是只输出“zftd” 例2 定义一个字符串char a[20],和一个字符串c[]=“i am a teacher!”;把c复制到a中就可以这样用:strcpy(a,c);这个函数包含在头文件 中.程序代码: #include #include void main(){ char a[20],c[]=“i am teacher!”;strcpy(a,c);cout<

第五篇:班会程序设计

12焊工1班“我爱我家”主题班会活动程序对白设计

伴随着李正航的这首《回家》,我们拉开了本次班会的序幕。送给父母最好的礼物是清晨的一声问候,送给老师最好的礼物是一份满意的答卷,送给朋友最好的礼物是一个会心的微笑,送给在座老师和各位同学最好的礼物是我们彼此最热烈的掌声!

掌声在哪里啊?下面宣布本次“我爱我家”主题班会现在开始,有请我的搭档。

(最美的一封信结束)听完这封信,我的心久久不能平静。信中闪现着伟大的母爱。母亲为了拯救身患肝癌的女儿,宁愿自杀。是什么力量支撑着她做这种选择呢?是母爱,是对儿女的爱。而“诀别是为了让你更好的成长”,更体现出了母亲无私的爱。这位母亲回忆的滴滴往事中,都有着她与女儿的快乐生活。为了女儿,献出了自己的生命。这就是世间最伟大的母爱啊!~~

同学对家的感受→family:央视荧屏上有一条感动了无数人的公益广告《爱的表达式》,这则公益广告通过对于英文单词“family”字母演变,诠释了“家”的温情与内涵。

老师给予我们关爱,同学给予我们友爱,学校也是我们的家……

描述同学→感谢老师→身边的感人故事→口号、班训→学校历程→怀念母校。

金黄色的阳光洒满校园,映红了那一张张笑脸。你看,校舍里、车间外,有同学在默默苦学!

还有那“腾飞”的雕塑,像一只雄鹰正展翅高飞,或许是想盘旋于高空,把校园景色尽收眼底;展示它的飞行技术,那么高傲!

在微风中,迎风招展的红旗舞动着她那婀娜的舞姿。“叮叮……” 校园似乎安静许多,站在旗台上的我,远望这一切,心中感慨万分。

俯视大地,唯独那“腾飞”的雄鹰,是那么的放肆,妄想把身边的一切都带走,似乎在喊道:腾飞、腾飞……

爱国,两个字包含了多少深刻的含义。一首首爱国的歌曲已经奏响,一幅幅爱国的篇章等待续写……

国事沧桑→发言:什么是爱国?→宣誓→家是什么?

(主持人总结家是什么)同学们,究竟家是什么呢?家是感情的港湾,是灵魂的栖息地,是精神的乐园。试看天下之家,皆因爱而聚,无爱而散。父母给予你一个家,他们用无尽的爱盼着你健康成长,而你也报以纯真的爱让父母因你而收获更多的幸福。同样,如果你能把我们班级和校园真心地当成自己的家,那么,你在校园里度过的每一分每一秒都会更加快乐。如果你能把国家当成你的家,那么,无论走到哪里你的心灵都有一种安宁和归属感。国家、班级、家庭,都是我们心爱的家。从现在起,用我们的孝心爱我们的小家,用我们的热心爱我们的班级、学校,用我们的忠心爱我们最可爱的祖国。

今天,我们的班会主题是:我爱我家。家不是房屋,家是爱的聚合体,是筑建在心灵原野上的一幢精神大厦,是点亮你人生的一盏七彩路灯。家给予我们爱,也需要我们为它增添一份爱。带着不同的个性,我们聚合在一起,为了共同的愿望,我们聚合在一起。二十九双眼睛默默地求索,二十九颗跳动的心奏鸣着同一个声音,我爱我家。这份爱,不仅要心存感恩,更要付诸行动,落实在朝朝暮暮、点点滴滴。

同学们,还记得我们用了整整一个月时间排练,最终取得优异成绩的歌曲《军中绿花》吗?为了班级荣誉,为了我们这个家,练歌时的酸甜苦辣只有我们自己明白,个体的力量是渺小的,但我们相信只有心往一处想,劲往一处使,我们的班集体才能更美好!在班会结束之际,我再次倡议全体同学起立,用淳朴的歌声来向这个早已由天真走向成熟,由幼稚走向稳重的12焊工1班献歌。

全班合唱班歌:军中绿花。父母不仅赋予我们生命,并且在我们生命的每一步里都倾注了无私的爱。正是这份爱,使我们走在健康成长的道路上。有的父母之爱惊天动地,更多的父母之爱默默无闻。天底下的父母之爱,尽管方式有别,但爱得本意都一样。

在世界上的多种爱中,至深至纯的爱是母爱和父爱。这种爱是无私的爱、永恒的爱、是无微不至的爱、不求回报的爱。

母爱如水,往往温柔细腻;父爱如山,往往深沉严格。

只要我们留心,我们随时可以体验到这种爱。学会去感受爱、奉献爱,让爱得种子生根,发芽,长成参天大树。

描述同学:

1.他真诚,大方,朴实,勤勉,生活上大大咧咧,有时爱和同学们开玩笑,在班里,学习成绩非常好,提前参与到车间见习中。他个子不高,皮肤黝黑,无论遇到什么困难都迎难而上。他就是我们的学习好榜样——邹家琛。

家的感受:

1.很多母亲每天陪伴自己的孩子学习,放弃了自己的许多休息时间,很多爸爸为了赶着接送孩子顶风冒雪,忘记一天工作的劳累,我还很多次看到几位奶奶、姥姥、爷爷,为了准时的接送自己的孙子,多少次在风雨中等候。同学们,养育之恩不能忘怀,这就是家。

2.在家时,父亲的脸很严肃,话也许粗鲁了些,其实,从他身上我更多地感受到了一颗火热的爱子之心;母亲的目光是慈爱的,话语是温柔的,从她那儿我体会到了无微不至的慈母之爱。当在异乡遭遇挫折和苦难时,朝家的方向轻轻喊一声“妈妈”,会让我泪水涟涟,那一个曾给我无尽欢乐时光和温馨生活的家会让此时的我如此心动!

3.记得很小的时候,家给我的概念就是肚子饿了可以找到吃的地方,在外边被别的小朋友欺负的时候可以哭诉的地方。第一次离开家是小学毕业的时候,读初中因为要到县里上寄宿学校。一时间喜悦无法言表,因为从小感觉父母将自己束缚的太紧,而此时离家学习好像就是孙悟空逃脱了如来的掌心一样。但是,真正收拾好行装准备前行的时候,才发现自己是多么依恋这个家。

4.家是一盏灯,一张柔软的床;有了灯,不再害怕风吹和雨打;有了床,累了,困了,就可以甜甜的睡上一觉,做个美美的梦;家是一轮太阳,父母欢乐的笑容,合成一缕缕暖和的阳光;家是以爱为圆心,一家人牵手为半径走过的一个圆圈;家是夏天的空调,冬天的酒壶;家是月光下的倾诉,夕阳里的搀扶;家是远行的一声声叮嘱,重逢时滚落的泪珠;家是亲情的归宿,爱心的苗圃;家是出发时的加油站,疲惫时的港湾;家是团圆时的幸福,离别时的牵挂;家就是火车晚点时,站台上妈妈不安的脚步;家是飞机平安着陆时拨通的第一个长途电话;家是前进的风帆……

身边的感人故事:

1.初中毕业要来职校的时候,大家都坐在一起谈天说地,甚至平时关系不好的人也会互相说声祝福,现在想想还是令我感慨万千。

2.在平时很喧闹的宿舍,记得有一次我生病了,突然间那天晚上大家都不那样大声说话了,生怕说话声音大了,影响我的睡眠。

3.充饭卡时,我发现兜里的100元钱丢了。这可是一星期的饭费呀。不久,同学们先后送来我丢失的钱,可一看都不是我的。到了晚自习,我发现课桌上有一叠钱,还有一张纸条,上面写着“这是全班同学的心意,请收下”。

什么是爱国:

1.爱国就是在四川汶川大地震发生后,救灾官兵救人时的奋不顾身,志愿者在灾区的一个眼神,一处帮助,全国亿万群众捐款捐物的热情。

2.爱国就是在奥运会举办之际,运动健儿在竞技场上的奋勇拼搏,志愿者的微笑,国民不乱丢垃圾,文明现看比赛的行为。

3.爱国就是努力学习,做一个尊敬师长、爱家爱校的合格学生!

程序设计说明书
TOP