已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
23面向对象课程设计课程设计设计题目 教学设备管理系统 学生姓名 学 号 专业班级 指导教师 院系名称 设 计题 目 教学设备管理系统成绩主要内容主要内容分为以下几部分1. 需求分析2. 概要设计3. 详细设计4. 编码、调试、分析5. 测试结果6. 感想总结7. 参考资料8. 附录指导教师意见签名: 20 年 月 日教学设备管理系统目录1.问题描述2.系统功能和各个功能模块的介绍3.系统设计方法4.系统实现的主要技术原理和方法5.编码、调试、分析6.感想总结7.参考资料8.附录1.问题描述 学校对教学设备管理都还使用着传统的模式。在此模式下,人工的记录教学信息。而随着时代的不断发展这样的模式已经不能完全适应现代的形势。 信息化时代的到来,使学校传统的管理方法和应用水平都受到了极大的挑战。随着Internet技术持续迅猛的发展,给传统的设备管理模式提出了新的要求。较之传统的管理方式,开发的教学管理系统的优势有:一方面可以动态地管理设备信息;另一方面,管理员可以在任意时间、任意地点通过网络查看设备信息;另外计算机化的管理的一大特点是查找准确而迅速:系统可以在输入结束后当场给出准确的查询结果。2.系统功能和各个模块功能的介绍对于教务处来,工作之一主要是管理教学所用的各种设备和物品,现在要求设计一套管理系统,管理教学的各种设备系统功能要求如下:1. 将每一个教学设备编号、设备名称、生产厂家、购置日期、台数、单价、及备注作为一个记录,该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。2. 根据用户提供的记录或者根据设备编号显示一个或几个设备的记录。3. 可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。4可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。5. 可删除数据文件中的任一记录。6能恢复被删除的任一记录。7可以在数据文件中添加记录并添加记录后对记录内容进行显示。8.(A)统计每页合计台数及金额;(B)累计设备的总台数及总金额;(C)统计单价在:200元以下、200800元之间和800元以上的设备总台数及总金额。(D)按字符表格形式打印合肥工业大学教学设备明细表。9保存数据文件。10打开数据文件。根据对该系统的需求分析可知,设计的教学管理系统有分9个功能:(1) 输入设备信息 (2) 显示设备信息(3) 修改设备信息(4) 查找设备信息(5) 删除设备信息(6) 恢复设备信息 (7) 添加设备信息 (8) 统计设备信息 (9) 保存设备信息并且设计出一个方案:菜单开始根据菜单输入i的值选择程序保存结束2显示记录3修改记录4查找记录5删除记录6恢复记录8统计1输入记录7添加记录0退出3.系统设计方法我们这个组有三个人,在我们商量确定了我们的系统的需求后,我们合作做了打开系统的函数、退出函数和主函数,又分工分做几个子系统,而我负责的是修改设备信息、恢复设备信息以及保存设备信息。我们这个系统没有建立数据库,只是简单地运用数组来存储数据,但系统的功能还是很全面的。我的设计部分:(1)修改设备数据: 当我们新购进了一些教学设备,就需要我们修改数据,这里分为两部分,首先要确定我们是否有该设备,若有,则更新该数据。int modify() /*定义 修改函数*/char name30;int i,n;printf(输入要修改的设备编号:);scanf(%s,name);printf(n);for(i=0;ilength;i+)if(strcmp(si.id,name)=0) n=modifyf(i); /*调用 确认修改函数*/ printf(n);if (n!=1) printf(对不起,该设备不存在nn);system(pause);return 1;int modifyf(int i) /*定义 确认修改函数*/ showsingle(i); printf(n请输入修改后的数据:nn); printf(设备名称:);scanf(%s,&); printf(产地:);scanf(%s,&si.cd);printf(购置日期:);scanf(%s,&si.rq);printf(台数:);scanf(%d,&si.ts);printf(单价:);scanf(%d,&si.dj);printf(金额:);scanf(%d,&si.je);printf(备注:);scanf(%s,&si.bz); /*逐个修改该职工信息,只修改了基本工资,待修改*/printf(n); printf(修改结果如下:nn); showsingle(i);return 1; (2)恢复数据: 当我们想恢复我们删除的数据信息时,这时,我们就用到了该函数。int recovery()char name30;int i,n;printf(n请输入要恢复的设备编号:);scanf(%s,name);for(i=0;ik;i+)if(strcmp(di.id,name)=0) slength=di;length+;n=1;printf(n恢复成功n); /需修正,不能无限次恢复,应只恢复一次,而且应修复到被删除的地方printf(n恢复后结果如下:n);display();printf(n);if (n!=1)printf(对不起,该设备尚未存在记录nn);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保存成功nn);system(pause);return 1;队友的设计部分:(1)输入数据:输入教学设备名称,编号,产地,购置日期,台数,单价,金额等的相关信息,通过自己定义的input()函数来实现。 int input() /*输入数据*/ int num,i;printf(n请输入你想创建的记录个数:); scanf(%d,&num);printf(n);for (i=0;inum;i+)printf(设备编号:);scanf(%s,&slength.id);printf(设备名称:);scanf(%s,&); printf(产地:);scanf(%s,&slength.cd);printf(购置日期:);scanf(%s,&slength.rq);printf(台数:);scanf(%d,&slength.ts);printf(单价:);scanf(%d,&slength.dj);printf(金额:);scanf(%d,&slength.je);printf(备注:);scanf(%s,&slength.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,si.id,,si.cd,si.rq,si.ts,si.dj,si.je,si.bz); return 1;int display() /定义显示函数int i;printf( 设备编号 设备名称 产地 购置日期 台数 单价 金额 备注n);for(i=0;ilength;i+)printf(%8s %11s %6s %9s %5d %7d %8d %6s n,si.id,,si.cd,si.rq,si.ts,si.dj,si.je,si.bz); system (pause);return 1;(3)查找数据:可以按编号查询教学设备信息,通过自己定义的search ()函数来实现。int search() /*定义 查找函数*/ char name30;int i,n;printf(请输入要查询的设备编号:);scanf(%s,name);printf(n);for(i=0;ilength;i+)if(strcmp(si.id,name)=0) /*调用字符串比较函数 若employeei中的名字和要查找的人同名,则输出他的信息*/n=showsingle(i);printf(n);if (n!=1) printf(对不起,该设备尚未存在记录nn);system (pause);return 1;(4)删除数据:删除需要删除的教学设备记录,通过自己定义的delete1()函数来实现。int delete1() /*定义 删除记录函数*/char name30;int i,n;printf(请输入要删除的设备编号:);scanf(%s,name);for(i=0;ilength;i+)if(strcmp(si.id,name)=0) /*调用字符串比较函数 若employeei中的名字和要删除的人相同,则执行删除函数deletef(i)*/n=deletef(i); printf(n);if (n!=1) printf(对不起,该设备尚未存在记录nn);system(pause);return 1;int deletef(int local) /*定义 确认删除函数*/int i;dk=slocal; /结构体整体赋值k+;for(i=local;ilength;i+) strcpy(si.id,si+1.id);strcpy(,si+1.name); strcpy(si.cd,si+1.cd);strcpy(si.rq,si+1.rq);si.ts=si+1.ts;si.dj=si+1.dj;si.je=si+1.je; /*从删除的职工开始把后一个职工的所有数据依次赋给前一个职工*/strcpy(si.bz,si+1.bz);length-; /*结构体数组长度减1*/printf(n删除成功n);printf(n删除后结果如下:n);display();return 1;(5)恢复数据int recovery()char name30;int i,n;printf(n请输入要恢复的设备编号:);scanf(%s,name);for(i=0;ik;i+)if(strcmp(di.id,name)=0) slength=di;length+;n=1;printf(n恢复成功n); /需修正,不能无限次恢复,应只恢复一次,而且应修复到被删除的地方printf(n恢复后结果如下:n);display();printf(n);if (n!=1)printf(对不起,该设备尚未存在记录nn);system(pause);return 1;(6)统计数据:统计在(0,200)(200,800)(800,+)区间内的设备台数,通过自己定义的count()函数来实现。int count ()int i,zts=0,zje=0,num1=0,num2=0,num3=0,num4=0,num5=0,num6=0;printf( 设备编号 设备名称 产地 购置日期 台数 单价 金额 备注n); for(i=0;ilength;i+) printf(%8s %11s %6s %9s %5d %7d %8d %6s n,si.id,,si.cd,si.rq,si.ts,si.dj,si.je,si.bz); for (i=0;ilength;i+)zts+=si.ts;for(i=0;ilength;i+) zje+=si.je;printf( 合计 %34d %16d n,zts,zje);for(i=0;ilength;i+)if (si.dj200)num1+=si.ts;num2+=si.je;if (200=si.dj&si.dj=800)num5+=si.ts;num6+=si.je;printf(n单价在 200 元以下的设备总台数为%4d,总金额为%dn,num1,num2);printf(n单价在 200800 元 的设备总台数为%4d,总金额为%dn,num3,num4);printf(n单价在 800 元以上的设备总台数为%4d,总金额为%dn,num5,num6); system(pause);return 1;int open()FILE *fout;char fname210;int i,n,j;printf(n请输入您想打开的文件名:); /文件名有问题scanf(%s,fname2);if (fout=fopen(fname2,rb)!=NULL)if (length=0) for (j=0;j10;j+)fread(&allj,sizeof(SB),1,fout);if (allj.dj!=0) length+;fclose(fout); n=1;elsefread(all,sizeof(SB),length,fout); /结构体数组all接受二进制整体赋值,并通过该数组输出退出程序再次打开时length为0,所以没有读入数据fclose(fout);n=1;elseprintf(n您输入的文件名不存在nn);system(pause);if (n=1)for (i=0;i10;i+) si=alli;display(); return 1;4. 系统实现的主要技术原理和方法 我们这个教学设备管理系统的主要用到的是数组和系统函数,方法是经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。我们并没有建立数据库,用这个系统的人可以根据需要自行的输入设备信息,让后保存在就是可以经行其他功能的操作了。5.编码、调试、分析一、编码 确定主函数,在系统中设置一个主页面,然后设计一个菜单界面,用来作为功能选择器,从而可以设置上述的函数来完成这些功能。把主函数与菜单函数,和上述子函数结合构成一个完整的系统程序。经调试和分析得到我们想要的系统。int main() int i;home();while (1)system(cls);i=menu();if (i=0) printf(n请按任意键退出n);return 1;if (i=1) input();system(cls); if (i=2) display();system(cls);if (i=3) modify();system(cls); if (i=4) search();system(cls); if (i=5) delete1(); system(cls); if (i=6) recovery();system(cls); if (i=7) add();system(cls); if (i=8) count();system(cls);if (i=9) save();system(cls);if (i=10)open();system(cls);return 1;int home() system(cls);printf( nnnnnnn);printf( 合肥工业大学nn);printf( 教学设备管理系统nnnn);printf( 请按Enter键进入nnnn);while (getchar()!=n);return 1;int menu() /*定义 界面函数*/int flag=0;printf( nnnnnnn);printf( 合肥工业大学 教学设备管理 n);printf( *n);printf( | 1 输入记录 2 显示记录 |n); printf( | 3 修改记录 4 查找记录 |n);printf( | 5 删除记录 6 恢复记录 |n);printf( | 7 添加记录 8 统计 |n);printf( | 9 保存 10 打开 |n); printf( | 0 退出 |n);printf( *n);printf( 请输入0-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026二上数学第七单元趣味课件
- 2026二上数学表内除法新课标课件
- 销售述职报告年度集(3篇)
- 人教版小学四年级上册语文 口语交际 我是小小讲解员 教案
- 人教版三年级上册数学 教案 单元备课 线和角
- 禽霍乱免疫疫苗的种类
- 冠心病健康教育示范课
- Unit 7 Fun after school Section 4 Extending and developing competencies Focusing on culture 教学设计2026-2027学年沪教版英语七年级上册
- 15.叠加场模型-物理一轮微专题(模型篇)
- 垃圾分类教育主题班会课件【共23张】
- 2026年黑龙江省法官逐级遴选考试题及答案
- 2026年宿迁市城区招商发展有限公司招聘工作人员4人笔试模拟试题及答案详解
- 2026年内蒙古中考历史试卷(含详细答案解析)
- 2026年全国导游基础知识真题卷及答案(共十六套)
- 全球关键矿产资源的空间分布特征
- (2026年)中小学阳光招生专项行动课件
- 2026年UTV全地形车行业分析报告及未来发展趋势报告
- TSG08-2026《特种设备使用管理规则》解析
- 临床左下肢动脉栓塞患者护理查房
- 维修业务接待制度
- 艾维岚童颜针培训课件
评论
0/150
提交评论