教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校课程设计设计题目教学设备管理系统学生姓名学号专业班级指导教师院系名称教学设备管理系统目录1.问题描述2.系统功能和各个功能模块的介绍3.系统设计方法4.系统实现的主要技术原理和方法5.编码、调试、分析6.感想总结7.参考资料8.附录1.问题描述学校对教学设备管理都还使用着传统的模式。
在此模式下,人工的记录教学信息。
而随着时代的不断发展这样的模式已经不能完全适应现代的形势。
信息化时代的到来,使学校传统的管理方法和应用水平都受到了极大的挑战。
随着Internet技术持续迅猛的发展,给传统的设备管理模式提出了新的要求。
较之传统的管理方式,开发的教学管理系统的优势有:一方面可以动态地管理设备信息;另一方面,管理员可以在任意时间、任意地点通过网络查看设备信息;另外计算机化的管理的一大特点是查找准确而迅速:系统可以在输入结束后当场给出准确的查询结果。
2.系统功能和各个模块功能的介绍对于教务处来,工作之一主要是管理教学所用的各种设备和物品,现在要求设计一套管理系统,管理教学的各种设备系统功能要求如下:1. 将每一个教学设备编号、设备名称、生产厂家、购置日期、台数、单价、及备注作为一个记录,该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
2. 根据用户提供的记录或者根据设备编号显示一个或几个设备的记录。
3. 可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4.可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5. 可删除数据文件中的任一记录。
6.能恢复被删除的任一记录。
7.可以在数据文件中添加记录并添加记录后对记录内容进行显示。
8.(A)统计每页合计台数及金额;(B)累计设备的总台数及总金额;(C)统计单价在:200元以下、200~800元之间和800元以上的设备总台数及总金额。
(D)按字符表格形式打印合肥工业大学教学设备明细表。
9.保存数据文件。
10.打开数据文件。
根据对该系统的需求分析可知,设计的教学管理系统有分9个功能:(1)输入设备信息(2)显示设备信息(3)修改设备信息(4)查找设备信息(5)删除设备信息(6)恢复设备信息(7)添加设备信息(8)统计设备信息(9)保存设备信息并且设计出一个方案:3.系统设计方法我们这个组有三个人,在我们商量确定了我们的系统的需求后,我们合作做了打开系统的函数、退出函数和主函数,又分工分做几个子系统,而我负责的是修改设备信息、恢复设备信息以及保存设备信息。
我们这个系统没有建立数据库,只是简单地运用数组来存储数据,但系统的功能还是很全面的。
我的设计部分:(1)修改设备数据:当我们新购进了一些教学设备,就需要我们修改数据,这里分为两部分,首先要确定我们是否有该设备,若有,则更新该数据。
int modify() /*定义修改函数*/{char name[30];int i,n;printf("输入要修改的设备编号:");scanf("%s",name);printf("\n");for(i=0;i<length;i++){if(strcmp(s[i].id,name)==0)n=modifyf(i); /*调用确认修改函数*/ }printf("\n");if (n!=1) printf("对不起,该设备不存在\n\n");system("pause");return 1;}int modifyf(int i) /*定义确认修改函数*/{showsingle(i);printf("\n请输入修改后的数据:\n\n");printf("设备名称:");scanf("%s",&s[i].name);printf("产地:");scanf("%s",&s[i].cd);printf("购置日期:");scanf("%s",&s[i].rq);printf("台数:");scanf("%d",&s[i].ts);printf("单价:");scanf("%d",&s[i].dj);printf("金额:");scanf("%d",&s[i].je);printf("备注:");scanf("%s",&s[i].bz); /*逐个修改该职工信息,只修改了基本工资,待修改*/printf("\n");printf("修改结果如下:\n\n");showsingle(i);return 1;}(2)恢复数据:当我们想恢复我们删除的数据信息时,这时,我们就用到了该函数。
int recovery(){char name[30];int i,n;printf("\n请输入要恢复的设备编号:");scanf("%s",name);for(i=0;i<k;i++){if(strcmp(d[i].id,name)==0){s[length]=d[i];length++;n=1;printf("\n恢复成功\n"); //需修正,不能无限次恢复,应只恢复一次,而且应修复到被删除的地方printf("\n恢复后结果如下:\n");display();}}printf("\n");if (n!=1){printf("对不起,该设备尚未存在记录\n\n");system("pause");}return 1;}(3)保存数据int save(){FILE *fout;printf("\n请为您保存的文件命名:");scanf("%s",fname);fout=fopen(fname,"wb"); //文件名为fname,数组名,无双引号fwrite(s,sizeof(SB),length,fout);fclose(fout);printf("\n保存成功\n\n");system("pause");return 1;}队友的设计部分:(1)输入数据:输入教学设备名称,编号,产地,购置日期,台数,单价,金额等的相关信息,通过自己定义的input()函数来实现。
int input() /*输入数据*/{int num,i;printf("\n请输入你想创建的记录个数:");scanf("%d",&num);printf("\n");for (i=0;i<num;i++){printf("设备编号:");scanf("%s",&s[length].id);printf("设备名称:");scanf("%s",&s[length].name);printf("产地:");scanf("%s",&s[length].cd);printf("购置日期:");scanf("%s",&s[length].rq);printf("台数:");scanf("%d",&s[length].ts);printf("单价:");scanf("%d",&s[length].dj);printf("金额:");scanf("%d",&s[length].je);printf("备注:");scanf("%s",&s[length].bz);printf("\n");++length; /*结构体数组长度增加1*/}system("pause");return 1;}(2)显示数据:显示输入后保存的全部信息,通过自己定义的display()函数来实现。
int showsingle(int i){printf(" 设备编号设备名称产地购置日期台数单价金额备注\n");printf("%8s %11s %6s %11s %5d %7d %10d %7s\n",s[i].id,s[i].name,s[i].cd,s[i].rq,s[i].ts,s[i].dj,s[i].je,s[i].bz );return 1;}int display() //定义显示函数{int i;printf(" 设备编号设备名称产地购置日期台数单价金额备注\n");for(i=0;i<length;i++)printf("%8s %11s %6s %9s %5d %7d %8d %6s\n",s[i].id,s[i].name,s[i].cd,s[i].rq,s[i].ts,s[i].dj,s[i].je,s[i].bz );system ("pause");return 1;}(3)查找数据:可以按编号查询教学设备信息,通过自己定义的search ()函数来实现。
int search() /*定义查找函数*/{ char name[30];int i,n;printf("请输入要查询的设备编号:");scanf("%s",name);printf("\n");for(i=0;i<length;i++){if(strcmp(s[i].id,name)==0) /*调用字符串比较函数若employee[i]中的名字和要查找的人同名,则输出他的信息*/n=showsingle(i);}printf("\n");if (n!=1) printf("对不起,该设备尚未存在记录\n\n");system ("pause");return 1;}(4)删除数据:删除需要删除的教学设备记录,通过自己定义的delete1()函数来实现。