c语言设备管理系统

合集下载

C语言编程中的智能城市与环境监测

C语言编程中的智能城市与环境监测

C语言编程中的智能城市与环境监测随着科技的不断发展,智能城市和环境监测成为了人们关注的焦点。

C语言作为一种广泛应用于嵌入式系统和底层开发的编程语言,在智能城市和环境监测领域也扮演着重要的角色。

本文将介绍C语言编程中智能城市与环境监测的相关技术和应用。

1. C语言在智能城市中的应用智能城市通过网络和信息技术的应用,实现了城市基础设施的智能化和高效管理。

而C语言在智能城市系统中发挥着重要的作用。

首先,C语言可以直接操作硬件,与底层设备进行交互,实现智能化设备的控制和管理。

其次,C语言具有高效性和可移植性,可以满足智能城市系统对实时性和稳定性的要求。

最后,C语言丰富的库和工具使得开发人员能够快速构建智能城市系统的功能模块。

2. C语言在环境监测中的应用环境监测是智能城市中的一个重要组成部分,它通过传感器和监测设备采集环境数据,并通过数据分析和处理实现对环境质量的监测和评估。

在环境监测中,C语言常常用于编写数据采集和处理的程序。

C语言的高效性和可嵌入性使得它成为了嵌入式环境监测设备的首选编程语言。

同时,C语言丰富的数据处理库和算法也可以用于环境数据的分析和模型建立,进一步提高环境监测的准确性和可靠性。

3. C语言编程中的智能城市与环境监测案例下面将介绍两个实际案例,展示C语言在智能城市和环境监测中的应用。

案例一:智能交通系统智能交通系统通过感知、处理和控制技术提高交通系统的效率和安全性。

C语言可以用于编写智能交通系统控制器的程序,与交通信号灯、摄像头等设备进行通信和协调。

通过C语言编程,可以实现车辆流量的监测与调度,交通信号的智能控制,从而优化城市交通拥堵问题。

案例二:空气质量监测系统空气质量监测系统通过传感器网络采集环境中的空气质量数据,并通过数据分析和处理实时评估空气质量。

C语言可以用于编写传感器数据采集程序,实现对空气质量传感器的控制和数据采集。

同时,C 语言也可以用于空气质量数据的实时处理和分析,提供准确的空气质量监测报告。

C语言嵌入式操作系统裸机和RTOS

C语言嵌入式操作系统裸机和RTOS

C语言嵌入式操作系统裸机和RTOS C语言嵌入式操作系统裸机与RTOS嵌入式操作系统(Embedded Operating System,简称EOS)是一种专为嵌入式设备设计的操作系统,它具有小巧、高效、实时等特点。

而裸机编程是指在嵌入式系统中,直接与硬件进行交互编程的方式,不依赖于任何操作系统。

RTOS(Real-time Operating System,实时操作系统)是一种提供实时响应的操作系统,针对嵌入式系统而设计。

本文将介绍C语言嵌入式操作系统裸机编程和RTOS编程的基础知识和技巧。

一、裸机编程入门在进行裸机编程之前,我们需要了解硬件平台的相关信息,包括处理器型号、寄存器、外设等。

然后,我们可以通过配置寄存器来初始化硬件设备,设置中断服务程序,并编写具体的功能代码。

在裸机编程中,我们需要注意时间分片、中断处理和资源管理等问题。

二、裸机编程与RTOS的区别1. 复杂性:裸机编程相对简单,因为我们可以直接访问硬件资源。

而RTOS编程需要考虑任务调度、资源互斥、消息传递等复杂的操作系统特性。

2. 实时性:RTOS可以提供更好的实时性能,可以用于要求较高实时响应的应用场景。

而裸机编程的实时性取决于程序的具体实现。

3. 可移植性:裸机编程通常与特定的硬件平台绑定,不具备通用的可移植性。

而RTOS提供了抽象层,可以将应用程序与底层硬件解耦,提高了可移植性。

三、RTOS编程基础1. 任务管理:RTOS允许将应用程序划分为多个任务,并通过任务调度器进行管理。

每个任务执行特定的功能,实现任务之间的并发执行。

2. 中断处理:RTOS提供了中断处理机制,可以对不同的中断进行响应和处理。

中断处理程序可以与任务同时运行,保证了系统的实时性。

3. 时间管理:RTOS提供了时间管理功能,可以进行时间片轮转调度、优先级调度等,确保任务按照预定的时间顺序执行。

4. 同步与互斥:RTOS提供了信号量、互斥锁等机制,用于管理共享资源的访问。

C语言设备驱动编程入门

C语言设备驱动编程入门

C语言设备驱动编程入门C语言设备驱动编程是一项常见的技术,用于编写操作系统的设备驱动程序。

设备驱动程序是操作系统与硬件设备之间的桥梁,它负责将用户操作转化为硬件设备能够理解和执行的指令。

本文将介绍C语言设备驱动编程的基本概念和入门知识,帮助读者了解并入门这一重要的编程技术。

一、设备驱动程序概述设备驱动程序是操作系统的一部分,它与操作系统内核紧密结合,用于实现对硬件设备的控制和管理。

设备驱动程序通常由硬件设备制造商提供,或者由操作系统开发者开发。

它负责处理硬件设备与操作系统之间的通信,使得用户能够方便地操作硬件设备。

设备驱动程序可以分为字符设备驱动和块设备驱动两种类型。

字符设备驱动用于处理流式数据的设备,如键盘、鼠标等;块设备驱动用于处理以块为单位的数据的设备,如硬盘、U盘等。

不同类型的设备驱动程序在实现上有所不同,但都需要用C语言编写。

二、设备驱动程序的基本结构设备驱动程序的基本结构包括设备初始化、设备打开、设备关闭和设备读写等函数。

下面我们逐步介绍这些函数的作用和实现方法。

1. 设备初始化函数设备初始化函数负责对设备进行初始化,包括设备的寄存器配置、中断设置等。

在这个函数中,我们需要了解硬件设备的相关规格和特性,并根据需要进行适当的配置。

2. 设备打开函数设备打开函数在设备被用户程序打开时被调用,它负责向操作系统申请资源,并进行相应的设置,例如打开文件、分配内存等。

3. 设备关闭函数设备关闭函数在设备被用户程序关闭时被调用,它负责释放设备所占用的资源,如释放文件占用的内存、关闭文件等。

4. 设备读写函数设备读写函数是设备驱动程序的核心部分,它负责设备与用户程序之间的数据交换。

设备读函数用于从设备中读取数据,设备写函数用于向设备中写入数据。

三、设备驱动程序的编写步骤编写设备驱动程序需要经过以下几个步骤:1. 了解硬件设备在编写设备驱动程序之前,我们需要详细了解硬件设备的规格和特性,包括硬件寄存器的地址、中断向量等。

计算机二级Office选择题

计算机二级Office选择题

计算机最早的应用领域是(数值计算)。

假设某台计算机的硬盘容量为20GB,内存储器的容量为128MB。

那么,硬盘的容量是内存容量的(160)倍。

下列关于ASCII编码的叙述中,正确的是(所有大写的英文字母的ASCII值都小于小写英文字母'a'的ASCII值)。

从本质上讲,计算机病毒是一种(程序)。

CPU的主要性能指标之一的(主频)是用来表示CPU内核工作的时钟频率。

下列各设备中,全部属于计算机输出设备的一组是(显示器,绘图仪,打印机)。

计算机操作系统常具备的五大功能是(处理器(CPU)管理、存储管理、文件管理、设备管理和作业管理)。

下列4种软件中,属于应用软件的是(财务管理系统)。

下列关于计算机病毒的叙述中,正确的选项是(计算机病毒可以通过读写软件、光盘或Internet网络进行传播)。

下列各进制的整数中,值最大的是(十六进制数11)。

可以将高级语言的源程序翻译成可执行程序的是(编译程序)。

下列都属于计算机低级语言的是(机器语言和汇编语言)。

下列选项中,错误的一项是(描述计算机执行速度的单位是MB)。

在微型计算机中,控制器的基本功能是(控制机器各个部件协调一致工作)。

计算机网络是一个(在协议控制下的多机互联系统)。

用"ISDN"接入因特网的优点是上网通话两不误,它的中文名称是(综合业务数字网)。

在微型计算机的内存储器中,不能随机修改其存储内容的是(ROM)。

光盘是一种已广泛使用的外存储器,英文缩写CD-ROM指的是(只读型光盘)。

IE浏览器收藏夹的作用是(搜集感兴趣的页面地址)。

在冯·诺依曼型体系结构的计算机中引进了两个重要概念,一个是二进制,另外一个是(存储程序)。

计算机中所有的信息的存储都采用(二进制)。

汉字的国标码与其内码存在的关系是:汉字的内码=汉字的国标码+(8080H)。

计算机染上病毒后可能出现的现象(D)。

A) 系统出现异常启动或经常"死机"B) 程序或数据突然丢失C) 磁盘空间突然变小D) 以上都是字长作为CPU的主要性能指标之一,主要表现在(CPU一次能处理的二进制数据的位数)。

c语言编写实验物品管理

c语言编写实验物品管理

c语言编写实验物品管理实验物品管理是指对实验室中的各种仪器设备、试剂药品等实验物品进行管理、使用和维护的一项重要工作。

合理、高效地管理实验物品,能够提高实验室的工作效率,保障实验的质量和安全。

下面将从实验物品管理的重要性、管理方法和实施步骤等方面进行详细介绍。

一、实验物品管理的重要性1.提高工作效率:实验物品的管理是为了更好地利用其资源,提高工作效率。

合理的仓库管理和物品存放,能够使实验人员在进行实验时能够迅速找到所需物品,节省查找时间。

2.保证实验的质量和安全:实验物品的管理可以避免物品的过期、损坏等问题,确保实验所使用的物品的有效性和稳定性。

同时,正确的存储和使用方法可以避免物品的误用和事故的发生,保证实验的安全性。

3.节约成本:实验室是一个资源密集型的地方,各种仪器设备和试剂药品的采购和维护都需要投入一定的成本。

通过合理的物品管理措施,可以减少物品损耗和浪费,节约采购和维护的成本。

4.充分发挥物品的作用:合理的物品管理可以充分发挥实验物品的作用,避免因为存储和使用不当导致物品质量下降或无法正常使用的情况。

二、实验物品管理方法1.物品分类:根据实验物品的性质、用途和特点进行分类。

常见的分类包括试剂药品、仪器设备、耗材、实验工具等。

2.购买计划:制定物品采购计划,根据实验需求、消耗情况和经费预算等因素,明确需要购买的物品种类和数量。

3.仓库管理:建立物品仓库或存放区域,对物品进行统一存放和编号。

物品的入库、出库和库存等操作要有相应的记录和登记。

4.物品使用:根据实验的需要,人员进行物品的领用和归还。

严禁私自擅用实验物品,对实验物品的使用要做到需要使用时才使用。

5.物品维护:定期对仪器设备进行检查和维护,确保其正常运行和使用寿命。

对试剂药品和其他易损耗物品进行注意保管,避免损坏和过期。

6.废弃物处理:对于过期、损坏或不再使用的实验物品要进行正确的处理,避免对环境和人员造成危害。

三、实施实验物品管理的步骤1.制定管理制度:明确实验物品管理的目标、要求和责任。

C语言在智能能源中的应用技术

C语言在智能能源中的应用技术

C语言在智能能源中的应用技术智能能源是指通过科技手段将电力、能源管理等领域与智能化技术相结合的一种新型能源形态。

而C语言作为一种高效、灵活的编程语言,其在智能能源领域具有广泛的应用。

本文将介绍C语言在智能能源中的应用技术,包括智能电网、智能家居和智能电池管理系统。

一、智能电网智能电网是指通过先进的通信、控制和计算技术,将电力系统与信息系统相融合,实现对电力的高效调度和管理。

C语言在智能电网中的应用主要体现在以下几个方面:1. 嵌入式系统开发:智能电网中需要使用各种传感器和控制器来实时监测和控制电力系统的运行状态。

C语言作为一种适用于嵌入式系统开发的语言,能够方便地编写相关的控制程序,实现与硬件设备的良好兼容性。

2. 数据处理和分析:智能电网通过收集电力系统各个环节的实时数据,进行数据处理和分析,以实现对电力系统的智能监控和优化调度。

C语言提供了丰富的数据处理和算法库,能够方便地进行数据处理、运算和优化算法的实现。

3. 通信协议开发:智能电网中的各个电力设备需要通过通信网络进行数据传输和控制指令的交互。

C语言可以用来开发各种通信协议的实现,保证各个设备之间的正常通信和数据交换。

二、智能家居智能家居是指将家居设备与通信网络相连接,实现家庭环境的智能化控制和管理。

C语言在智能家居中的应用主要表现在以下几个方面:1. 硬件控制:智能家居中的各种设备需要通过控制程序来实现对家居设备的状态监测和控制。

C语言可以方便地编写硬件控制程序,实现对家居设备的智能控制。

2. 人机交互:智能家居中通过触摸屏、语音识别等技术实现用户与智能家居系统之间的交互。

C语言可以用于开发用户界面和交互逻辑,实现用户与智能家居系统的良好互动体验。

3. 数据存储和处理:智能家居通过收集用户的生活习惯和环境数据,进行数据存储和处理,以提供个性化的智能服务。

C语言提供了灵活的数据结构和操作方法,方便进行数据存储和处理的开发。

三、智能电池管理系统智能电池管理系统是指通过智能技术实现对电池的智能管理和优化调度。

用C语言开发网络监控工具

用C语言开发网络监控工具

用C语言开发网络监控工具一、概述网络监控工具是一种用于监控和管理计算机网络的软件应用程序,通过对网络中的设备、连接和流量进行实时监测和分析,帮助管理员及时发现和解决网络问题。

本文将介绍如何使用C语言开发一个简单而实用的网络监控工具。

二、工具功能需求分析1. 设备监控:实时监测网络中的设备状态,包括设备是否在线、设备的IP地址和MAC地址等。

2. 连接监控:监测网络中的连接情况,包括连接的双方IP地址、端口号以及连接状态等。

3. 流量监控:统计网络中各个设备的流量使用情况,包括上传和下载的数据量。

4. 报警功能:当网络出现异常情况时,及时向管理员发送警报,帮助管理员快速处理问题。

5. 数据存储:将监控数据进行存储,以便后续的分析和查询。

三、开发环境准备1. 操作系统:推荐使用Linux操作系统,因其具有良好的网络编程支持。

2. 开发工具:推荐使用C语言进行开发,可选择Eclipse、Visual Studio等集成开发环境。

3. 网络编程库:选择合适的网络编程库,如Socket、libpcap等。

四、开发过程1. 设备监控功能实现:a. 使用Socket库创建一个UDP套接字,监听指定端口。

b. 接收来自网络中设备的心跳包,更新设备状态信息。

c. 定期向网络中的设备发送探测包,判断设备是否在线。

2. 连接监控功能实现:a. 使用Socket库创建一个TCP套接字,监听指定端口。

b. 接收来自网络中的连接请求,记录连接信息。

c. 根据连接状态的改变,更新连接信息。

3. 流量监控功能实现:a. 使用libpcap库对数据包进行抓包。

b. 解析数据包中的源IP地址和目的IP地址,判断流量的上传和下载方向。

c. 统计各个设备的流量使用情况,并按时间段进行记录。

4. 报警功能实现:a. 监控程序定期检查设备和连接的状态。

b. 当发现异常情况时,通过系统调用发送警报信息给管理员。

5. 数据存储功能实现:a. 使用数据库(如MySQL)创建数据表,用于存储监控数据。

实验设备管理系统c语言课题设计

实验设备管理系统c语言课题设计

一、设计内容与设计要求1.设计内容:实验设备管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2.设计要求:1)用C语言实现系统;利用结构体数组实现实验设备信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。

2) 建立一个实验设备信息数据库,文件名为s bxxk.txt,并从该文件中读取数据;3) 实验设备管理系统应能提供以下功能:①系统以菜单方式工作②实验设备信息显示功能;显示时按表格的形式,且应有表头。

③设备信息追加功能;追加一条(或多条)新记录,要求在追加过程中有相应的提示信息,完成追加后能重新排序和显示;④设备信息查询功能;a.. 按设备编号查询;b. 按设备名称查询;c. 按单价查询;d. 按购置日期查询;要求系统在上述查询方式中至少应有两种以上的查询方式,且能显示符合条件的所的记录。

⑤设备信息的删除;要求可按指定的编号和指定的设备名称两种定位方式删除有关设备记录。

⑥设备信息的修改;要求能按指定的设备编号和按指定的设备名称两种定位方式进行修改,且可以按用户要求修改记录中除设备编号和设备名称以外的指定内容,并重新显示;⑦设备信息的统计:能按指定的设备分类号或按指定的单价两种方式分别进行统计,并将统计的结果以及被统计的设备信息用表格的形式显示;⑧排序:能按设备的单价升序排序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计说明书学院、系:专业:学生姓名:学号:设计题目:设备管理系统起迄日期:指导教师:日期: 2017年5月12日1 设计目的提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。

通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。

2 任务概述功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。

能够显示和统计各种设备的信息。

分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行补充、修订、删除,能统计所有设备的总价值。

3、进一步要求:完成设备按种类、按所属部门进行统计。

3 模块划分系统可设计为:实验设备信息写入模块实验设备信息输出模块.实验设备信息查询模块实验设备信息添加模块实验设备信息删除模块实验设备信息查询模块实验设备信息统计模块结构体成员包括设备号,设备名称,设备领用人,设备所属部门,设备数量,设备购买时间,设备价格。

4 主要函数说明及其N-S图4.1主函数流程图4.2 N-S图4.3查询记录4.4读入/写入文件图4.44.5添加数据图4.54.6删除数据图4.7修改数据4.8统计数据5 程序运行数据及其结果图5.1 进入界面图5.2菜单&功能选择图5.3 添加数据图5.4 查看数据图5.5 删除数据图5.6 修改数据图5.7 统计数据6 课程设计心得经历了大一上半学期C语言课程,C语言笔试,C语言机试的“洗礼”,让我对C语言的有了进一步的认识,深深认识到自己学习的还不够,平时敲的代码也太少,作为一名软件工程的学生,感到深深的愧疚,对不起老师,对不起父母,更对不起自己,同时为自己将来毕业后的命运感到一份担忧。

在大一下学期C语言实训中,不仅有网上已有成果的借鉴与分析,以及向同学的请教,还有相关资料的查阅,既加深了自身能力的认知与对自己不足的体会,也优化了和同学的关系,真可谓一举两得。

同时还得出一个结论:亲身下河知深浅,亲口尝梨知酸甜!作为一名软件工程的学生,平时在电脑跟前敲代码的过程是必需的,谁也躲不了,一份努力,一份收获,同时,学习C语言需要细密又严谨的思维,良好的操作习惯,这样才有可能在编程的道路上百尺竿头更进一步!也希望各位老师、身边的同学监督,更需要自己的积极自省。

期待三年后一个成熟优秀的自己!附录:#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>void menu(); //功能选择void add(); //添加信息void del(); //删除信息void alt(); //修改信息void chec(); //查看信息void count(); //统计信息void read(); //读取文件void write(); //写入文件struct array{char ano[20],aname[20],aowner[20],aapartment[20],aamount[20],atime[20],aprice[20];int del; //判断是否删除,值为0为未删除,1为已删除} a[20];int No,sum;int main(){system("mode con cols=145 lines=35");puts("\n\n\n\n\n\n\n\n\n\n\n\n\n <<<<<<欢迎使用设备管理系统!>>>>>>");getchar();read(); //实现文件读进内存menu(); //实现功能选择write(); //实现信息写入文件return 0;}void menu(){system("cls");int a;puts("\n\n\n\n\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<请选择需要的功能:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>");puts(" 1.查看设备信息\n2.添加设备信息\n3.删除设备信息\n4.修改设备信息\n5.统计设备信息\n0.退出系统");printf("\t\t请选择你的功能(选择0~5)[ ]\b\b");s canf("%d",&a);switch (a){case 0:return;case 1:chec();break;case 2:add();break;case 3:del();break;case 4:alt();break;case 5:count();break;default:printf("信息有误!请检查后重新输入\n");}}void read(){No=0;FILE *fp=fopen("D:\\infor.txt","r+"); //读写功能if(fp==NULL){f p=fopen("D:\\infor.txt","w+"); //若没有则创建一个txtf close(fp);}int i;for(i=0;!feof(fp);i++){fread(&a[i],sizeof(struct array),1,fp); //一次读取一个No++;No=No-1;fclose(fp);}void write(){int i;FILE *fp=fopen("D:\\infor.txt","w+");for (i=0;i<No;i++)if (!a[i].del)fwrite(&a[i],sizeof(struct array),1,fp);fclose(fp);}void chec(){int i;printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<No;i++){i f(a[i].del==0)p rintf("%8s%20s%20s%20s%20s%20s%20s\n",a[i].ano,a[i].aname,a[i].aowner,a[i].aapartment,a[ i].aamount,a[i].atime,a[i].aprice);getchar();getchar();menu();}void add(){char s;printf("请输入要添加的设备号:\n");scanf("%s",a[No].ano);printf("请输入要添加的设备名称:\n");scanf("%s",a[No].aname);printf("请输入要添加的设备领用人:\n");scanf("%s",a[No].aowner);printf("请输入要添加的设备的所属部门:\n");scanf("%s",a[No].aapartment);printf("请输入要添加的设备数量:\n");scanf("%s",a[No].aamount);printf("请输入要添加的设备购买时间:\n");scanf("%s",a[No].atime);printf("请输入要添加的设备价格:\n");scanf("%s",a[No].aprice);a[No].del=0;No+=1;printf("请问是否继续添加?(Y/N)(不区分大小写)\n");while (1){g etchar();g ets(&s);i f (s=='Y'||s=='N'||s=='y'||s=='n')break;e lse{puts("信息有误!请检查后重新输入\n");puts("按任意键重新输入!");getchar();getchar();getchar();}}if(s=='Y'||s=='y')a dd();else if(s=='N'||s=='n')s ystem("cls");menu();}void del(){char ch[20],s;int i;printf("请输入要删除的设备编号:(0键返回菜单栏)\n");printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<No;i++){i f(a[i].del==0)p rintf("%4d%20s%20s%20s%20s%20s%20s%20s\n",i+1,a[i].ano,a[i].aname,a[i].aowner,a[i].aap artment,a[i].aamount,a[i].atime,a[i].aprice);}while (1){s canf("%s",ch);i=atoi(ch);i f (i>=1 && i<=No)break;e lse if(i==0)return;e lse puts("信息有误!请检查后重新输入\n");}a[i-1].del=1;printf("是否继续删除?(Y/N)(不区分大小写)\n");while (1){g etchar();g ets(&s);i f (s=='Y'||s=='N'||s=='y'||s=='n')break;e lse puts("信息有误!请检查后重新输入\n");}if(s=='Y'||s=='y')d el();else if(s=='N'||s=='n')s ystem("cls");menu();}void alt(){char s,ch[20];int i,j;printf("请输入修改的设备的编号:\n");printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");for(i=0;i<No;i++){p rintf("%4d%20s%20s%20s%20s%20s%20s%20s\n",i+1,a[i].ano,a[i].aname,a[i].aowner,a[i].aap artment,a[i].aamount,a[i].atime,a[i].aprice);}while (1){s canf("%s",ch);i=atoi(ch);i f (i>=1 && i<=No)break;e lse if(i==0)return;e lse puts("信息有误!请检查后重新输入\n");}if(a[i-1].del==1){p rintf("该设备已被删除!\n");r eturn;}printf("请输入您要修改的内容的编号:\n1.设备号\n2.设备名称\n3.领用人\n4.所属部门\n5.数量\n6.购买时间\n7.价格\n0.返回菜单栏\n");while (1){s canf("%s",ch);j=atoi(ch);i f (j>=1 && j<=7)break;e lse if(i==0){return;}e lse puts("信息有误!请检查后重新输入\n"); }printf("请输入要修改的信息:\n");switch (j){c ase 1:{scanf("%s",a[i-1].ano);break;}case 2:{scanf("%s",a[i-1].aname);break;}case 3:{scanf("%s",a[i-1].aowner);break;}case 4:{scanf("%s",a[i-1].aapartment);break;}case 5:{scanf("%s",a[i-1].aamount);break;}c ase 6:{scanf("%s",a[i-1].atime);break;}c ase 7:{scanf("%s",a[i-1].aprice);break;}}printf("是否继续修改?(Y/N)(不区分大小写)\n"); while (1){g etchar(); //获取回车g ets(&s); //获取si f (s=='Y'||s=='N'||s=='y'||s=='n')break;e lse puts("信息有误!请检查后重新输入\n");}if(s=='Y'||s=='y')a lt();else if(s=='N'||s=='n')s ystem("cls");menu();}void count(){char ch[20],temp[20],s;int i,j,n;sum=0;printf("请选择统计方式:\n1.所有设备的总价值。

相关文档
最新文档