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>#include<time.h>#include<stdlib.h> /*颜色控制*/#define MaxSize 100/*定义1符号常量*/FILE *fp;struct student_info{ int seat; //机号char name[10]; //姓名char zhuangtai[30];long stu_num; //学号int time;char kaishi[10];}StudentList[MaxSize];void denglu();void Search();void Show();void xiugai();void xiaji();void satutation();void luru();void exiit();//主菜单void main(){int i,j;system("color 4D"); //字体和背景颜色for(j=1;j<=100;j++){StudentList[j].time=0; //给所有机子上机时间赋值为0,代表空机 StudentList[j].seat=j; //给所有机子编号 }do{printf("\t\t\t★★★★★★★★★★★★★★★★★\n\n");//显示一个简易菜单printf("\t\t\t ◆◆欢迎使用机房管理系统◆◆ \n\n");printf("\t\t\t★★★★★★★★★★★★★★★★★\n\n");printf("\n");printf("☆¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤☆\n");printf("☆\t\t\t1-- -登陆计算机(denglu)☆\n"); printf("☆\t\t\t2----查询单个上机信息(Search)☆\n");printf("☆\t\t\t3----显示所有使用者信息(Show)☆\n");printf("☆\t\t\t4----修改电脑使用者信息(xiugai)☆\n");printf("☆\t\t\t5----下机(xiaji)☆\n");printf("☆\t\t\t6----查询某计算机位置(satutation) ☆\n");printf("☆\t\t\t7----计算机信息录入 (luru) ☆\n");printf("☆\t\t\t8----退出(Exiit)☆\n");printf("☆¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤☆\n");printf("请输入要选择功能的代码:\n");scanf("%d",&i); //接受用户的选择switch(i){case 1:denglu(); //调用学生信息输入函数break;case 2:Search(); //调用上机信息查询函数break ;case 3:Show(); //调用上机信息全显示函数break;case 4:xiugai(); //调用上机信息修改函数break;case 5:xiaji(); //调用计费函数break;case 6:satutation();break;case 7:luru();break;case 8: exiit();break;default:printf("错误选择!请重选");break;}}while(i!=8);}/*模块一登陆计算机*/void denglu(){int i,k=0; /*全局变量*/for(i=1;i<=100;i++){if(StudentList[i].time==0) //检测机房是否有空机位 k=0;elsek=1;}if(k!=0){printf("机房已满!");return;}elseprintf("请输入机号:");scanf("%d",&i);if(i>100){printf("请输入小于等于100的数");return;}if(StudentList[i].time!=0){printf("已经有人正在操作此机:");return;}elseprintf("请输入上机者姓名:");scanf("%s",StudentList[i].name);printf("请输入上机者学号:");scanf("%ld",&StudentList[i].stu_num);printf("请输入上机时刻:");scanf("%s",&StudentList[i].kaishi);printf("请输入上机时间:");scanf("%d",&StudentList[i].time);printf("\n\n");FILE *fp;fp=fopen("c:\\上机信息.doc","w");for (i=0;i<100;i++){ if (fwrite(&StudentList[i],sizeof(struct student_info),1,fp)!=1)printf("file write error\n");}fclose(fp);}//模块二查询单个上机信息void Search(){int i;printf("请输入要查询的机号:");scanf("%d",&i);if(StudentList[i].time!=0) //是否上机{printf("姓名:%s\t\t",StudentList[i].name);printf("学号:%ld\t\t",StudentList[i].stu_num);printf("上机时刻:%s\t\t",StudentList[i].kaishi);printf("上机时间:%d\t\t",StudentList[i].time);printf("状态:计算机正在使用");}elseprintf("计算机未使用");printf("\n\n");}//模块三显示所有使用者信息void Show(){int i;printf("\n");printf("机号\t姓名\t学号\t上机时刻\t上机时间\t计算机状态\n");for(i=1;i<=100;i++)if(StudentList[i].time!=0) //判断标准,检索到则输出 {printf("%d\t",StudentList[i].seat);printf("%s\t",StudentList[i].name);printf("%ld\t",StudentList[i].stu_num);printf("%s\t",StudentList[i].kaishi);printf("%d\t\t",StudentList[i].time);printf(" 计算机正在使用\n");}else{printf("%d\t",i);printf("无\t");printf("无\t");printf("无\t\t");printf("无\t\t");printf(" 计算机未使用\n");} printf("\n\n");}//模块四修改上机信息void xiugai(){int i;printf("请输入要修改数据的机号:");scanf("%d",&i);if(StudentList[i].time!=0){printf("请输入姓名:");scanf("%s",StudentList[i].name);printf("请输入学号:");scanf("%d",&StudentList[i].stu_num);printf("请输入上机时刻:");scanf("%s",&StudentList[i].kaishi);("请输入上机时间:");scanf("%d",&StudentList[i].time);}elseprintf("计算机未使用");printf("\n\n");}//模块五下机void xiaji(){int j,m; char a;printf("您是否要下机?\n");L1:;printf("请输入输入y下机,输入其他返回\n");scanf("%s",&a);if(a=='y'||a=='Y'){printf("\n\t请输入您所使用的计算机的序号(1--100):");scanf("%d",&m);for(j=1;j<=100;j++){if(j==m)StudentList[j].time=0; }printf("\n\n");}elsegoto L1;printf("\n\n");}//模块六查询计算机位置void satutation(){ int i,j,k,m=1;char a[20][5];for (i=0;i<20;i++)for (j=0;j<5;j++){a[i][j]=m;m=++m;}printf("请输入查询的机号:");scanf("%d",&k);if(k>100)printf("请输入小于等于100的数");else{ for (i=0;i<20;i++)for (j=0;j<5;j++)if(a[i][j]==k)printf ("该机号对应的计算机在第%d行,第%d列",i+1,j+1);} printf("\n\n");}//模块七计算机信息录入与显示void luru(){int i;int a;printf("\n您是要重新录入计算机信息,还是要查询计算机信息?\t\n"); printf("1: 重新录入计算机信息,\n2: 查询计算机信息\n");scanf("%d",&a);switch(a){case 1:for(i=1;i<=100;i++){ StudentList[i].seat=i;printf("计算机序号:%d",StudentList[i].seat);printf("\n请输入上机者姓名:\n");scanf("%s",StudentList[i].name);printf("请输入上机者学号:\n");scanf("%ld",&StudentList[i].stu_num);printf("请输入上机时刻:\n");scanf("%s",&StudentList[i].kaishi);printf("请输入上机时间:\n");scanf("%d",&StudentList[i].time);printf("输入计算机状态:\n");scanf("%s",&StudentList[i].zhuangtai);printf("\n");}FILE *fp;fp=fopen("c:\\上机信息.doc","w");for (i=1;i<=100;i++){ if (fwrite(&StudentList[i],sizeof(structstudent_info),1,fp)!=1)printf("file write error\n");}fclose(fp);printf("\n\t\t\t\t数据已成功写入\n\t\t\t请按任意键返回主菜单!\n\n\n\n");getchar();break;case 2: fp=fopen("c:\\上机信息.txt","r");printf("\n\n\n\t序号\t姓名\t学号\t上机时刻\t上机时间\t\t\n\n");break;default:printf("请输入1或2 选择相应功能\n");luru();}printf("\n\n\n\n");}//模块八退出系统void exiit(){ char k;printf("您真的要退出本程序吗?\n");printf("输入 n或N将重新进入本程序,输入其他将退出该程序 !\n");printf("请输入: \n");scanf("%s",&k);switch(k){case 'n':main() ;break;default: printf("\n\n\n\n\n=================================感谢您的使用===================================\n 设计者:西安理工大学自动化学院\n\n\n\n\n ");}}。
目录一.设计内容二.设计要求(1)题目要求(2)输入/输出要求三.整体设计思路四.流程图(1)层次模块图(2)空机号查询N—S图五.主函数及功能菜单说明六.各模块简要说明七.心得体会附录一.源程序代码二.各模块运行结果截图一:设计内容题目:机房管理系统设计机房管理系统,要求由菜单进行管理。
(1)上机前先检查是否有空机位,有则将其显示出,无则提示无空位。
(2)还有空位置时,运行进入,并记录下位置号以及序号,与上机时间。
(3)可对上机者上机信息进行查询,修改与删除。
(4)设计相关模块,显示上机者的上机费用。
(5)显示所有上机者的上机信息。
二:设计要求题目要求:(1)为各项操作功能设计一个菜单。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
(2)要求以上功能分别用函数实现。
输入/输出要求:(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。
进入每个操作后,根据程序的提示输入相应的信息。
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
三:整体设计思路在设计该程序时,要将系统的不同功能分成各个模块。
每个模块由一个函数定义,整个程序由函数调用来实现。
每个模块是一个子函数,由一个主函数调用各个子函数。
在定义子函数时,根据不同的功能选择不同的语句,如需要使用循环时可以用“do……while”来实现;需要使用选择时可以用“switch”或“if”语句来实现等。
设计以菜单方式工作的机房管理系统,主要包括六个模块,分别是上机者信息输入模块,上机者信息查询模块,上机者信息修改模块,上机者信息删除模块,上机者上机费用计算模块,所有上机者信息显示模块。
每个模块由组员相应完成。
另外考虑到机房的特殊要求,新增一个上课模式,此模式功能是将所有机子开启,统一赋上上机者相关信息,避免管理员一个一个的给机子输入信息。
本系统程序关键在于一个空机位的检索,亦是本程序核心之所在。
c课程设计机房管理系统(源代码)在进行C课程设计的过程中,设计一个机房管理系统是非常重要的一步。
机房管理系统的设计可以帮助学校或企业更好地管理机房资源,提高机房的利用率,保证机房的安全和稳定运行。
本文将从系统的需求分析、系统的设计、源代码实现等多个方面,详细介绍机房管理系统的设计过程。
一、系统需求分析机房管理系统的需求主要包括以下几个方面:1.1 机房资源管理:包括机房的基本信息管理(如机房编号、机房名称、机房位置等),机房设备的管理(如服务器、交换机等设备的信息管理)。
1.2 设备借还管理:包括设备借出、归还的记录管理,借出设备的有效期管理等。
1.3 机房安全管理:包括机房门禁的管理,设备的报警和监控等。
1.4 机房使用统计:包括机房的使用情况统计、设备的使用情况统计等。
1.5 系统权限管理:包括管理员权限管理、用户权限管理等。
二、系统设计2.1 数据库设计:根据系统需求,设计合适的数据库表结构来存储机房和设备的信息,设备借还记录等。
2.2 界面设计:设计用户友好的界面,方便用户进行相关操作,提高系统的易用性。
2.3 功能模块设计:根据系统需求,将系统功能进行模块化设计,并分别实现各个功能模块。
2.4 系统架构设计:设计合适的系统架构,包括前端界面与后端逻辑的交互方式,数据传输方式等。
三、源代码实现基于上述系统设计,我们使用C语言来实现机房管理系统的源代码。
以下是一个简单的示例:```c#include <stdio.h>// 定义机房结构体struct Classroom {int number;char name[100];char location[100];};// 定义设备结构体struct Device {int id;char name[100];char type[100];};// 定义设备借还记录结构体struct BorrowRecord {int deviceId;char borrower[100];char returnDate[100];};// 机房资源管理函数void manageClassroom() {// 实现机房资源管理功能的代码逻辑}// 设备借还管理函数void manageDeviceBorrow() {// 实现设备借还管理功能的代码逻辑}// 机房安全管理函数void manageClassroomSecurity() {// 实现机房安全管理功能的代码逻辑}// 机房使用统计函数void manageClassroomUsage() {// 实现机房使用统计功能的代码逻辑}// 系统权限管理函数void manageSystemPermission() {// 实现系统权限管理功能的代码逻辑}int main() {int choice;while(1) {printf("---- 机房管理系统 ----\n"); printf("1. 机房资源管理\n");printf("2. 设备借还管理\n");printf("3. 机房安全管理\n");printf("4. 机房使用统计\n");printf("5. 系统权限管理\n");printf("0. 退出系统\n");printf("请输入您的选择:");scanf("%d", &choice);switch(choice) {case 1:manageClassroom();break;case 2:manageDeviceBorrow();break;case 3:manageClassroomSecurity(); break;case 4:manageClassroomUsage(); break;case 5:manageSystemPermission();break;case 0:printf("感谢使用,再见!\n");return 0;default:printf("输入错误,请重新输入!\n");}}return 0;}```以上是一个简单的机房管理系统的C语言源代码示例,包含了机房资源管理、设备借还管理、机房安全管理、机房使用统计、系统权限管理等功能。
c语言课程设计机房收费管理系统一、教学目标本课程的教学目标是使学生掌握机房收费管理系统的开发过程,培养学生运用C语言进行实际项目开发的能力。
具体目标如下:1.知识目标:使学生掌握C语言的基本语法、数据结构、算法和编程思想,理解面向对象编程的基本概念。
2.技能目标:培养学生具备使用C语言进行程序设计的能力,能够独立完成简单的项目开发。
3.情感态度价值观目标:培养学生具有良好的团队合作精神,提高学生的问题解决能力和创新意识。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和面向对象编程。
具体安排如下:1.C语言的基本语法:介绍C语言的基本数据类型、运算符、控制结构等。
2.数据结构:讲解常用的数据结构如数组、链表、栈和队列等。
3.算法:介绍常见的排序算法和查找算法,培养学生分析问题和解决问题的能力。
4.面向对象编程:讲解类和对象的概念,培养学生运用面向对象思想进行程序设计的能力。
5.机房收费管理系统:以实际项目为背景,引导学生运用所学知识进行项目开发,提高学生的实际编程能力。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、算法和面向对象编程等知识,使学生掌握课程的基本概念。
2.案例分析法:通过分析实际项目案例,使学生了解机房收费管理系统的开发过程,提高学生的实际编程能力。
3.实验法:安排上机实验,使学生在实践中掌握C语言的编程技巧,培养学生的实际动手能力。
4.小组讨论法:学生进行小组讨论,培养学生的团队合作精神和问题解决能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:提供相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT课件,提高课堂教学质量。
4.实验设备:保证学生有足够的上机实践机会,提高学生的实际编程能力。
课程设计报告题目:微机机房收费管理系统学号: ***********名:**专业:计算机系统维护班级: 12 计维指导教师:***2 0 1 4年 7 月17日目录课程设计报告封面 (1)目录 (2)一.实验题目 (3)二.实验目的 (3)三.实验设计说明与要求.............................................3-4四.程序实现流程图为 (4)五.课程设计与心得体会………………………………………4-5六.程序实现过程………………………………………………5-10七.实验结果……………………………………………………10-12机房收费系统课程设计报告一.实验题目:《机房收费管理系统》设计任务(1)输入功能:输入15名学生的学号、班级、姓名、上机起始时间,下机时间。
(2)计算功能:计算每个学生的上机费用。
(上机费用=上机时间* 1.0/h ,注:不足一小时按一小时计算)(3)查询功能:按条件查询显示学生上机信息。
如:(查询班级、学号、姓名、上机时间)等。
二.实验目的:通过对基本数据类型、语句、数组、函数、结构、指针以及文件等的操作,使学生全面掌握结构化程序设计的基本方法。
让我们进一步了解和熟悉C语言的理论基础,能熟练地运用C语言进行编程,相关运用程序的完善与维护,及相关的设计。
从而在今后的发展中有一定的学习基础便于实用。
三.实验设计说明与要求:从课程设计的目的出发,通过课程设计的各个环节,达到以下教学要求:1. 编写一个菜单驱动的学生机房上机收费管理系统程序(要求使用VC++6.0),实现相关功能。
备注:记录以下信息:学号,姓名,班级,上机时间,上机费用。
2. 进一步掌握C语言程序设计的基本思想和方法;3. 掌握结构化程序设计的基本原理及应用;4. 要求通过数字键或者字母键的选择来对信息进行相应的操作。
需求分析:根据机房收费管理设计的要求,需要设计三个功能:分别是输入学生上机信息功能,计算上机所花费的时间和费用功能和用学号,姓名,班级能查询到学生的信息功能等1. 在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。
#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);}。
#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);}。