仪器仪表管理系统
数据库__仪器仪表管理系统方案
任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。
这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理模式,并据此建立数据库及其应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
随着现代企业规模的不断扩大,仪器仪表数量也相应的增加,有关仪器仪表的各种信息量也成倍增加,设计一个合理的仪器仪表管理系统已迫不及待,为此本课程设计设计了一个仪器仪表管理系统以供大型企业使用,但只设计了部分主要功能,详细细节还需完善。
第1章.概述 (3)1.1.项目背景 (3)1.2.编写目的 (3)1.3.软件设计 (3)1.4.开发环境 (4)第2章.需求分析 (5)1.1.系统目标设计 (5)1.2.本系统的开发设计思想 (5)1.3.数据流图 (5)1.4.数据字典 (6)第3章.概念结构设计 (12)第4章.逻辑结构设计 (15)第5章.软件功能设计 (18)第6章.界面设计 (19)第7章.小结 (21)第8章.参考文献 (22)第1章、概述1.1、项目背景:随着现代企业规模的不断扩大,仪器仪表数量也相应的增加,有关仪器仪表的各种信息量也成倍增加,面对着庞大的信息量,在大型企业里,传统的人工方式管理会导致仪器仪表管理上的混乱,人力与物力过多浪费,仪器仪表管理费用的增加,从而使企业的负担过重,影响整个企业的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的仪器仪表管理系统,对仪器仪表进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高仪器仪表管理工作效率,做到信息的规范管理,科学统计和快速查询,让仪器仪表更好的为企业单位人员所使用。
利用计算机管理仪器仪表
利用计算机管理仪器仪表随着油田建设事业的不断发展,仪器仪表应用越来越多,油田生产自动化水平也越来越高。
传统管理已不适应动态管理的藉要,计算机的广泛使用为仪器仪表管理水平的提高创造了良好的条件。
天津大港油田作业一区利用计算机管理仪器仪表,取得明显效果。
1.系统概况仪器仪表管理系统主要包括仪表的台账、检定,以及待检计划、已检和未检的处理。
该系统在有关单位和专业人员的配合下,完成了程序设计及调试工作并已投入运行。
2.系统分析与系统设计系统分析是系统开发的基础工作,是使设计达到优化、合理的重要步骤,首先对作业一区9个采油队、2个输注队所有的计量站、转油站、注水站及污水站共105个站所用各类仪表4000余块进行调查、统计、分析、归类。
通过分析发现存在以下几个问题:(1)仪表种类繁多数量大。
一区需要定期检定的仪表就有3000多块,人工统计管理十分繁杂,查阅十分困难。
(2)不能满足仪表器具变化的需要。
仪表在使用过程中,经常增添新仪表,报废旧仪表,检定周期和管理类别也有时调整,检定时间也可能有变化。
(3)统计报表量大。
计量仪表器具是油田固定资产的一部分,对应的统计报表量也较多,除应建的台账,还需填报大量表格,如检定计划、检定通知等。
针对以上问题,进行分析如下:建立仪器仪表动态数据库管理系统,录入仪表的详细资料,使仪器仪表的使用情况、检定情况、安装地点、安装时间等信息一目了然地呈现出来,以提高计量仪表器具的投入率和使用率。
3.系统功能设计该系统软件采用的程序设计语言是Foxpro2.5b for Windows。
软件采用的是模块式结构设计方法,功能可随时扩展,操作方便。
系统主要由4个部分组成。
(1)建立仪表账目本模块的功能是将全厂仪器仪表的原始记录输入到新装仪表、报废仪表或现场仪表相应数据库中。
(2)仪表查询查询模块是为用户随时查找有关信息而设置,该模块共有3种查询方式即浏览查询、条件查询和快速查询。
(3)仪表报表该模块主要包括以下几个功能模块,即打印报表、仪表统计和检定管理。
仪器仪表管理系统概述
仪器仪表管理系统概述随着科学技术的进步和工业化的发展,仪器仪表在各个领域中扮演着至关重要的角色。
仪器仪表管理系统是一种集中管理和监控仪器仪表设备的系统,旨在提高设备的可靠性、准确性和安全性。
本文将对仪器仪表管理系统的概述进行详细介绍。
一、仪器仪表管理系统的定义和概念仪器仪表管理系统是一种集成了硬件设备、软件系统和相关技术的综合性管理系统。
它主要用于对实验室、工厂、医疗机构等场所内的仪器仪表设备进行监控、管理和维护。
该系统通过采集和分析仪器仪表设备的数据,帮助用户监测设备的状态、保养设备、提高设备的工作效率和性能。
二、仪器仪表管理系统的功能1. 设备监控:仪器仪表管理系统通过传感器和仪表设备本身的数据输出,实时监控设备的运行状态和性能。
用户可以通过系统界面查看设备的实时数据、报警信息以及设备的工作曲线等。
2. 设备管理:系统可对设备进行远程控制,比如设备的开关、调整参数等。
此外,系统还能够对设备进行排程管理、记录设备维护和保养情况,为设备的维护管理提供便利。
3. 数据分析:通过对所采集到的设备数据进行分析和处理,系统可以帮助用户发现设备的异常行为,提前预防设备故障的发生。
同时,通过数据分析,用户还可以了解设备的工作情况,提高设备的工作效率和性能。
4. 故障诊断:仪器仪表管理系统可以根据设备故障的数据特征和设备的工作状态,帮助用户诊断设备故障的原因和位置。
这对于快速解决设备故障以及减少故障对工作流程的影响具有重要意义。
5. 报表生成:系统能够根据用户的需求,生成各种设备工作报告、故障分析报告和维护记录报告等。
这方面的功能对于设备管理者了解设备运行情况、评估设备维护情况具有重要意义。
三、仪器仪表管理系统的优势1. 提高工作效率:通过实时监控和设备管理,仪器仪表管理系统能够及时发现设备故障和异常,并进行相应的处理,从而减少了因设备故障而造成的停机时间,提高了工作效率。
2. 降低维护成本:系统可以对设备进行维护计划的制定和执行,减少了设备的维护成本。
(完整word版)仪器仪表管理系统设计——C语言
仪器仪表管理系统【要求】系统功能的基本要求:(1)新的仪器仪表信息的录入;(2)在借出、归还、维修时对仪器仪表信息的修改;(3)对报废仪器仪表信息的删除;(4)按照一定的条件查询符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息(如仪器仪表名字、仪器仪表编等)的查询、按时间点(借入时间、借出时间、归还时间)查询等(5)对查询结果的输出。
【提示】数据结构采用结构体。
仪器仪表信息包括仪器仪表名、仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间、状态信息(0代表可借出,1代表已借出,2代表正在维修)等。
二、需求分析根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供文件的输入输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该提供键盘式选择菜单实现功能选择。
三、总体设计系统功能模块图四、详细设计1.主函数主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。
其各功能模块用菜单方式选择。
本题将main()函数体内的界面选择部分语句单独抽取出来作为一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。
【程序】main(){menu();}菜单部分设计如下:N主函数的菜单流程图【程序】menu(){int n,w;/*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*/do{puts("\t\t**************MENU********************\n\n");puts("\t\t\t\t 1.enter");puts("\t\t\t\t 2.modify");puts("\t\t\t\t 3.search");puts("\t\t\t\t 4.delete");puts("\t\t\t\t 5.exit");puts("\n\n\t\t ******************************************\n");printf("Choice your number(1-5):[ ]\b\b");scanf("%d",&n);if(n<1||n>5) /*对选择的数字作判断*/{w=1;getchar();}else w=0;}while(w==1);switch(n){case 1:enter();break; /*输入模块*/case 2:modify();break; /*修改模块*/case 3:search();break; /*查找模块*/case 4:delete();break; /*删除模块*/case 5:exit(0); /*退出*/}}2.各功能模块设计(1)输入模块【数据结构】【分析】单独看各数据信息,仪器仪表名是字符型,可采用字符型数组;仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间应采用实型;状态信息是整数,采用整型。
仪器仪表管理系统概述
第1章仪器仪表管理系统概述1.1 用户特点仪器仪表管理系统的用户主要包括三类:1)系统管理员:负责系统的日常维护,人员权限和信息编码的管理。
2)管理者:对仪器仪表及部门的信息进行输入、修改、查询。
3)查询者:对仪器仪表及部门的信息进行查询。
1.2 业务概述随着设备数量的日趋增多,必须要有一套完整的信息管理系统,通过在管理系统中引入完善的管理机制,使系统能在现有基础上更为有力的进行组织和管理,从而达到节省资源,提高管理质量的目的。
仪器仪表管理系统正是基于此而进行开发的。
工厂由于拥有多种仪器仪表及其它的设备,这些仪器仪表在每天的使用中不光在损坏时进行待修或是进行流程式的工作检查,甚至是损坏严重不能维修进行报废处理,这样一来这些仪器仪表就会有各种状态(如正常、送检、待修、报废),如何对工厂中如此多种的这些仪器仪表进行有效的管理,就自然而然成了一个急需解决的问题了。
仪器仪表管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易于使用,界面美观等特点。
仪器仪表管理系统包括仪器仪表的基本信息,部门基本信息,同时进行仪器仪表信息的查询。
仪器仪表信息的输入用于对新仪器仪表的基本信息的输入;部门信息的用于对部门信息的修改;仪器仪表信息的查询用于对仪器仪表的库存信息,被领用信息及仪器仪表各个状态的数量的统计。
Inprise(原Borland)公司的Delphi6.0是Windows应用程序RAD开发工具,是面向对象编程技术和Windows可视化编程技术的最好结合。
Delphi提供了大量的控件及第三方组件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性,是目前最为广泛的、易学易用的面向对象开发工具之一。
仪器仪表管理系统
题目要求19、仪器仪表管理【要求】系统功能的基本要求:(1)新的仪器仪表信息的录入;(2)在借出、归还、维修时对仪器仪表信息的修改;(3)对报废仪器仪表信息的删除;(4)按照一定的条件查询符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息(如仪器仪表名字、仪器仪表编等)的查询、按时间点(借入时间、借出时间、归还时间)查询等(5)对查询结果的输出。
【提示】数据结构采用结构体。
仪器仪表信息包括仪器仪表名、仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间、状态信息(0代表可借出,1代表已借出,2代表正在维修)等。
二、需求分析根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供文件的输入输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该提供键盘式选择菜单实现功能选择。
三、总体设计系统功能模块图四、详细设计1.主函数主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。
其各功能模块用菜单方式选择。
本题将main()函数体内的界面选择部分语句单独抽取出来作为一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。
【程序】main(){menu();}菜单部分设计如下:【流程图】N主函数的菜单流程图【程序】menu(){int n,w;/*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*/ do{puts("\t\t**************MENU********************\n\n");puts("\t\t\t\t 1.enter");puts("\t\t\t\t 2.modify");puts("\t\t\t\t 3.search");puts("\t\t\t\t 4.delete");puts("\t\t\t\t 5.exit");puts("\n\n\t\t ******************************************\n");printf("Choice your number(1-5):[ ]\b\b");scanf("%d",&n);if(n<1||n>5) /*对选择的数字作判断*/{w=1;getchar();}else w=0;}while(w==1);switch(n){case 1:enter();break; /*输入模块*/case 2:modify();break; /*修改模块*/case 3:search();break; /*查找模块*/case 4:delete();break; /*删除模块*/case 5:exit(0); /*退出*/}}2.各功能模块设计(1)输入模块【数据结构】【分析】单独看各数据信息,仪器仪表名是字符型,可采用字符型数组;仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间应采用实型;状态信息是整数,采用整型。
课程设计仪器管理系统
课程设计仪器管理系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握仪器管理系统的相关概念、原理和操作方法;技能目标要求学生能够运用仪器管理系统进行实验数据的采集、处理和分析;情感态度价值观目标要求学生培养对科学探究的兴趣,提高实验操作的规范性和责任感。
通过分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。
本课程的教学大纲如下:1.教材第一章:仪器管理系统的概述1.1 仪器管理系统的定义和发展1.2 仪器管理系统的组成和功能1.3 仪器管理系统的应用领域2.教材第二章:仪器管理系统的操作方法2.1 仪器的基本操作2.2 数据采集和处理2.3 数据分析和解读3.教材第三章:仪器管理系统的应用案例3.1 实验案例一:XXX仪器在XXX领域的应用3.2 实验案例二:XXX仪器在XXX领域的应用3.3 实验案例三:XXX仪器在XXX领域的应用三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,通过教学方法应多样化,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解仪器管理系统的概念、原理和操作方法,帮助学生建立基础知识框架。
2.讨论法:通过小组讨论,引导学生深入思考和探讨仪器管理系统的应用案例,提高学生的分析能力。
3.案例分析法:分析具体实验案例,让学生了解仪器管理系统在实际应用中的作用和意义。
4.实验法:学生进行实验操作,培养学生的实验技能和动手能力,提高对仪器管理系统的理解和运用能力。
四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。
教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。
1.教材:选用权威、实用的教材,如《仪器管理系统教程》。
2.参考书:提供相关领域的参考书籍,如《仪器分析》、《实验技术》等。
仪器仪表管理系统用户使用手册
仪器仪表管理系统用户使用手册
仪器仪表管理系统使用方法如下所示:
1.打开浏览器,在地址栏输入大型仪器管理系统网址。
2.在系统登陆界面,您可以在右边看到系统功能模块图标,未登录用户可以直接点击颜色较为明亮的图标,查看里面的内容,而反灰图标只有登陆用户才能点击查看。
3.注册:点击左侧“注册新用户”,请如实填写所有注册信息,如登录信息、个人信息、联系方式等。
点击“注册”后,您会看到“您已经成功注册用户,请等待审核通过”的提示。
帐号激活后,您的邮箱将会收到一封帐号激活的通知邮件。
4.登陆:在左边登陆框中输入帐号和密码,您可以选择“记住登陆”,则下次输入系统网址后,将直接登陆您的个人帐号(如果您使用的计算机为公共计算机,建议您不要勾选该项),点击“登录”,进入系统。
左侧您可以按分类管理图标Q和分类管理列表目两种方式进行查看。
图中所示的功能模块会根据具体客户的实际需求进行增减,实际使用界面以用户最终看到的产品为准。
仪器仪表管理系统
一、开发背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业对于各种信息档案的管理势在必行。
它是适应现代企业制度要求、推动企业工具(仪器仪表)管理走向科学化、规范化的必要条件。
仪器仪表管理系统可以支持企业完成工具管理的工作,有如下三个方面的目标。
1.支持企业高效率完成劳动工具管理的日常业务,包括购买新的仪器仪表的建立,借出、归还、维修时仪器仪表信息的修改,报废仪器仪表信息的删除。
2.支持企业进行工具管理及其相关方面的科学决策,如企业领导根据现有的仪器仪表的信息决定所需新买进的仪器仪表及其数量。
为了完善全面的仪器仪表管理功能,使企业对于仪器仪表管理流程合理化和自动化处理和分析各种有价值的信息,该系统采用了Oracle11g数据库开发环境,使用专用数据库接口连接,其存取速度快、安全性好,便于管理和操作。
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成对仪器仪表的管理全过程,包括仪器仪表的基本信息、情况表,状态表等的各种信息的修改、对于报废仪器仪表信息的删除等管理工作。
二、系统设计1.系统功能需求分析仪器仪表管理系统主要满足两类用户的需要,这两类用户是管理员与普通的用户,他们所具有的操作权限与内容是不同的。
要求管理系统满足以下功能:管理员可以对仪器仪表的基本信息、借还状态、维修状况进行录入、修改、查询和删除;普通用户可以对这些信息进行查询。
具体功能如下:①新的仪器仪表的输入,包括基本信息表,情况表,状态表等。
②仪器仪表各种信息的修改,包括借出、归还、维修等。
③对于报废仪器仪表信息的删除。
④按照某种条件查询、统计符合条件的仪器仪表信息。
⑤对查询、统计的结果打印输出。
⑥仪器仪表系统的使用帮助。
2.数据流图3.系统总体功能模块三.概念设计(E-R 图)根据以上分析规划出的实体有:仪器仪表信息,用户信息,借还信息,维修信息,企业部门信息,厂家信息等实体。
用户实体E-R 图:仪器仪表基本信息E-R 图:用户用户编号用户名密码所属部门号 仪器仪表仪器号仪器名购买时间购买厂家编号保修期借还表E-R 图:维修表E-R 图:企业部门信息表E-R 图:借还信息借还编号仪器名用户编号借出时间归还时间是否毁坏维修表维修编号仪器号报修用户编号保修时间领取时间 维修状态企业部门信息表部门名部门号负责人编号厂家信息表E-R图:1.关系模式2.数据字典厂家信息表厂家编号厂家名称厂家地址。
仪器仪表管理系统
仪器仪表管理系统系统功能的基本要求:(1)新的仪器仪表的信息的录入;(2)在借出、归还、维修时对仪器仪表信息的修改;(3)对报废仪器仪表信息的删除;(4)按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间、借入时间、归还时间)查询等,统计功能至少包括按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)统计、按仪器仪表基本信息的统计等;(5)对查询、统计的结果打印输出。
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>#define N 9999struct meter{int num;char name[20];int mt;int jrt;int jct;int gt;int wt;char zt[4];}met[N];void main(){void menu(int y); int enter(int y); int modify(int y); void search(int y);void search_1(int y); void search_2(int y); void search_3(int y); void search_4(int y); void search_5(int y);void search_m(int y); void search_jr(int y); void search_jc(int y); void search_g(int y); void search_w(int y);void search_md(int y); void search_jrd(int y); void search_jcd(int y); void search_gd(int y); void search_wd(int y);void save(int w,int n); void printf_face();void printf_back(int y); void exit();int f();int ff();void fff();void ffff(int y);static int y;puts("\n*******************************仪器仪表信息管理系统*****************************");y=f();menu(y);}void menu(int y){int n;puts("\n\n\n\t\t\t*************主菜单*************");puts("\n\t\t\t\t1.浏览仪器仪表信息");puts("\n\t\t\t\t2.录入仪器仪表信息");puts("\n\t\t\t\t3.查询仪器仪表信息");puts("\n\t\t\t\t4.修改仪器仪表信息");puts("\n\t\t\t\t5.退出信息管理系统");puts("\n\t\t\t****************************** **");printf("\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&n);while(n<1||n>5){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&n);}system("cls");switch(n){case 1: fff();puts("\t\t\t*******1.浏览仪器仪表信息*******");ff();puts("\t\t\t**********退出浏览系统**********");puts("\t\t\t\t 浏览成功!");ffff(y);break;case 2: f();fff();y=enter(y);ffff(y);break;case 3: f();fff();puts("\t\t\t*******3.查询仪器仪表信息*******");search(y);ffff(y);break;case 4: f();fff();y=modify(y);ffff(y);break;case 5: exit(0);}}int enter(int y){int i,n,a,b,a2,p[4]={0,0,0,0};puts("\t\t\t*********2.录入仪器仪表信息*********");puts("\n\n仪器仪表信息储存示例: (y表示可借,n表示不可借)");printf("序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");printf("0000 00000 aaaa 20100101 20100101 20100101 20100101 20100101 y\n");printf("9999 11111 bbbb 20100101 20100101 20100101 20100101 20100101 n");printf("\n新录入信息将储存在文件met.txt 中.");printf("\n\n扫描已储存信息文件met.txt?[ ] 1).是2).否\b\b\b\b\b\b\b\b");scanf("%d",&a);while(a<1||a>2){puts("警告!!! 输入错误!");printf("\n扫描已储存信息文件met.txt?[ ] 1).是2).否\b\b\b\b\b\b\b\b");getchar();scanf("%d",&a);if(a==1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*********2.录入仪器仪表信息*********");ff();}printf("\n\t\t\t开始录入信息(剩余可用储存:%d条)",9999-y);printf("\n\n\n新录入仪器仪表信息个数:"); scanf("%d",&n);while(n<1||n>9999-y){puts("警告!!! 输入错误!");printf("\n录入的仪器仪表信息个数:");getchar();scanf("%d",&n);system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*********2.录入仪器仪表信息*********");printf("\n\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");for(i=y;i<y+n;i++){if(i+1>=1000) b=0;else if(i+1>=100) b=1;else if(i+1>=10) b=2;else b=3;for(a2=0;a2<b;a2++) printf("%d",p[a2]); printf("%d ",i+1);scanf("%d%s%d%d%d%d%d%s",&met[i].num,met[i].name,&met[i].mt,&met[i].jrt,&met[i]. jct,&met[i].gt,&met[i].wt,met[i].zt);}save(0,y+n);y=y+n;puts("\t\t\t************退出录入系统************");puts("\t\t\t\t 保存成功!");return y;}int modify(int y){intc,w1,i,p,k,b1,a2,a1,a3,a4=-1,x,m[4]={0,0,0,0}; FILE *fp;struct meter b;struct meter p1;puts("\t\t\t*******4.修改仪器仪表信息*******");do{printf("\n仪器仪表序号(输入0可以退出):");scanf("%d",&p);k=p-1;while(p<0){puts("警告!!! 输入错误!");printf("\n仪器仪表序号(输入0可以退出):");getchar();scanf("%d",&p);k=p-1;}if(p==0){puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 取消修改!");ffff(y);exit(0);}if(k>=y) printf("\n\t\t\t\t不存在此信息!");}while(k>=y);printf("\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");if(k+1>=1000) b1=0;else if(k+1>=100) b1=1;else if(k+1>=10) b1=2;else b1=3;if(met[k].num>=10000) a2=0;else if(met[k].num>=1000) a2=1;else if(met[k].num>=100) a2=2;else if(met[k].num>=10) a2=3;else a2=4;for(x=0;x<b1;x++) printf("%d",m[x]);printf("%d ",k+1);for(a1=0;a1<a2;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt ); printf("\n确认修改此信息?[ ] 1).确认2).退出系统\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%d",&a3);while(a3<1||a3>2){puts("警告!!! 输入错误!");printf("\n确认修改此信息?[ ] 1).确认2).退出系统\b\b\b\b\b\b\b\b\b\b\b\b");getchar();scanf("%d",&a3);}if(a3==2){puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 取消修改!");ffff(y);exit(0); }do{p1.num=met[k].num;strcpy(,met[k].na me);p1.mt=met[k].mt;p1.jrt=met[k].jrt;p1.jct= met[k].jct;p1.gt=met[k].gt;p1.wt=met[k].wt;strc py(p1.zt,met[k].zt);printf("\n\t\t\t\t1).仪器仪表编号\n\t\t\t\t2).仪器仪表名称\n\t\t\t\t3).购买时间\n\t\t\t\t4).借入时间\n\t\t\t\t5).借出时间\n\t\t\t\t6).归还时间\n\t\t\t\t7).维修时间\n\t\t\t\t8).状态信息\n\t\t\t\t9).删除此信息\n请选择修改操作[ ]\b\b");scanf("%d",&c);while(c<1||c>9){puts("警告!!! 输入错误!");printf("\n请重新选择:[ ]\b\b");getchar();scanf("%d",&c);}switch(c){case 1:printf("仪器仪表编号改为:");scanf("%d",&b.num);met[k].num=b.num ;break;case 2:printf("仪器仪表名称改为:");scanf("%s",);strcpy(met[k].name,);break;case 3:printf("购买时间改为:");scanf("%d",&b.mt);met[k].mt=b.mt;brea k;case 4:printf("借入时间改为:");scanf("%d",&b.jrt);met[k].jrt=b.jrt;brea k;case 5:printf("借出时间改为:");scanf("%d",&b.jct);met[k].jct=b.jct;brea k;case 6:printf("归还时间改为:");scanf("%d",&b.gt);met[k].gt=b.gt;break;case 7:printf("维修时间改为:");scanf("%d",&b.wt);met[k].wt=b.wt;brea k;case 8:printf("状态信息改为:");scanf("%s",b.zt);strcpy(met[k].zt,b.zt);br eak;case 9:a4=k;break;}if(c!=9){printf("\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");if(k+1>=1000) b1=0;else if(k+1>=100) b1=1;else if(k+1>=10) b1=2;else b1=3;if(met[k].num>=10000) a2=0;else if(met[k].num>=1000) a2=1;else if(met[k].num>=100) a2=2;else if(met[k].num>=10) a2=3;else a2=4;for(x=0;x<b1;x++) printf("%d",m[x]);printf("%d ",k+1);for(a1=0;a1<a2;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt ); }printf("\n确定修改?[ ]\t1).确定2).重新修改\b\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%d",&w1);if(2==w1){met[k].num=p1.num;strcpy(met[k].name,p1.na me);met[k].mt=p1.mt;met[k].jrt=p1.jrt;met[k].j ct=p1.jct;met[k].gt=p1.gt;met[k].wt=p1.wt;strcp y(met[k].zt,p1.zt);a4=-1;}while(w1<1||w1>2){puts("警告!!! 输入错误!");printf("\n确定修改?[ ]\t1).确定2).重新修改\b\b\b\b\b\b\b\b\b\b\b\b\b");getchar();scanf("%d",&w1);}}while(w1==2);if((fp=fopen("met.txt","w"))==NULL){printf("\n不能打开文件!\n");return 0;}for(i=0;i<y;i++){if(i!=a4)fprintf(fp,"%d %s %d %d %d %d %d %s\n", met[i].num,met[i].name,met[i].mt,met[i].jrt,met[ i].jct,met[i].gt,met[i].wt,met[i].zt);}fclose(fp);puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 修改成功!");if(a4!=-1) y=y-1;return y;}void search(int y){int c;printf("\n\t\t\t\t1).仪器仪表编号\n\t\t\t\t2).仪器仪表名称\n\t\t\t\t3).状态信息\n\t\t\t\t4).时间点查询\n\t\t\t\t5).时间段查询\n\n\t\t\t 请选择查找方式:[ ]\b\b");scanf("%d",&c);while(c<1||c>5){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择查找方式:[ ]\b\b");getchar();scanf("%d",&c);}switch(c){case 1:search_1(y);break;case 2:search_2(y);break;case 3:search_3(y);break;case 4:search_4(y);break;case 5:search_5(y);break;search(y);}void search_1(int y){int i,j,k=-1,x=0; struct meter a; int a1,a2,b,c,m[4]={0,0,0,0};puts("\n\t\t\t\t1.按编号查询==>");printf("\n\n请输入编号:");scanf("%d",&a.num);while(a.num<0){puts("警告!!! 输入错误!");getchar();printf("\n请输入编号:");scanf("%d",&a.num);}for(i=0;i<y;i++){if(a.num==met[i].num){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_1(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_2(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};puts("\n\t\t\t\t2.按名称查询==>");printf("\n\n请输入名称:");scanf("%s",);for(i=0;i<y;i++){if(strcmp(,met[i].name)==0){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) search_2(y);else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_3(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};puts("\n3.按状态信息查询==>");printf("\n\n请输入状态信息:");scanf("%s",a.zt);while(strcmp(a.zt,"y")!=0&&strcmp(a.zt,"n")!= 0){puts("警告!!! 输入错误!");printf("\n\n请输入状态信息:");scanf("%s",a.zt);}for(i=0;i<y;i++){if(strcmp(a.zt,met[i].zt)==0){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_3(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_4(int y){int n;puts("\n\t\t\t 4.按时间点查询==>"); printf("\n\t\t\t\t1).购买时间\n\t\t\t\t2).借入时间\n\t\t\t\t3).借出时间\n\t\t\t\t4).归还时间\n\t\t\t\t5).维修时间\n\t\t\t\t6).返回主菜单\n请选择查找项目:[ ]\b\b");scanf("%d",&n);while(n<1||n>6){puts("警告!!! 输入错误!");printf("\n请重新选择:[ ]\b\b");getchar();scanf("%d",&n);system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}if(n==1) search_m(y);else if(n==2) search_jr(y);else if(n==3) search_jc(y);else if(n==4) search_g(y);else if(n==5) search_w(y);else {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_m(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入购买时间:");scanf("%d",&a.mt);for(i=0;i<y;i++){if(a.mt==met[i].mt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_m(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_jr(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入借入时间:");scanf("%d",&a.jrt);for(i=0;i<y;i++){if(a.jrt==met[i].jrt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_jr(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_jc(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入借出时间:");scanf("%d",&a.jct);for(i=0;i<y;i++){if(a.jct==met[i].jct){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_jc(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_g(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入归还时间:");scanf("%d",&a.gt);for(i=0;i<y;i++){if(a.gt==met[i].gt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_g(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_w(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入维修时间:");scanf("%d",&a.wt);for(i=0;i<y;i++){if(a.wt==met[i].wt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++)printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++)printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,met [k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}。
仪器设备管理系统
仪器设备管理系统1、绪论1.1系统开发的背景目前国内有些小仪器设备自动化管理水平不是很高。
大多数仪器设备管理办法是仪器设备采购进来以后,将仪器设备的基本情况和相关信息登记存档,然后将档案存档。
以后档案基本就没人维护,如仪器设备位置变迁、检修情况、仪器设备当前运行状态等信息根本不会体现在仪器设备台帐上,即仪器设备跟踪信息不能及时体现在仪器设备档案上。
本信息系统的仪器设备管理思想并结有关仪器设备管理现状,可以完全能满足国内有些仪器设备管理的需要。
并通过对各行业仪器设备管理情况的长期研究探索,以灵活、通用为主要设计思想,开发适合于各行业仪器设备管理信息系统。
本系统将会提高办公效率和仪器设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高的现代化管理水平。
因此,我们考虑着开发了这套仪器设备管理信息系统。
这就是本论文写作的背景和立题意义。
1.2课题中涉及的相关技术及概念1.2.1相关技术系统采用了先进的access数据库技术,面向对象的编程方法学以及软件工程方法学1.2.2V isual Basic概念简介什么是Visual Basicvisual Basic 6.0中文版是一种应用程序开发工具,它的功能就是用来编程——Windows 下的应用程序。
Visual Basic 6.0是在原有的Basic语言的基础上的进一步发展,他包含了数百条语句。
函数及关键词,其中很多与Windows GUI有直接的关系。
V isual Basic 语言简单易学,只要稍有语言基础就可以很快的掌握并进而精通。
可视化的用户界面设计功能,把程序设计人员从繁琐复杂的截面设计中解脱出来;可视化编程环境的“所见即所得(WYSIWYG)”功能,是界面设计如积木游戏一般,编程变成了一种享受;强大的多媒体功能可轻而易举地开发出集声音,动画,影像和图片于一体的多媒体应用程序;新增的网络功能提供了编写Internet程序的能力。
V isual Basic 6.0 还支持用户自己开发ActiveX控件和制作ActiveX文档。
实验室仪器管理系统
实验室仪器管理系统!文章内容检索重点:LIMS实验室管理系统、可视化实验室、实验室设备管理系统、试验业务流程管理、实验室仪器管理系统。
实验室仪器管理系统的设计在传统设备管理系统向可视化管理系统的转变中,有一些问题在技术上是需要更多考虑的。
如房间平面图的设计,仪器柜或实验台的大小,仪器设备的大小、排列方式等。
在设计中,由于系统是网络平台为载体,可以利用Flash技术完成图形化界面设计。
在管理系统中,通过实验室列表可以进入某个实验室层级。
进入后可以直观地看到房间中的布局界面,进入房间后可以直接通过设备编号查找设备存放的位置和设备信息,也可以逐一查看浏览每个设备存放设施。
以管理员身份登录的话,可以移动各个设施,更改房间布局。
点击进入某个仪器柜中后,可以直观看到柜中存放的设备现状,设备摆放的位置和排列可以一目了然,管理员有权限进行设备的位置调整以及添加和删除。
点击某个设备可以查看设备详细信息,管理员可以对其进行修改。
作为管理员还有权限对房间的布局及设备的存放进行更多操作。
在这些操作中,需要利用添加或删除图示的办法,选择合适的设备存放设施或仪器设备添加到合适的位置。
在布局更改及设备摆放方面有一个技术难点就是如何对家具及设备的尺寸进行调节。
如果极为精确地去按尺码进行匹配就过于复杂了,因此可以设计一种自由控制图示大小的方法来比较直观地表现设备的大小及占地面积。
通过这样一系列的操作,仪器设备的管理将以一种图形化可视化的界面来进行。
在以往列表管理模式的基础上增加了更为便捷和直观的操作方式,从根本上解决了设备实际查找的问题。
实验室仪器管理系统的展望仪器设备的可视化管理系统虽然是一种直观性的操作界面,并且在管理模式上更为方便,但其中也存在着一些问题待未来解决。
1.界面操作感的加强。
图形化界面的最大问题就是操作感是否得当。
一般来说,平滑操作是必需的,在点击的基础上增加拖拽以及滚轮控制等方式可以更灵活地完成操控。
2.与现实情况的接轨。
实验室仪器设备管理系统设计与实现
实验室仪器设备管理系统设计与实现引言实验室是科学研究和教学的重要场所,在实验室中经常使用各种仪器设备来进行实验和探索。
然而,随着实验室规模的扩大和仪器设备数量的增加,管理这些设备变得越来越困难。
为了提高实验室仪器设备的使用效率和管理水平,设计和实现一个实验室仪器设备管理系统是很有必要的。
系统需求分析功能需求1.仪器设备信息管理:对实验室中的仪器设备进行录入、修改、查询和删除操作,包括仪器设备的名称、型号、数量、购买日期、维护周期等信息。
2.借还管理:记录借出和归还的仪器设备信息,包括借出人、借出时间、预计归还时间等。
3.维护管理:提醒维护人员对仪器设备进行定期维护,记录维护的时间和内容。
4.报废管理:对报废的仪器设备进行处理,并记录处理的时间和方式。
5.统计分析:根据仪器设备的使用情况,进行数据统计和分析,如设备使用率、维护频率等。
非功能需求1.安全性:只有授权人员才能进行仪器设备信息的修改和删除操作,并对系统进行身份验证和权限控制。
2.可靠性:系统需要具备良好的稳定性和容错性,能够正常运行并处理大量的数据。
3.用户界面友好:系统界面简洁明了,操作简单易懂,方便用户进行操作。
系统设计架构设计本系统采用客户端-服务器架构,客户端通过web浏览器与服务器进行交互,服务器负责处理客户端的请求并返回相应的数据。
客户端和服务器之间通过HTTP协议进行通信。
数据库设计仪器设备表(devices)字段名数据类型说明id int 仪器设备IDname varchar(100) 仪器设备名称model varchar(100) 仪器设备型号quantity int 仪器设备数量purchase_date date 购买日期maintenance_cycle int 维护周期借还记录表(borrow_records)字段名数据类型说明id int 记录IDdevice_id int 仪器设备IDborrower varchar(100) 借出人borrow_date datetime 借出时间expect_return_date datetime 预计归还时间维护记录表(maintenance_records)字段名数据类型说明id int 记录IDdevice_id int 仪器设备IDmaintenance_date datetime 维护时间maintenance_content varchar(200) 维护内容报废记录表(scrap_records)字段名数据类型说明id int 记录IDdevice_id int 仪器设备IDscrap_date date 报废时间scrap_method varchar(100) 报废方式系统实现系统采用前后端分离的方式实现,后端使用Python编写基于Django框架的API接口,前端使用HTML、CSS和JavaScript编写页面。
仪器设备管理系统文件
仪器设备管理系统文件在当今的科技发展和生产活动中,仪器设备扮演着至关重要的角色。
无论是科研实验室、医疗机构、制造业工厂还是各类服务行业,高效、准确地管理仪器设备对于保障工作质量、提高工作效率以及降低成本都具有重要意义。
为了实现这一目标,建立一套完善的仪器设备管理系统是必不可少的。
本文件将详细介绍仪器设备管理系统的各个方面,包括其目标、功能、流程以及相关的注意事项。
一、系统目标仪器设备管理系统的主要目标是实现对仪器设备全生命周期的有效管理,从设备的采购、入库、使用、维护、维修到报废,确保每一个环节都得到合理的监控和记录。
具体来说,系统应达到以下几个目标:1、提高设备利用率:通过对设备使用情况的实时监控和统计分析,合理调配设备资源,避免设备闲置和过度使用,提高设备的整体利用率。
2、保障设备正常运行:建立完善的设备维护和维修体系,及时发现和解决设备故障,确保设备始终处于良好的运行状态,减少因设备故障导致的工作延误和损失。
3、降低管理成本:通过信息化手段实现设备管理的自动化和规范化,减少人工操作和管理失误,降低管理成本。
4、提供决策支持:通过对设备管理数据的收集、整理和分析,为管理层提供决策依据,如设备采购计划、预算分配等。
二、系统功能为了实现上述目标,仪器设备管理系统应具备以下主要功能:1、设备信息管理建立设备档案,包括设备名称、型号、规格、生产厂家、购置日期、价格等基本信息。
对设备的技术参数、操作手册、保修期限等相关文档进行管理。
2、设备采购管理制定采购计划,根据工作需求和设备库存情况,确定需要采购的设备种类和数量。
管理采购流程,包括供应商选择、采购合同签订、设备验收等环节。
3、设备入库管理对新采购的设备进行入库登记,分配设备编号和存放位置。
对入库设备进行检验,确保设备质量和数量符合要求。
4、设备使用管理记录设备的使用人员、使用时间、使用目的等信息。
对设备的借用和归还进行管理,确保设备的安全和及时归还。
实验室仪器管理系统
实验室仪器管理系统!文章内容检索重点:LIMS实验室管理系统、可视化实验室、实验室设备管理系统、试验业务流程管理、实验室仪器管理系统。
实验室仪器管理系统的设计在传统设备管理系统向可视化管理系统的转变中,有一些问题在技术上是需要更多考虑的。
如房间平面图的设计,仪器柜或实验台的大小,仪器设备的大小、排列方式等。
在设计中,由于系统是网络平台为载体,可以利用Flash技术完成图形化界面设计。
在管理系统中,通过实验室列表可以进入某个实验室层级。
进入后可以直观地看到房间中的布局界面,进入房间后可以直接通过设备编号查找设备存放的位置和设备信息,也可以逐一查看浏览每个设备存放设施。
以管理员身份登录的话,可以移动各个设施,更改房间布局。
点击进入某个仪器柜中后,可以直观看到柜中存放的设备现状,设备摆放的位置和排列可以一目了然,管理员有权限进行设备的位置调整以及添加和删除。
点击某个设备可以查看设备详细信息,管理员可以对其进行修改。
作为管理员还有权限对房间的布局及设备的存放进行更多操作。
在这些操作中,需要利用添加或删除图示的办法,选择合适的设备存放设施或仪器设备添加到合适的位置。
在布局更改及设备摆放方面有一个技术难点就是如何对家具及设备的尺寸进行调节。
如果极为精确地去按尺码进行匹配就过于复杂了,因此可以设计一种自由控制图示大小的方法来比较直观地表现设备的大小及占地面积。
通过这样一系列的操作,仪器设备的管理将以一种图形化可视化的界面来进行。
在以往列表管理模式的基础上增加了更为便捷和直观的操作方式,从根本上解决了设备实际查找的问题。
实验室仪器管理系统的展望仪器设备的可视化管理系统虽然是一种直观性的操作界面,并且在管理模式上更为方便,但其中也存在着一些问题待未来解决。
1.界面操作感的加强。
图形化界面的最大问题就是操作感是否得当。
一般来说,平滑操作是必需的,在点击的基础上增加拖拽以及滚轮控制等方式可以更灵活地完成操控。
2.与现实情况的接轨。
仪器仪表安全管理制度
仪器仪表安全管理制度编制:审核:批准:年月日一、仪器仪表联锁系统管理二、DCS系统管理规定三、仪器仪表技术管理四、仪器仪表设备管理五、仪器仪表运行管理六、仪器仪表检修管理七、竣工装置验收管理八、仪器仪表的备品、配件管理九、仪器仪表巡回查看管理仪器仪表联锁系统管理一、仪器仪表联锁系统的分类仪器仪表联锁系统按其重要性以独立的闭环回路分成A、B两类。
A类仪器仪表联锁系统a)触及全设备或大范围泊车的仪器仪表联锁体系。
b)关键设备和重要工艺体系的仪器仪表联锁体系。
c)关系到人身、设备或产品质量的仪器仪表联锁体系。
B类仪器仪表联锁系统除A类以外的仪器仪表联锁系统均为B类。
二、仪器仪表联锁系统的设置和设定值的确定1 . 仪器仪表联锁系统的设置在生产过程中仪器仪表联锁系统的设置由分公司生产技术科负责,会同生产车间共同编制各生产装置A、B类仪器仪表联锁系统设置清单,经厂总工程师或主管厂长审批后发布实施。
2. 仪器仪表联锁系统设定值的确定仪器仪表联锁系统设定值由公司生产技术科负责会同有关生产车间制定,公司生产技术科负责人审批确认。
其中设备保护性参数(轴振动、轴位移、轴承温度、润滑油压、密封油压等)的仪器仪表联锁系统须经设备部门负责人审批确认。
所有负责人员都必须执行签字确认程序。
三、仪器仪表联锁系统的配备1.仪器仪表联锁系统中报警及控制回路的配备组成方案由装置仪器仪表主任工程师提出。
A类仪器仪表联锁系统的配备组成方案应由公司生产技术科负责组织有关部门、车间共同审定,设备科负责人确认审批。
所有负责人都必须执行签字确认程序。
2.所有仪器仪表联锁的实施由仪器仪表专业或仪器仪表维护班负责,与仪器仪表联锁系统有关的其它专业,要按仪器仪表联锁系统中的要求条件予以保证。
四、仪器仪表联锁系统的试验和确认1、在下列情况下必须对仪器仪表联锁系统进行全面的查看和试验。
a)新建装置在单机或联动试车前。
b)单机设备或单元系统检修后。
c)装置大修后。
仪器仪表自动控制系统及安全联锁系统的安全生产管理制度
仪器仪表自动控制系统及安全联锁系统的安全生产管理制度一.概述仪器仪表自动控制系统及安全联锁系统是现代工业生产过程中必不可少的一种设备。
这种设备对于生产过程的稳定性、安全性等方面都有着不可替代的作用。
然而,如果这种设备的安全管理制度不完善,容易发生事故,给生产工人的生命和财产安全都会带来巨大的威胁。
因此,对于仪器仪表自动控制系统及安全联锁系统的安全生产管理制度的建立是非常必要的。
二.管理制度1、设计与安装阶段:在仪器仪表自动控制系统及安全联锁系统的设计以及安装阶段,相关责任人应当按照国家相关法律法规以及工业标准来进行管理。
设计与安装前应当进行专业技术评估,结合实际生产情况来制定相关的技术方案,以确保仪器仪表自动控制系统及安全联锁系统的稳定性、可靠性等方面质量。
2、运行与维护阶段:在生产过程中,相关责任人应当进行日常的巡视和维护,及时排除设备异常、故障,以确保生产过程的顺畅进行。
在维护过程中,全面执行国家《煤矿安全规程》中的技术措施和维护规程,并进行如零件清洗、加油、保养、更换等,保证仪器仪表自动控制系统及安全联锁系统的各项指标达到规定的安全标准。
3、培训与教育阶段:企业应当通过多种形式开展安全教育宣传,使员工了解仪器仪表自动控制系统及安全联锁系统的安全操作技巧、安全检查方法,并进行安全活动时保持高度警惕,随时呼叫专业技术人员进行处理,确保生产过程的稳定性、可靠性和安全性。
4、安全管理阶段:对于仪器仪表自动控制系统及安全联锁系统的安全管理应当从多个角度来考虑,如安全生产管理、安全管控等方面。
同时,应该加强随机检查和定期检查,发现问题及时处理。
三、安全标准1、器件采用符合国家标准的产品,确保其质量和性能可靠。
2、设备应当符合国家相关法律法规规定,按照标准要求进行安装,以保障操作人员的人身安全和设备的正常工作。
3、安全管理应通过多个方面,如一线可操作人员的安全意识、上级管理层面的安全规章制度等多层次的安全标准加以管理。
仪器仪表管理方案
仪器仪表管理方案一、系统背景随着社会的发展,市场竞争日益激烈,提高生产效率、降低运营成本,对于企业来说至关重要。
在仪器仪表的出入库管理应用中,由于物品的信息无法自动采集,无法做到智能化管理,需要投入大量的人力、物力。
现有的仪器仪表出入库管理,采用手工方式,记录方式繁琐、效率低下、容易出错而且成本相对较高;目前大多数仓库货物进出管理虽然采用计算机管理系统,但还是先记录、再录入计算机,人为因素大,准确率不高,容易出现伪造数据,人力资源浪费,管理维护成本高。
采用RFID技术进行仓库仪器仪表进行出入库管理,首先在每台仪器仪表上贴上标签,在微波仪器仪表厂房的三个进出和三个试验房间的出入口安装UHF读写器,对仪器仪表入库、出库、调拨、移库移位、库存盘点等各个作业环节的数据进行自动化的数据采集,保证仓库管理各个环节数据输入的速度和准确性,确保企业及时准确地掌握库存的真实数据,合理保持和控制企业库存。
通过科学的编码,还可以方便地对物品信息进行管理。
利用系统的库位管理功能,更可以及时掌握所有库存物资当前所在位置,有利于提高仓库管理的工作效率。
二、系统结构620)this.style.width=620;" border=0 alt=仪器仪表管理方案src="/FileUpLoadSavePath/2022 -05/3916425fd5db222b714.jpg">图1 系统硬件结构RFID仓库仪器仪表进出管理硬件主要由RFID标签、固定式读写器、手持式读写器、服务器、个人电脑等组成,通过网络实现相互连接和数据交换。
2.1. 系统功能模块620)this.style.width=620;" border=0 alt=仪器仪表管理方案src="/FileUpLoadSavePath/2022 -05/78222d1edbab13f37b8.jpg">图2 系统功能模块RFID仓储物流管理系统由发卡贴标、出库管理、入库管理、调拨移位、库存盘点和附加功能组成。
仪器仪表管理系统 MIS设计
目录引言 (1)第1章系统设计概述 (2)1.1课题的背景及意义 (2)1.2系统开发的环境及开发模式 (2)第2章系统可行性研究 (4)2.1系统总体需求 (4)2.2 技术上的可行性 (4)2.3 经济上的可行性 (4)2.4组织机构操作方式上的可行性 (5)第3章系统分析 (6)3.1系统业务流程描述 (6)3.2系统数据流程分析 (6)3.21 xx模块数据流图第一层数据流图3.22查询统计模块数据流图第2层数据流图(可选)3.3系统总E-R图 (6)第4章系统设计 (9)4.1系统总体结构设计 (9)4.2系统功能模块设计 (9)4.3系统主要功能模块设计(自己的模块) (15)4.4 输入设计4.5 输出设计4.6 数据库设计4.61 概述4.62 概念设计(自己的模块)4.63 逻辑设计(自己的模块)第5章系统实现和维护 (16)5.1系统测试5.2系统和设备的维护5.21系统维护5.22设备维护 (28)工作总结 (30)参考文献 (32)附录 (33)第二章系统可行性研究2.1 系统总体需求通过调研,仪器仪表管理系统的总体需求:(1)新的仪器仪表信息的录入(2)在借出、归还、维修时对仪器仪表信息的修改(3)对报废仪器仪表信息的删除(4)按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间,借出时间,归还时间)查询等,统计功能至少包括按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)统计、按仪器仪表基本信息的统计等2.2技术上的可行性如今电脑已经非常普编,价格也不高,性能越来越强。
使用MyEclipse8.5作为系统开发的开发环境,它是一个功能强大的集成式开发工具,利用它能够开发功能强大的、运行在多个平台的、能够操作多个数据库的应用系统,还可以开发客户/服务器、分布式和因特网应用系统等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统功能的基本要求:(1)新的仪器仪表的信息的录入;(2)在借出、归还、维修时对仪器仪表信息的修改;(3)对报废仪器仪表信息的删除;(4)按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应该包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间、借入时间、归还时间)查询等,统计功能至少包括按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)统计、按仪器仪表基本信息的统计等;(5)对查询、统计的结果打印输出。
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>#define N 9999struct meter{int num;char name[20];int mt;int jrt;int jct;int gt;int wt;char zt[4];}met[N];void main(){void menu(int y); int enter(int y); int modify(int y); void search(int y);void search_1(int y); void search_2(int y); void search_3(int y); void search_4(int y); void search_5(int y);void search_m(int y); void search_jr(int y); void search_jc(int y); void search_g(int y); void search_w(int y);void search_md(int y); void search_jrd(int y); void search_jcd(int y); void search_gd(int y); void search_wd(int y);void save(int w,int n); void printf_face();void printf_back(int y); void exit();int f();int ff();void fff();void ffff(int y);static int y;puts("\n*******************************仪器仪表信息管理系统*****************************");y=f();menu(y);}void menu(int y){int n;puts("\n\n\n\t\t\t*************主菜单*************");puts("\n\t\t\t\t1.浏览仪器仪表信息");puts("\n\t\t\t\t2.录入仪器仪表信息");puts("\n\t\t\t\t3.查询仪器仪表信息");puts("\n\t\t\t\t4.修改仪器仪表信息");puts("\n\t\t\t\t5.退出信息管理系统");puts("\n\t\t\t********************************");printf("\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&n);while(n<1||n>5){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&n);}system("cls");switch(n){case 1: fff();puts("\t\t\t*******1.浏览仪器仪表信息*******");ff();puts("\t\t\t**********退出浏览系统**********");puts("\t\t\t\t 浏览成功!");ffff(y);break;case 2: f();fff();y=enter(y);ffff(y);break;case 3: f();fff();puts("\t\t\t*******3.查询仪器仪表信息*******");search(y);ffff(y);break;case 4: f();fff();y=modify(y);ffff(y);break;case 5: exit(0);}}int enter(int y){int i,n,a,b,a2,p[4]={0,0,0,0};puts("\t\t\t*********2.录入仪器仪表信息*********");puts("\n\n仪器仪表信息储存示例: (y表示可借,n表示不可借)");printf("序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");printf("0000 00000 aaaa 20100101 20100101 20100101 20100101 20100101 y\n");printf("9999 11111 bbbb 20100101 20100101 20100101 20100101 20100101 n");printf("\n新录入信息将储存在文件met.txt中.");printf("\n\n扫描已储存信息文件met.txt?[ ] 1).是 2).否\b\b\b\b\b\b\b\b");scanf("%d",&a);while(a<1||a>2){puts("警告!!! 输入错误!");printf("\n扫描已储存信息文件met.txt?[ ] 1).是 2).否\b\b\b\b\b\b\b\b");getchar();scanf("%d",&a);}if(a==1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*********2.录入仪器仪表信息*********");ff();}printf("\n\t\t\t开始录入信息(剩余可用储存:%d条)",9999-y);printf("\n\n\n新录入仪器仪表信息个数:");scanf("%d",&n);while(n<1||n>9999-y){puts("警告!!! 输入错误!");printf("\n录入的仪器仪表信息个数:");getchar();scanf("%d",&n);}system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*********2.录入仪器仪表信息*********");printf("\n\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");for(i=y;i<y+n;i++){if(i+1>=1000) b=0;else if(i+1>=100) b=1;else if(i+1>=10) b=2;else b=3;for(a2=0;a2<b;a2++) printf("%d",p[a2]);printf("%d ",i+1);scanf("%d%s%d%d%d%d%d%s",&met[i].num,met[i].name,&met[i].mt,&met[i].jrt,&met[i] .jct,&met[i].gt,&met[i].wt,met[i].zt);}save(0,y+n);y=y+n;puts("\t\t\t************退出录入系统************");puts("\t\t\t\t 保存成功!");return y;}int modify(int y){int c,w1,i,p,k,b1,a2,a1,a3,a4=-1,x,m[4]={0,0,0,0};FILE *fp;struct meter b;struct meter p1;puts("\t\t\t*******4.修改仪器仪表信息*******");do{printf("\n仪器仪表序号(输入0可以退出):");scanf("%d",&p);k=p-1;while(p<0){puts("警告!!! 输入错误!");printf("\n仪器仪表序号(输入0可以退出):");getchar();scanf("%d",&p);k=p-1;}if(p==0){puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 取消修改!");ffff(y);exit(0);}if(k>=y) printf("\n\t\t\t\t不存在此信息!");}while(k>=y);printf("\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");if(k+1>=1000) b1=0;else if(k+1>=100) b1=1;else if(k+1>=10) b1=2;else b1=3;if(met[k].num>=10000) a2=0;else if(met[k].num>=1000) a2=1;else if(met[k].num>=100) a2=2;else if(met[k].num>=10) a2=3;else a2=4;for(x=0;x<b1;x++) printf("%d",m[x]);printf("%d ",k+1);for(a1=0;a1<a2;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );printf("\n确认修改此信息?[ ] 1).确认 2).退出系统\b\b\b\b\b\b\b\b\b\b\b\b"); scanf("%d",&a3);while(a3<1||a3>2){puts("警告!!! 输入错误!");printf("\n确认修改此信息?[ ] 1).确认2).退出系统\b\b\b\b\b\b\b\b\b\b\b\b");getchar();scanf("%d",&a3);}if(a3==2){puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 取消修改!");ffff(y);exit(0);}do{p1.num=met[k].num;strcpy(,met[k].name);p1.mt=met[k].mt;p1.jrt=met[k].jrt ;p1.jct=met[k].jct;p1.gt=met[k].gt;p1.wt=met[k].wt;strcpy(p1.zt,met[k].zt);printf("\n\t\t\t\t1).仪器仪表编号\n\t\t\t\t2).仪器仪表名称\n\t\t\t\t3).购买时间\n\t\t\t\t4).借入时间\n\t\t\t\t5).借出时间\n\t\t\t\t6).归还时间\n\t\t\t\t7).维修时间\n\t\t\t\t8).状态信息\n\t\t\t\t9).删除此信息\n请选择修改操作[ ]\b\b");scanf("%d",&c);while(c<1||c>9){puts("警告!!! 输入错误!");printf("\n请重新选择:[ ]\b\b");getchar();scanf("%d",&c);}switch(c){case 1:printf("仪器仪表编号改为:");scanf("%d",&b.num);met[k].num=b.num;break;case 2:printf("仪器仪表名称改为:");scanf("%s",);strcpy(met[k].name,);break;case 3:printf("购买时间改为:");scanf("%d",&b.mt);met[k].mt=b.mt;break;case 4:printf("借入时间改为:");scanf("%d",&b.jrt);met[k].jrt=b.jrt;break; case 5:printf("借出时间改为:");scanf("%d",&b.jct);met[k].jct=b.jct;break; case 6:printf("归还时间改为:");scanf("%d",&b.gt);met[k].gt=b.gt;break;case 7:printf("维修时间改为:");scanf("%d",&b.wt);met[k].wt=b.wt;break;case 8:printf("状态信息改为:");scanf("%s",b.zt);strcpy(met[k].zt,b.zt);break;case 9:a4=k;break;}if(c!=9){printf("\n序号仪器编号名称购买时间借入时间借出时间归还时间维修时间状态信息");if(k+1>=1000) b1=0;else if(k+1>=100) b1=1;else if(k+1>=10) b1=2;else b1=3;if(met[k].num>=10000) a2=0;else if(met[k].num>=1000) a2=1;else if(met[k].num>=100) a2=2;else if(met[k].num>=10) a2=3;else a2=4;for(x=0;x<b1;x++) printf("%d",m[x]);printf("%d ",k+1);for(a1=0;a1<a2;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );printf("\n确定修改?[ ]\t1).确定 2).重新修改\b\b\b\b\b\b\b\b\b\b\b\b\b");scanf("%d",&w1);if(2==w1){met[k].num=p1.num;strcpy(met[k].name,);met[k].mt=p1.mt;met[k].jrt=p1.jrt ;met[k].jct=p1.jct;met[k].gt=p1.gt;met[k].wt=p1.wt;strcpy(met[k].zt,p1.zt);a4=-1;}while(w1<1||w1>2){puts("警告!!! 输入错误!");printf("\n确定修改?[ ]\t1).确定 2).重新修改\b\b\b\b\b\b\b\b\b\b\b\b\b"); getchar();scanf("%d",&w1);}}while(w1==2);if((fp=fopen("met.txt","w"))==NULL){printf("\n不能打开文件!\n");return 0;}for(i=0;i<y;i++){if(i!=a4)fprintf(fp,"%d %s %d %d %d %d %d %s\n",met[i].num,met[i].name,met[i].mt,met[i]. jrt,met[i].jct,met[i].gt,met[i].wt,met[i].zt);}fclose(fp);puts("\t\t\t**********退出修改系统**********");puts("\t\t\t\t 修改成功!");if(a4!=-1) y=y-1;return y;}void search(int y){int c;printf("\n\t\t\t\t1).仪器仪表编号\n\t\t\t\t2).仪器仪表名称\n\t\t\t\t3).状态信息\n\t\t\t\t4).时间点查询\n\t\t\t\t5).时间段查询\n\n\t\t\t 请选择查找方式:[ ]\b\b");scanf("%d",&c);while(c<1||c>5){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择查找方式:[ ]\b\b");getchar();scanf("%d",&c);}switch(c){case 1:search_1(y);break;case 2:search_2(y);break;case 3:search_3(y);break;case 4:search_4(y);break;case 5:search_5(y);break;}search(y);}void search_1(int y){int i,j,k=-1,x=0; struct meter a; int a1,a2,b,c,m[4]={0,0,0,0};puts("\n\t\t\t\t1.按编号查询==>");printf("\n\n请输入编号:");scanf("%d",&a.num);while(a.num<0){puts("警告!!! 输入错误!");getchar();printf("\n请输入编号:");scanf("%d",&a.num);}for(i=0;i<y;i++){if(a.num==met[i].num){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_1(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_2(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};puts("\n\t\t\t\t2.按名称查询==>");printf("\n\n请输入名称:");scanf("%s",);for(i=0;i<y;i++){if(strcmp(,met[i].name)==0){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) search_2(y);else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_3(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};puts("\n3.按状态信息查询==>");printf("\n\n请输入状态信息:");scanf("%s",a.zt);while(strcmp(a.zt,"y")!=0&&strcmp(a.zt,"n")!=0){puts("警告!!! 输入错误!");printf("\n\n请输入状态信息:");scanf("%s",a.zt);}for(i=0;i<y;i++){if(strcmp(a.zt,met[i].zt)==0){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_3(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_4(int y){int n;puts("\n\t\t\t 4.按时间点查询==>");printf("\n\t\t\t\t1).购买时间\n\t\t\t\t2).借入时间\n\t\t\t\t3).借出时间\n\t\t\t\t4).归还时间\n\t\t\t\t5).维修时间\n\t\t\t\t6).返回主菜单\n请选择查找项目:[ ]\b\b");scanf("%d",&n);while(n<1||n>6){puts("警告!!! 输入错误!");printf("\n请重新选择:[ ]\b\b");getchar();scanf("%d",&n);system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}if(n==1) search_m(y);else if(n==2) search_jr(y);else if(n==3) search_jc(y);else if(n==4) search_g(y);else if(n==5) search_w(y);else {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_m(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入购买时间:");scanf("%d",&a.mt);for(i=0;i<y;i++){if(a.mt==met[i].mt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_m(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_jr(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入借入时间:");scanf("%d",&a.jrt);for(i=0;i<y;i++){if(a.jrt==met[i].jrt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");}if(j==1) {search_jr(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);} }void search_jc(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入借出时间:");scanf("%d",&a.jct);for(i=0;i<y;i++){if(a.jct==met[i].jct){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_jc(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_g(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入归还时间:");scanf("%d",&a.gt);for(i=0;i<y;i++){if(a.gt==met[i].gt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_g(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_w(int y){int i,j,k=-1,x=0;struct meter a;int a1,a2,b,c,m[4]={0,0,0,0};printf("\n\n请输入维修时间:");scanf("%d",&a.wt);for(i=0;i<y;i++){if(a.wt==met[i].wt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b=0;else if(k+1>=100) b=1;else if(k+1>=10) b=2;else b=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_w(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_5(int y){int n;puts("\n\t\t\t 5.按时间段查询==>");printf("\n\t\t\t\t1).购买时间\n\t\t\t\t2).借入时间\n\t\t\t\t3).借出时间\n\t\t\t\t4).归还时间\n\t\t\t\t5).维修时间\n\t\t\t\t6).返回主菜单\n请选择查找项目:[ ]\b\b");scanf("%d",&n);while(n<1||n>6){puts("警告!!! 输入错误!");printf("\n请重新选择:[ ]\b\b");getchar();scanf("%d",&n);}if(n==1) search_md(y);else if(n==2) search_jrd(y);else if(n==3) search_jcd(y);else if(n==4) search_gd(y);else if(n==5) search_wd(y);else {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_md(int y){int i,j,k=-1,x=0;struct meter a, b;int a1,a2,b1,c,m[4]={0,0,0,0};printf("\n\n请输入购买时间段(用空格隔开):");scanf("%d%d",&a.mt,&b.mt);for(i=0;i<y;i++){if(met[i].mt>=a.mt&&met[i].mt<=b.mt){k=i;if(x==0) printf_face();x=x+1;if(k+1>=1000) b1=0;else if(k+1>=100) b1=1;else if(k+1>=10) b1=2;else b1=3;if(met[k].num>=10000) c=0;else if(met[k].num>=1000) c=1;else if(met[k].num>=100) c=2;else if(met[k].num>=10) c=3;else c=4;for(a2=0;a2<b1;a2++) printf("%d",m[a2]);printf("%d ",k+1);for(a1=0;a1<c;a1++) printf("%d",m[a1]);printf("%d",met[k].num);printf(" %-4s %-8d %-8d %-8d %-8d %-8d %s\n",met[k].name,met[k].mt,m et[k].jrt,met[k].jct,met[k].gt,met[k].wt,met[k].zt );}}if(k==-1){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");printf("\n\t\t\t\t不存在此记录!");}printf("\n\n\t\t\t\t1).重新此类查询\n\t\t\t\t2).重新其他查询\n\t\t\t\t3).退出查询系统\n\n\t\t\t 请选择下一步操作:[ ]\b\b");scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}while(j<1||j>3){puts("警告!!! 输入错误!");printf("\n\t\t\t 请选择下一步操作:[ ]\b\b");getchar();scanf("%d",&j);if(j==1||j==2){system("cls");puts("\n*******************************仪器仪表信息管理系统*****************************");puts("\t\t\t*******3.查询仪器仪表信息*******");}}if(j==1) {search_md(y);}else if(j!=2) {puts("\t\t\t**********退出查询系统**********");printf_back(y);}}void search_jrd(int y){int i,j,k=-1,x=0;struct meter a; struct meter b;int a1,a2,b1,c,m[4]={0,0,0,0};printf("\n\n请输入借入时间段(用空格隔开):");scanf("%d%d",&a.jrt,&b.jrt);for(i=0;i<y;i++)。