c语言设备管理系统
计算机二级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一次能处理的二进制数据的位数)。
华科操作系统实验报告

华科操作系统实验报告一、实验目的操作系统是计算机系统的核心组成部分,对于理解计算机的工作原理和提高计算机应用能力具有重要意义。
本次华科操作系统实验的主要目的是通过实际操作和实践,深入理解操作系统的基本概念、原理和功能,掌握操作系统的核心技术和应用方法,提高我们的实践能力和问题解决能力。
二、实验环境本次实验使用的操作系统为Windows 10 和Linux(Ubuntu 2004),开发工具包括 Visual Studio Code、GCC 编译器等。
实验硬件环境为个人计算机,配置为英特尔酷睿 i7 处理器、16GB 内存、512GB 固态硬盘。
三、实验内容1、进程管理进程创建与销毁进程调度算法模拟进程同步与互斥2、内存管理内存分配与回收算法实现虚拟内存管理3、文件系统文件操作与管理文件系统的实现与优化4、设备管理设备驱动程序编写设备分配与回收四、实验步骤及结果1、进程管理实验进程创建与销毁首先,使用 C 语言编写程序,通过系统调用创建新的进程。
在程序中,使用 fork()函数创建子进程,并在子进程和父进程中分别输出不同的信息,以验证进程的创建和执行。
实验结果表明,子进程和父进程能够独立运行,并输出相应的信息。
进程调度算法模拟实现了先来先服务(FCFS)、短作业优先(SJF)和时间片轮转(RR)三种进程调度算法。
通过模拟多个进程的到达时间、服务时间和优先级等参数,计算不同调度算法下的平均周转时间和平均等待时间。
实验结果显示,SJF 算法在平均周转时间和平均等待时间方面表现较好,而 RR 算法能够提供较好的响应时间和公平性。
进程同步与互斥使用信号量和互斥锁实现了进程的同步与互斥。
编写了生产者消费者问题的程序,通过信号量控制生产者和消费者对缓冲区的访问,避免了数据竞争和不一致的情况。
实验结果表明,信号量和互斥锁能够有效地实现进程间的同步与互斥,保证程序的正确性。
2、内存管理实验内存分配与回收算法实现实现了首次适应(First Fit)、最佳适应(Best Fit)和最坏适应(Worst Fit)三种内存分配算法。
c语言课程设计影院管理系统

c语言课程设计影院管理系统一、教学目标本课程的目标是让学生掌握C语言编程基础,能够运用C语言设计并实现一个简单的影院管理系统。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解函数的定义和调用。
–了解面向过程的编程思想。
2.技能目标:–能够使用C语言编写简单的程序。
–能够运用函数封装和模块化编程。
–能够设计和实现一个简单的影院管理系统。
3.情感态度价值观目标:–培养学生的编程兴趣和自信心。
–培养学生的问题解决能力和创新思维。
–培养学生的团队合作和沟通能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向过程的编程思想。
具体安排如下:1.C语言的基本语法:–变量和常量的声明和使用。
–运算符和表达式的使用。
–控制语句的运用。
2.数据结构:–数组的声明和操作。
–链表的创建和操作。
–栈和队列的应用。
3.函数的定义和调用:–函数的声明和定义。
–函数的参数传递和返回值。
–函数的调用和调用栈。
4.面向过程的编程思想:–模块化编程和函数封装。
–程序的流程控制和错误处理。
–面向过程的编程实践。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:教师通过讲解和示例来传授知识,引导学生理解和掌握C语言的基本语法和数据结构。
2.讨论法:学生通过小组讨论和分享,互相学习和交流,培养团队合作和沟通能力。
3.案例分析法:教师通过分析真实的影院管理系统的案例,引导学生运用C语言编程解决实际问题。
4.实验法:学生通过编写和运行C语言程序,实践和巩固所学的知识,培养问题解决能力和创新思维。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:《C语言程序设计》或《C语言入门教程》。
2.参考书:《C Primer Plus》或《C和指针》。
3.多媒体资料:教学PPT、视频教程、编程案例和示例代码。
c语言的主要用途

c语言的主要用途C语言是一种广泛使用的编程语言,早在20世纪70年代就已经出现。
它的主要用途是编写操作系统、嵌入式系统、网络协议、驱动程序和软件库等应用程序。
在本文中,我们将逐步介绍C语言的主要用途。
第一步:编写操作系统操作系统是计算机的核心,是计算机硬件和应用程序之间的桥梁。
C语言在操作系统开发中起着很大的作用,因为它可以直接访问计算机硬件,包括内存、处理器、磁盘和输入输出设备等。
例如,Linux操作系统的内核就是用C语言编写的。
第二步:编写嵌入式系统嵌入式系统是指嵌入到其他设备中的计算机系统,例如汽车、电视机、智能手机和游戏机等。
C语言在嵌入式系统的开发中也十分重要,因为它可以访问设备的底层硬件,实现对设备的控制和管理。
例如,Arduino开发板就是一个用C语言编写的嵌入式系统,可以控制各种传感器和执行器。
第三步:编写网络协议网络协议是计算机网络通信的规则和约定,它们是实现互联网功能的基础。
C语言可以编写网络协议,例如TCP/IP协议、HTTP协议等。
这些协议负责数据在网络中的传输和处理,是互联网基础设施中不可或缺的一部分。
第四步:编写驱动程序驱动程序是操作系统中的一个重要组成部分,它们负责向计算机硬件发送指令,实现操作系统和硬件之间的连接。
驱动程序通常需要访问计算机硬件的底层接口,因此需要使用C语言编写。
例如,音频驱动程序、视频驱动程序、打印机驱动程序和网络驱动程序等。
第五步:编写软件库软件库是提供特定功能的代码集合,可以作为其他应用程序的基础。
C语言在软件库的开发中也发挥着重要作用。
例如,OpenGL库用于图形渲染,SQLite库用于数据库管理,libxml库用于XML文件处理等。
总结:C语言具有底层编程能力,既可以编写高效的底层代码,也可以编写较高级别的代码。
因此,它广泛应用于系统编程、嵌入式编程、网络编程、驱动程序编写和软件库开发等方面。
熟练掌握C语言,可以帮助程序员更好地实现各种应用程序。
《C语言程序设计课设》课程设计指导书

《C语言程序设计课设》课程设计指导书一、课程设计的目的(1)加深对讲授内容的理解,尤其是一些语法规则。
(2)熟悉C语言程序设计的结构化编程的思想,掌握数据的基本类型、自定义类型、函数、文件和指针等知识,能运用这些知识进行综合编程,熟练应用。
(3)能够综合运用所学知识,编程解决实际问题。
(4)培养团队分工合作的意识,最终使学生提高编程技能和解决实际问题的能力。
二、课程设计基本要求2.1.组织管理1.由院、系指派经验丰富的专业教师担任指导教师。
2.课程设计实行课程负责人与指导教师共同负责制。
3.课程负责人主要进行课设的命题、指导教师的考核、技术把关和全面管理。
4.指导教师全面负责所承担班级的课程设计指导、管理和考核评定工作。
2.2设计要求1.自选题目、小组管理、团队合作、小组评测。
2.模块化程序设计。
3.锯齿型书写格式。
4.必须上机调试通过。
三、选题要求:每个题目限定1-2人,每人必须负责一部分功能,并独立完成,推举出一个组长,负责任务分工,汇总到班长处,然后交给指导教师。
四、设计报告格式及要求:1、题目2、设计目的3、总体设计(程序设计组成框图、流程图)4、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)5、运行结果及分析6、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施7、课程设计心得及体会8、源程序清单和执行结果:清单中应有足够的注释五、课程设计成绩评定5.1基本要求:(1)每个人必须有程序运行结果;(2)每个人必须交《C语言课程设计》报告5.2、成绩评定和打分标准由指导教师对学生在课程设计期间的表现,所完成的设计报告的质量、设计结果的验收和答辩情况进行综合考核。
具体评定标准如下:(1)上机考勤:注重平时上机考勤与遵守纪律情况20%(2)结果验收:学生能运行、讲述或调试自己的程序,回答教师提问,每个人必须有程序运行结果40%(3)小组自评成绩结果10%(4)设计报告:每个人必须交《C语言课程设计》报告和《C语言课程设计》日志30%以上四项缺一不可,否则不能到得相应学分依据上述考核内容,最后采用优(>90分)、良(80~89分)、中(70~79分)及格(60~69分)、不及格(<60分)五级记分制评定学生课程设计成绩。
系统软件包括哪些

系统软件包括哪些系统软件是一种用于管理和控制计算机硬件资源、提供支持用户应用程序运行的软件,它是计算机系统中不可或缺的部分。
系统软件包括许多不同的组件和功能,用于确保计算机系统正常运行,并提供给用户一个友好和高效的环境。
在本文中,我们将探讨系统软件的不同类型,以及它们在计算机系统中的作用。
首先,操作系统是系统软件的核心组成部分。
操作系统是计算机硬件和应用软件之间的桥梁,它负责管理和分配计算机的资源,控制外围设备的操作,并提供一个用户友好的界面。
常见的操作系统包括Windows、macOS、Linux等。
操作系统的职责包括多任务管理、内存管理、文件系统管理以及设备驱动程序的管理等。
其次,编译器和解释器也是系统软件的重要组成部分。
编译器是一种将高级程序语言翻译为机器语言的工具,而解释器则是逐行解析和执行源代码的工具。
编译器和解释器的作用是将用户编写的程序转化为计算机可以执行的指令。
常见的编译器和解释器包括Python 解释器、C语言编译器等。
另外,系统软件还包括驱动程序。
驱动程序是一种软件模块,用于与计算机硬件进行交互。
它负责控制硬件设备的操作和通信,并将硬件设备的功能暴露给操作系统和应用程序。
常见的驱动程序包括打印机驱动程序、显卡驱动程序等。
系统软件中还有许多其他重要的组件,如系统实用程序。
系统实用程序是一些用于管理和维护计算机系统的工具。
它们可以帮助用户进行文件管理、磁盘清理、系统备份等操作,提高计算机的性能和稳定性。
常见的系统实用程序包括磁盘清理工具、防病毒软件、系统备份工具等。
此外,系统软件还包括网络管理工具。
网络管理工具用于管理和监控计算机系统的网络连接和通信。
它们可以帮助用户设置网络参数、监测网络流量、管理网络设备等。
常见的网络管理工具包括网络监测工具、网络配置工具等。
最后,还有一些用于系统调试和故障排除的工具。
这些工具可以帮助用户快速识别和解决计算机系统中出现的问题。
常见的系统调试和故障排除工具包括系统日志查看器、性能监测工具等。
c语言编写实验物品管理
c语言编写实验物品管理实验物品管理是指对实验室中的各种仪器设备、试剂药品等实验物品进行管理、使用和维护的一项重要工作。
合理、高效地管理实验物品,能够提高实验室的工作效率,保障实验的质量和安全。
下面将从实验物品管理的重要性、管理方法和实施步骤等方面进行详细介绍。
一、实验物品管理的重要性1.提高工作效率:实验物品的管理是为了更好地利用其资源,提高工作效率。
合理的仓库管理和物品存放,能够使实验人员在进行实验时能够迅速找到所需物品,节省查找时间。
2.保证实验的质量和安全:实验物品的管理可以避免物品的过期、损坏等问题,确保实验所使用的物品的有效性和稳定性。
同时,正确的存储和使用方法可以避免物品的误用和事故的发生,保证实验的安全性。
3.节约成本:实验室是一个资源密集型的地方,各种仪器设备和试剂药品的采购和维护都需要投入一定的成本。
通过合理的物品管理措施,可以减少物品损耗和浪费,节约采购和维护的成本。
4.充分发挥物品的作用:合理的物品管理可以充分发挥实验物品的作用,避免因为存储和使用不当导致物品质量下降或无法正常使用的情况。
二、实验物品管理方法1.物品分类:根据实验物品的性质、用途和特点进行分类。
常见的分类包括试剂药品、仪器设备、耗材、实验工具等。
2.购买计划:制定物品采购计划,根据实验需求、消耗情况和经费预算等因素,明确需要购买的物品种类和数量。
3.仓库管理:建立物品仓库或存放区域,对物品进行统一存放和编号。
物品的入库、出库和库存等操作要有相应的记录和登记。
4.物品使用:根据实验的需要,人员进行物品的领用和归还。
严禁私自擅用实验物品,对实验物品的使用要做到需要使用时才使用。
5.物品维护:定期对仪器设备进行检查和维护,确保其正常运行和使用寿命。
对试剂药品和其他易损耗物品进行注意保管,避免损坏和过期。
6.废弃物处理:对于过期、损坏或不再使用的实验物品要进行正确的处理,避免对环境和人员造成危害。
三、实施实验物品管理的步骤1.制定管理制度:明确实验物品管理的目标、要求和责任。
C语言程序设计项目实训指导书
C语言程序设计项目实训指导书指导教师:刘洁计算机技术系二〇一五年九月内容简介本实训项目为C语言程序项目开发实训,适用于计算机系各相关专业,在第一学年第一学期开设。
学生自己动手进行需求分析、项目设计、编码及测试,采用VC++6.0进行C程序的开发,以小组的形式完成。
通过综合实训培养学生综合运用所学的基础理论、基础知识、基本技能进行分析和解决实际问题的能力,加深对所学知识的理解和掌握,使学生受到C程序系统设计开发的综合训练,了解和掌握C应用程序开发基本模式,增强团队协作能力,提高职业技能和职业素质。
目录一.实训的目的与要求: (4)(一)实训目的 (4)(二)实训要求 (4)1、总体要求 (4)2、实训前的准备工作 (5)3、学生分组要求 (5)4、实训结果要求 (5)二.实训的前期准备(设备、用具与软件环境) (5)三.实训的题目 (6)四.实训的设计进度安排 (11)五.主要参考文献及资源 (11)一.实训的目的与要求:(一)实训目的课程设计环节是高职高专院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。
通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学到的专业理论知识,而且能够培养学生工程意识、创新能力及团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。
正如一句行话所说“C语言入门容易得道难”,对于多数学生来说,在学习了C语言之后,除了应付全国计算机等级考试之外,不知还有其他用途,对丰富的C函数所知甚少,因而对C语言兴趣不大。
因此,本课程设计环节从算法、数据结构、C语言丰富的函数以及程序设计等方面进行了精心考虑和组织,追求典型性、完整性、实用性和趣味性,希望不仅能够提高学生学习C语言的兴趣,更为开发程序打下坚实的基础。
(1) 加深对讲授内容的理解。
C语言程序设计课程中的一些语法规则和阶段性知识,只靠课堂讲授既枯燥无味又难以记忆,但它们都很重要,要想熟练掌握,必须经过大量实践加深对它们的理解与把握。
实验设备管理系统c语言课题设计
一、设计内容与设计要求1.设计内容:实验设备管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。
熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。
③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。
⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。
2.设计要求:1)用C语言实现系统;利用结构体数组实现实验设备信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。
2) 建立一个实验设备信息数据库,文件名为s bxxk.txt,并从该文件中读取数据;3) 实验设备管理系统应能提供以下功能:①系统以菜单方式工作②实验设备信息显示功能;显示时按表格的形式,且应有表头。
③设备信息追加功能;追加一条(或多条)新记录,要求在追加过程中有相应的提示信息,完成追加后能重新排序和显示;④设备信息查询功能;a.. 按设备编号查询;b. 按设备名称查询;c. 按单价查询;d. 按购置日期查询;要求系统在上述查询方式中至少应有两种以上的查询方式,且能显示符合条件的所的记录。
⑤设备信息的删除;要求可按指定的编号和指定的设备名称两种定位方式删除有关设备记录。
⑥设备信息的修改;要求能按指定的设备编号和按指定的设备名称两种定位方式进行修改,且可以按用户要求修改记录中除设备编号和设备名称以外的指定内容,并重新显示;⑦设备信息的统计:能按指定的设备分类号或按指定的单价两种方式分别进行统计,并将统计的结果以及被统计的设备信息用表格的形式显示;⑧排序:能按设备的单价升序排序。
国家开放大学《操作系统》章节测试参考答案
国家开放大学《操作系统》章节测试参考答案第1章操作系统概述一、单项选择题1.操作系统的基本职能是()。
A. 提供用户界面,方便用户使用B. 提供方便的可视化编辑程序C. 提供功能强大的网络管理工具D. 控制和管理系统内各种资源,有效地组织多道程序的运行2.按照所起的作用和需要的运行环境,操作系统属于()。
A. 应用软件B. 系统软件C. 支撑软件D. 用户软件3.在计算机系统中,操作系统是()。
A. 处于裸机之上的第一层软件B. 处于系统软件之上的用户软件C. 处于应用软件之上的系统软件D. 处于硬件之下的低层软件4.现代操作系统的基本特征是()、资源共享和操作的异步性。
A. 程序的并发执行B. 实现分时与实时处理C. 多道程序设计D. 中断处理5.以下不属于操作系统具备的主要功能的是()。
A. 中断处理B. CPU调度C. 内存管理D. 文档编辑6.为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。
这属于()。
A. 存储管理B. 作业管理C. 文件管理D. 处理器管理7.操作系统对缓冲区的管理属于()的功能。
A. 设备管理B. 存储器管理C. 文件管理D. 处理器管理8.操作系统内核与用户程序、应用程序之间的接口是()。
A. shell命令B. C语言函数C. 图形界面D. 系统调用9.系统调用是由操作系统提供的内部调用,它()。
A. 与系统的命令一样B. 直接通过键盘交互方式使用C. 是命令接口中的命令D. 只能通过用户程序间接使用10.在下列操作系统中,强调吞吐能力的是()。
A. 多道批处理系统B. 实时系统C. 网络系统D. 分时系统11.批处理系统的主要缺点是()。
A. CPU的利用率不高B. 系统吞吐量小C. 不具备并行性D. 失去了交互性12.为了使系统中所有的用户都能得到及时的响应,该操作系统应该是()。
A. 分时系统B. 网络系统C. 实时系统D. 多道批处理系统13.下面不属于分时系统特征的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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].aapartmen t,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].a apartment,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].a apartment,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.所有设备的总价值。