C语言程序设计 机房管理系统
- 格式:doc
- 大小:47.50 KB
- 文档页数:8
机房收费管理系统c语言机房收费管理系统是一种用于管理机房收费的软件系统,主要用于对机房的学生进行收费管理。
该系统采用C语言进行开发,具有操作简单、功能齐全、界面友好等特点。
一、系统功能1. 学生信息管理:包括学生基本信息的录入、修改和删除等功能。
2. 收费管理:包括学生缴纳费用的记录、查询和统计等功能。
3. 机房设备管理:包括机房设备的添加、修改和删除等功能。
4. 系统设置:包括管理员账号密码的设置和修改等功能。
二、系统设计1. 数据库设计该系统采用MySQL数据库进行数据存储,数据库中包含以下数据表:(1)学生信息表:存储学生基本信息,包括学号、姓名、性别、年龄等字段。
(2)缴费记录表:存储学生缴纳费用的记录,包括学号、姓名、缴纳金额等字段。
(3)机房设备表:存储机房设备信息,包括设备名称、数量等字段。
(4)管理员账号表:存储管理员账号密码信息,包括管理员账号和密码字段。
2. 界面设计该系统采用图形界面进行交互设计,主要界面如下:(1)登录界面:管理员输入用户名和密码登录系统。
(2)主界面:包括学生信息管理、收费管理、机房设备管理和系统设置等功能按钮。
(3)学生信息管理界面:包括学生基本信息的录入、修改和删除等功能按钮。
(4)收费管理界面:包括学生缴纳费用的记录、查询和统计等功能按钮。
(5)机房设备管理界面:包括机房设备的添加、修改和删除等功能按钮。
3. 系统实现该系统采用C语言进行开发,主要实现技术如下:(1)MySQL数据库连接库:使用MySQL C API库连接数据库进行数据存储操作。
(2)GTK+图形库:使用GTK+图形库进行图形界面设计和交互操作。
(3)C语言编程技术:使用C语言进行程序编写和逻辑实现。
三、系统测试该系统经过多次测试,测试结果表明该系统具有较好的稳定性和可靠性,能够满足机房收费管理的需求。
同时,该系统还具有良好的用户体验,操作简单易懂,界面友好美观。
四、总结机房收费管理系统是一种用于管理机房收费的软件系统,采用C语言进行开发。
C语言机房收费管理系统[整理]机房收费管理系统2011-5-22 1. 设计目的(1) 通过对机房收费管理程序的编写加深对C 语言的掌握。
加深掌握条件语句,循环语句,函数调用,结构体等。
(2) 通过对机房收费管理系统程序的编写,提高自己,对C 语言有了更深一步的认识。
2. 函数调用关系main-menu函数:输出机房管理系统菜单input 函数: 输入若干个学生的学号、班级和姓名online 函数:学生上机,输入上机学生学号或姓名及时间calculate 函数:计算上机费用并输出offline 函数:学生下机,输入下机时间,调用calculate 函数得到上机费用search 函数:查找学生上机信息display 函数:显示全部机器的使用信息main 函数:函数调用以及结束程序3( 程序模块机房收费管理系统输入学生信息学生上机学生下机查询上机时间机器使用情况退出系统将学生的学按学号或按学号或按学号或者姓显示全部机器退出机房使用情况号、班级、姓者姓名上者姓名下名查询学生上收费管理名输入信息库机机机时间系统若该生未需判断是输入学生信需判断是否有显示机器是否在信息库否有该学系统使用息,并确定是该学生并且该被使用以及使中,则先生并且该完毕,退否继续输入生是否正在上用该机器的学输入学生生是否正出机生信息信息在上机( 程序代码4#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<string.h>struct time -------------------------------------------------------------------------- /* 时间*/ {int hour;int minute;int second;};typedef struct -------------------------- /* 学生信息*/ {char num[20];---------------------------------------------- /* 学号*/int banji; ---------------------------------- /* 班级*/int flag; -------------------------------------------------- /* 用来标记学生是否上机*/char name[20]; --------------------------------------------------------/* 姓名*/ struct time start,finish; ----------}Student;--------- /**/ 上机起止时间Student stu[50];--------- /* 信息库*/ struct computer--{---- /* 机器信息*/ int f; -----------------/* 用来标记机器是否使用*/Student stut; ------/* 使用这台机器的学生*/}com[30]; ---------int k;---- /*30 台机器*/int main_menu()------ /* 主菜单*/ {char c; do{{system("cls");printf("\t\t\t 请选择菜单 (0-5):");c=getchar();}while(c<'0'||c>'5'); ----------------------------------------------return(c-'0');}int input(Student stu[],int n) -------------------------------------/* 输入学生信息 */ {int i=0; char sign='0';while(sign!='n'&&sign!='N') ------------------------------------------------------ /* 判断是否继续输入学生信息 */printf("\t\t\t**** 机房收费管理系统 ****\n"); printf("\t\t\t1. 输入学生信息 \n"); printf("\t\t\t2. 上机\n"); printf("\t\t\t3. 下机\n");printf("\t\t\t4. 查询上机时间 \n"); printf("\t\t\t5. 机器使用情况显示 \n"); printf("\t\t\t0.退出系统 \n");/*printf("\t\t\t* ********************* **\n");------------------------------- /* 判断输入是否合法 */清屏*/{吃掉回车 */printf("\t\t 学号 :");gets(stu[n+i].num); printf("\t\t班级 :");scanf("%d",&stu[n+i].banji); getchar(); printf("\t\t姓名 :");gets(stu[n+i].name); printf("\t\t继续输入,是请按丫,否请按N:");scanf("%c",&sign);stu[n+i].flag=0; ---------------------------------------------------/* 初始化为未上机 */ i++;}return(n+i);}void online(Student stu[],int n) ------------------------------- ----------------------------------------------------- /*{char num_t[20],name_t[20]; int i,s; dogetchar();/* 上机*/printf("\t\t 使用姓名按1,使用学号按2:");scanf("%d",&s);}while(s!=1&&s!=2);getchar();if(s==1){printf("\t\t 请输入姓名:");gets(name_t);for(i=0;i<n;i++) -------------------------------------------------------------- /* 查找信息库中是否有该学生*/if(strcmp(stu[i].name,name_t)==0)break;}else{printf("\t\t 请输入学号:");gets(num_t);for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0)break;}}if(i==n){prin tf("\t\t 信息库中暂无该生,请输入该生信息再上机〜\n");return;}else if(stu[i].flag==1){printf("\t\t 该生正在上机〜\n");return;}else{for(k=0;k<30;k++)if(com[k].f==0){com[k].f=1; ------------------------------------------------------------- /* 该台机器标记为使用*/printf("\t\t 请输入上机时间(当前时间):");scanf("%d:%d:%d",&stu[i].start.hour,&stu[i].start.minute,&stu[i].sta rt.second);stu[i].flag=1; -------------------------------------------------------------------- /* 该生标记为上机*/com[k].stut=stu[i]; -------------------------------------------/*录使用该台机器的学生信息*/break;}if(k==30)prin tf("\t\t 机器全部使用中,请稍后再上机〜\n");}}void calculate(Student stu) ----------------------------------------/* ------------------------- 上机时间及费用计算*/ {int t;struct time timet;if(stu.finish.second<stu.start.second){if(stu.finish.minute==0){stu.finish.hour-=1;stu.finish.minute=59;}elsestu.finish.minute-=1;timet.second=stu.finish.second+60-stu.start.second; }elsetimet.second=stu.finish.second-stu.start.second;if(stu.finish.minute<stu.start.minute){stu.finish.hour-=1;timet.minute=stu.finish.minute+60-stu.start.minute;}elsetimet.minute=stu.finish.minute-stu.start.minute;timet.hour=stu.finish.hour-stu.start.hour;if(timet.second==0&&timet.minute==0)t=timet.hour;elset=timet.hour+1; --------------------------------------------------------------------- /* 不满一小时按一小时记*/printf("\t\t 该生上机用时%d小时,费用为%d%\n",t,t); }void offline(Student stu[],int n) --------------------------------------------------------------------------------------- /*下机*/ {char num_t[20],name_t[20];int i,s;do{printf("\t\t 使用姓名按1,使用学号按2:");scanf("%d",&s);}while(s!=1&&s!=2);getchar();if(s==1){printf("\t\t 请输入姓名:");gets(name_t);for(i=0;i<n;i++){if(strcmp(stu[i].name,name_t)==0) break; }}else{printf("\t\t 请输入学号:");gets(num_t);for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0) break;}}if(i==n){printf("\t\t 没有这个学生〜\n");return;}else if(stu[i].flag==0){printf("\t\t 该生未上机或已下机〜\n");return;}else{printf("\t\t 请输入下机时间(当前时间):");scanf("%d:%d:%d",&stu[i].finish.hour,&stu[i].finish.minute,&stu[i].f inish.second);calculate(stu[i]); ------------------------------------------------------------------ /* 计算并输出上机费用*/stu[i].flag=0; ------------------------------------------------------------------------- /* 该生标记为未上机*/for(k=0;k<3;k++) ------------------------------------------ /* 将刚下机学生使用的机器标记为未使用*/if(strcmp(com[k].stut.num,stu[i].num)==0){com[k].f=0; ---------------------------------------------------------- /* 该台机器标记为未使用*/break;}}}void search(Student stu[],int n) ----------------------------------- ----------------------------------------- /* 上机时间查询*/{char num_t[20],name_t[20];int i,s;do{printf("\t\t 使用姓名按1,使用学号按2:");scanf("%d",&s);}while(s!=1&&s!=2);getchar();if(s==1){printf("\t\t 请输入姓名:");gets(name_t);for(i=0;i<n;i++){if(strcmp(stu[i].name,name_t)==0)break;else{printf("\t\t 请输入学号:");gets(num_t);}for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0)break;}}if(i==n){printf("\t\t 查无此生〜\n");return;}else if(stu[i].flag==1)printf("\t\t 该生正在上机,上机起始时间为%d:%d:%d\n",stu[i].start.hour,stu[i].start.minute,stu[i].start.second);elseprintf("\t\t 该生未上机或已下机〜\n");void display() ------------------------------------------------------------------------------------ /* 全部机器使用情况显示*/{printf("\t 机器号是否使用使用者学号班级上机时间\n");--/* 显示格式,表头*/printf("\t ---------------------------------------------------------\n");for(k=0;k<30;k++){}if(com[k].f==0)printf("\t%02d 否-- -- -- --:--:--\n",k+1);elseprintf("\t%02d 是%-10s %-10s %2d %02d:%02d:%02d\n",k+1,com[k],com[k].stut.num,com[k].stut.banji,com[k].stut.start .hour,com[k].stut.start.minute,com[k].stut.start.second);}printf("\t");system("pause"); --------------------------- /* 使刚显示的内容在屏幕上停留一段时间,直到继续操作为止*/}int main() ----------------------------------------------------------主函数*//*{int n=0;for(k=0;k<30;k++) -------------------------------------------------- --------------------- /* 全部机器标记为未使用*/com[k].f=0;for(;;){switch(main_menu()){case 1:system("cls");printf("\t\t\t 输入学生信息:\n");n=input(stu,n);break;case 2:system("cls");printf("\t\t\t 学生上机\n");online(stu,n);printf("\t\t");system("pause");break;case 3:system("cls");printf("\t\t\t 学生下机\n");offline(stu,n);printf("\t\t");system("pause");break;case 4:system("cls");printf("\t\t\t 上机时间查询\n");search(stu,n);printf("\t\t");system("pause");break;case 5:system("cls");printf("\t\t\t 机器使用情况显示\n\n");display();break;case 0:system("cls");prin tf("\n\n\t\t 感谢使用机房收费管理系统,欢迎下次使用,再见〜\n\n"); printf("\t\t");system("pause");exit(0);}}return 0;。
机房上机管理系统(1)题目:机房上机管理系统(1)一、课程设计时间2010~11第2学期第15周,共计1周,20学时。
二、课程设计内容用C语言编写软件完成以下任务:用c语言编写软件,实现机房上机的数字化管理,用户界面中的菜单至少应包括“数据信息录入”、“上机签到”、“下机处理”、“退出”4项。
1 数据信息(学生的学号,姓名,系别,上机种类,存的机时数,上机时间,机器号等)录入,保存在comp.dat文件中;2 上机签到,记录学生上机时间,并分配机器(机房机器数量及编号可自行设计)。
3 下机处理,根据学生下机时间计算学生所用机时,并进行扣时处理。
三、课程设计要求1. 程序质量:贯彻结构化的程序设计思想。
用户界面友好,功能明确,操作方便。
用户界面中的菜单至少应包括“数据信息录入”、“上机签到”、“下机处理”、“退出”4项。
代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、说明书成绩六、教师评语目录一、需求分析 (1)二、设计分析 ......................................................... .3三、主要界面截图 (12)四、技术要点 (14)五、个人总结 (17)六、参考文献 (18)七、源程序 (18)一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。
该系统是一个较典型的机房管理系统,其使用者被假定为某机房的学生上机管理人员,系统应该具有安全、稳定、功能齐全的特点。
1. 安全性分析系统管理的信息涉及到学院的所有同学,数据量较大且是一种基础性数据,能够为其它方面的学生管理工作提供重要参考,并且是学生上机要保证学生能够安全正常的上机,在上机时不被别人打扰信息不能随意让别人查到,该系统要做到安全,方便且可靠。
c 课程设计机房收费管理系统一、教学目标本课程旨在通过学习机房收费管理系统的课程设计,使学生掌握计算机程序设计的基本原理和方法,培养学生的实际编程能力和问题解决能力。
在知识目标上,学生应掌握Java语言的基本语法、面向对象编程思想以及常用的数据结构;在技能目标上,学生应能够独立完成机房收费管理系统的需求分析、系统设计、编码实现和测试工作;在情感态度价值观目标上,学生应培养团队合作意识、创新精神和职业道德。
二、教学内容本课程的教学内容主要包括四个部分:Java语言基础、面向对象编程、机房收费管理系统设计和实践。
其中,Java语言基础部分包括Java语法、数据类型、运算符、控制结构等;面向对象编程部分包括类、对象、继承、多态等;机房收费管理系统设计部分包括需求分析、系统设计、模块划分等;实践部分包括编码实现、测试和调试。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
主要包括:讲授法、案例分析法、实验法和讨论法。
讲授法用于讲解基本概念和原理,案例分析法用于分析实际问题和解决方案,实验法用于实践操作和验证,讨论法用于促进学生之间的交流和思考。
四、教学资源本课程的教学资源包括教材、多媒体资料、实验设备和网络资源。
教材选用《Java程序设计》作为主教材,辅助以《机房收费管理系统设计与实践》等相关参考书。
多媒体资料包括教学PPT、视频讲座等,实验设备包括计算机、网络设备等,网络资源包括在线编程平台、技术论坛等。
教学资源的选择和准备将充分支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。
平时表现主要评估学生的课堂参与度、提问回答、小组讨论等;作业主要评估学生的编程实践能力和理论知识掌握情况;考试则主要评估学生的知识掌握和应用能力。
评估结果将通过评分、评语等方式反馈给学生,以促进学生的学习进步。
c语言程序设计管理系统C语言程序设计管理系统是一个功能丰富的软件,它主要面向C语言编程人员,提供了代码编辑、编译、调试、项目管理等一系列功能。
下面将详细介绍该系统的各个组成部分及其实现原理。
1. 系统概述C语言程序设计管理系统旨在提供一个集成的开发环境,帮助开发者高效地编写、测试和维护C语言程序。
系统通常包括以下几个核心模块:- 代码编辑器:提供语法高亮、代码折叠、自动补全等功能。
- 编译器接口:与C语言编译器进行交互,执行编译过程。
- 调试器接口:允许开发者在程序运行时设置断点、单步执行、查看变量值等。
- 项目管理:帮助开发者管理多个项目和文件。
- 版本控制:集成版本控制系统,如Git,以跟踪代码的变更历史。
2. 代码编辑器代码编辑器是开发环境中最直观的部分,它允许用户编写和修改C语言代码。
现代编辑器通常具备以下特性:- 语法高亮:根据C语言的关键字、变量、函数等,使用不同的颜色显示,提高代码的可读性。
- 代码折叠:允许用户隐藏或展开代码块,便于查看和编辑。
- 自动补全:根据用户的输入,自动完成代码片段,提高编码效率。
- 代码提示:在用户编码过程中提供函数签名和变量类型的提示。
3. 编译器接口编译器接口是连接代码编辑器和C语言编译器的桥梁。
它负责将编辑器中的代码传递给编译器,并处理编译结果。
主要功能包括:- 编译命令生成:根据用户的设置生成编译命令。
- 编译结果解析:解析编译器输出的错误和警告信息,提供给用户。
- 编译过程监控:显示编译进度,允许用户在编译过程中取消编译。
4. 调试器接口调试器接口允许开发者在程序运行时进行调试。
它提供了以下功能:- 断点设置:在代码的特定位置设置断点,程序运行到断点处会暂停。
- 单步执行:逐行执行程序代码,允许用户观察程序的运行状态。
- 变量监视:在调试过程中,可以查看和修改变量的值。
- 调用堆栈:显示程序的调用堆栈,帮助用户理解程序的执行流程。
5. 项目管理项目管理功能帮助开发者组织和管理大型项目中的多个文件和模块。
课程设计报告课程名称:C课程设计班级:学号:姓名:完成日期:沈阳航空航天大学北方软件学院课设任务书专业名称:计算机网络技术设计题目:机房管理系统起止时间:2011年6月27日至2011 年7月8日问题描述通过开发一个机房管理系统,掌握与指针、数组(链表)有关的算法、函数的调用、结构体类型变量的定义和使用;文件打开、关闭、读、写等文件操作,提高对C 语言的实际运用能力。
基本要求机房管理系统实现功能:1.登录:根据菜单提示进行相应的的操作;2.机器信息文件的创建、增加、删除、修改;3.按型号,编号等对机器信息进行查询。
实现提示设计一个主菜单函数,通过菜单选择调用其他函数来实现相应的功能(switch语句)。
机器信息文件可包含编号,详细信息(主板,硬盘,cpu等信息)等项。
选作内容可根据主板,硬盘,cpu等机器信息进行分类统计机器数量。
学生姓名:学号:指导教师:年月日机房管理系统1概要设计用于机房管理,机房电脑的入库应在机房账目上加入电脑的入机房日期,电脑型号,数量,种类等,在电脑出库时应登记出库日期,数量种类等指标,手续经办人签名等。
并有机房盘点功能。
基本要求:入库登记功能出库登记功能机房盘点功能:机房中实际的存量电脑超出存储范围,或没有电脑的预警功能2详细设计主菜单说明struct product product[COUNT];//定义物品结构体数组void menu()//主菜单,应用于选择进行的操作{int choice,A;/*使主菜单循环*/do{printf("\n\n");printf("***********************************************************\n");printf("***********************欢迎进入****************************\n");printf("*********************机房管理系统**************************\n");printf("***********************主菜单******************************\n");printf("***********************************************************\n");printf("\t\t 1、电脑入库登记 \n");printf("\t\t 2、电脑出库登记\n");printf("\t\t 3、电脑库存查询\n");printf("\t\t 4、退出程序\n");printf("***********************************************************\n");printf("请选择所要执行的操作:");scanf("%d",&choice);结构体说明:1、struct product//定义物品的机构体{char name[SIZE];char model[SIZE];char kind[SIZE];char person[SIZE];int date;float inprice;int num;int innumber;int outnumber;int number;};查询菜单说明void Product_Search(){int select,B;for(;1;){system("cls");printf("\n\n");printf("***********************************************************\n");printf("*********************机房管理系统**************************\n");printf("**********************物品出查询***************************\n");printf("***********************************************************\n");printf("\t\t 1.按型号查询\n");printf("\t\t 2.按名称查询\n");printf("\t\t 3.按编号查询\n");printf("\t\t 4. 返回\n");printf("***********************************************************\n");printf("请选择所要执行的操作:");scanf("%d", &select);switch(select){case 1: searchbymodel();getch(); break;case 2: searchbyname();getch();break;case 3: searchbynum();getch();break;case 4: return menu();getch();break;default: printf("\n\n输入错误,请重新输入!!!!!\n");}}}指针、函数说明:3#define SIZE 30//定义字符串长度#define COUNT 100void menu();//菜单void Poduct_Enter();//定义货物入库函数void Product_Out();//货物出库void Product_Search();//货物查询void searchbymodel();//货物按型号查询void searchbyname();//货物按名字查询void searchbynum();//货物按编号查找void exit_system();//程序结束void save();//保存数据void open_out();//打开文件int i,p;2、struct product *p;//定义指针p=&product;3调试报告(1)忘记加分号,分号是C语句中不可缺少的一部分,语句末尾必须有分号,不该加分号的地方加了分号,后来经过调试改正了错误,另外,复合语句的花括号后不应再加分号,否则将会画蛇添足。
机房收费管理系统1. 引言在现代社会,机房成为了信息技术的重要组成部分,承担着信息存储、数据处理等关键任务。
机房的使用费用需要进行管理和收费,以维持机房的正常运转和持续发展。
因此,开发一套机房收费管理系统具有重要意义。
本文将通过C语言编写一个机房收费管理系统,并探讨其设计与实现。
2. 系统功能设计2.1 用户管理模块用户管理模块是机房收费管理系统的核心模块之一,用于管理用户的基本信息和账户余额。
具体功能需求如下:•用户注册:用户可以通过系统进行注册,输入基本信息并生成唯一的用户ID。
•用户登录:已注册的用户可以通过输入用户名和密码进行登录操作。
•用户查询:用户可以通过系统查询自己的账户余额和消费记录。
2.2 机房使用管理模块机房使用管理模块主要用于管理机房的使用情况和收费标准。
具体功能需求如下:•机房预约:用户可以通过系统预约机房使用时间,系统根据预约时间自动计算费用。
•机房取消预约:用户可以在预约时间之前取消机房的使用,系统将相应地进行费用计算和余额调整。
•机房使用记录查询:用户可以查询自己的机房使用记录和相关费用信息。
2.3 费用计算与管理模块费用计算与管理模块是机房收费管理系统的重要组成部分,用于计算和管理机房使用费用。
具体功能需求如下:•费用计算:系统根据机房使用时间和收费标准自动计算费用。
•费用管理:系统根据机房使用记录和费用计算结果进行费用管理和账户余额调整。
3. 系统设计与实现3.1 数据结构设计机房收费管理系统需要设计相应的数据结构来存储用户信息、机房使用记录和费用管理等数据。
可以使用结构体或链表等数据结构来实现。
3.2 用户管理模块实现用户管理模块可以通过调用C语言提供的文件操作函数来实现用户信息的读取、存储和更新。
可以使用文件来存储用户信息和账户余额等数据。
3.3 机房使用管理模块实现机房使用管理模块需要设计相应的数据结构来存储机房预约信息和使用记录。
可以使用链表或数组等数据结构来实现。
#include<stdio.h>#include<string.h>#define Size 100struct machine{int bianhao;char zhuban[10];char yingpan[10];char neicun[10];char zhupin[10];char xianka[10];char fangjian[10];char shiyong[10];}Com[Size];void menu();void password();void insert(int *);void search1(int);//void search2(int);void update(int);void Delete(int *);void show(int);void save();void read();int count=0;int main(){int i;char name[20];char ad[20]={"zyc"};password();{read ();do{menu();scanf("%d",&i);switch(i){case 1:insert(&count);break;case 2:search1(count);break;case 3:update(count);break;case 4:Delete(&count);break;case 5:show(count);break;case 6:save();break;default:printf("errow!");break;}}while(i!=6);}if(strcmp(ad,name)!=0)// printf("You are wrong!\n");return 0;}void password(){int i;char name[20];char ad[20]={"zyc"};printf("请输入验证信息:");scanf("%s",name);if(strcmp(ad,name)==0);}void menu(){printf("\n");printf("---------------北软机房管理系统---------------\n");printf("---1.插入---\n");printf("---2.按编号查找---\n");//printf("---3.按机房查找---\n");printf("---3.修改---\n");printf("---4.删除---\n");printf("---5.显示---\n");printf("---6.退出---\n");}void insert(int *count){int i,number;if(*count==Size){printf("full!");return;}printf("请输入编号:");scanf("%d",&number);for(i=0;i<*count;i++)if(Com[i].bianhao==number){printf("已经有相同的编号:");return;}Com[i].bianhao=number;printf("请输入主板型号:");scanf("%s",Com[i].zhuban);printf("请输入硬盘容量:");scanf("%s",Com[i].yingpan);printf("请输入内存容量:");scanf("%s",Com[i].neicun);printf("请输入cpu主频:");scanf("%s",Com[i].zhupin);printf("请输入显卡型号:");scanf("%s",Com[i].xianka);printf("请输入机器所属机房:");scanf("%s",Com[i].fangjian);printf("请输入机器使用情况:");scanf("%s",Com[i].shiyong);(*count)++;}void search1(int count){int i,number,flag=0;printf("请输入要查询的编号:");scanf("%d",&number);for(i=0;i<count;i++)if(Com[i].bianhao==number){printf("机器编号: %d\n",Com[i].bianhao);printf("主板型号: %s\n",Com[i].zhuban);printf("硬盘容量: %s\n",Com[i].yingpan);printf("内存容量: %s\n",Com[i].neicun);printf("机器主频: %s\n",Com[i].zhupin);printf("显卡型号: %s\n",Com[i].xianka);printf("所属机房: %s\n",Com[i].fangjian);printf("使用情况: %s\n",Com[i].shiyong);flag=1;}if(flag==0)printf("没有查到!");}/*void search2(int count){int i,flag=0;int number;printf("请输入要查询的主板:");scanf("%d",&number);for(i=0;i<count;i++)if(Com[i].fangjian==number){printf("机器编号: %d\n",Com[i].bianhao);printf("主板型号: %s\n",Com[i].zhuban);printf("硬盘容量: %s\n",Com[i].yingpan);printf("内存容量: %s\n",Com[i].neicun);printf("机器主频: %s\n",Com[i].zhupin);printf("显卡型号: %s\n",Com[i].xianka);printf("所属机房: %d\n",Com[i].fangjian);printf("使用情况: %s\n",Com[i].shiyong);flag=1;}if(flag==0)printf("没有查到!");}*/void update(int count){int i,number,flag=0;printf("请输入要修改的编号:");scanf("%d",&number);for(i=0;i<count;i++)if(Com[i].bianhao==number){printf("请输入主板型号:");scanf("%s",Com[i].zhuban);printf("请输入硬盘容量:");scanf("%s",Com[i].yingpan);printf("请输入内存容量:");scanf("%s",Com[i].neicun);printf("请输入cpu主频:");scanf("%s",Com[i].zhupin);printf("请输入显卡型号:");scanf("%s",Com[i].xianka);printf("请输入机器所属机房:");scanf("%s",Com[i].fangjian);printf("请输入机器使用情况:");scanf("%s",Com[i].shiyong);flag=1;}if(flag==0)printf("没有查到可以修改的数据!");}void Delete(int *count){int i,j,number,flag=0;printf("请输入要删除的编号:");scanf("%d",&number);for(i=0;i<*count;i++){if(Com[i].bianhao==number){for(j=i;j<*count-1;j++)Com[j]=Com[j+1];(*count)--;flag=1;}}if(flag==0)printf("没有查询到可删除的数据:");}void show(int count){ int i;printf("\n");printf(" 编号主板硬盘内存主频显卡机房使用\n"); for(i=0;i<count;i++){printf("%8d",Com[i].bianhao);printf("%8s",Com[i].zhuban);printf("%8s",Com[i].yingpan);printf("%8s",Com[i].neicun);printf("%8s",Com[i].zhupin);printf("%8s",Com[i].xianka);printf("%8s",Com[i].fangjian);printf("%8s",Com[i].shiyong);printf("\n");}printf("机器总数量:%d",i);}void save(){FILE *fp;int i;if((fp=fopen("D:\\jiqi.txt","wb"))==NULL){printf("cannot open file\n");return;}for(i=0;i<count;i++)if(fwrite(&Com[i],sizeof(struct machine),1,fp)!=1) printf("file write error!");fclose(fp);}void read(){FILE *fp;int i=0;if((fp=fopen("D:\\jiqi.txt","rb"))==NULL){return;}while(!feof(fp))if(fread(&Com[i],sizeof(struct machine),1,fp)==1) {count++;i++;}fclose(fp);}。