2022年2022年计算机机房机房管理系统源程序 .pdf
#include #include #include #include /*颜色控制 */ #define MaxSize 100/*定义 1 符号常量 */ FILE *fp; struct student_info int seat; /机号 char name10; /姓名 char zhuangtai30; long stu_num; /学号int time; char kaishi10; StudentListMaxSize; 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+) StudentListj.time=0; /给所有机子上机时间赋值为0,代表空机 StudentListj.seat=j; /给所有机子编号 do printf(tttnn);/显示一个简易菜单 printf(ttt 欢迎使用机房管理系统 nn); printf(tttnn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - printf(n); printf( n); printf(ttt1- - 登陆计算机(denglu )n); printf(ttt2-查询单个上机信息 (Search)n); printf(ttt3-显示所有使用者信息( Show )n); printf(ttt4-修改电脑使用者信息 (xiugai )n); printf(ttt5-下机(xiaji)n); printf( ttt6-查询某计算机位置(satutation) n); printf(ttt7-计算机信息录入 (luru) n); printf(ttt8-退出(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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - /* 模块一 登陆计算机 */ void denglu() int i,k=0; /*全局变量 */ for(i=1;i100) printf(请输入小于等于 100 的数);return; if(StudentListi.time!=0) printf(已经有人正在操作此机: );return; else printf(请输入上机者姓名: ); scanf(%s,StudentListi.name); printf(请输入上机者学号 :); scanf(%ld,&StudentListi.stu_num); printf(请输入上机时刻: ); scanf(%s,&StudentListi.kaishi); printf(请输入上机时间: ); scanf(%d,&StudentListi.time); printf(nn); FILE *fp; 上机信息 .doc,w); for (i=0;i100;i+) if (fwrite(&StudentListi,sizeof(struct student_info),1,fp)!=1) printf(file write errorn); fclose(fp); / 模块二查询单个上机信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - void Search() int i; printf(请输入要查询的机号: ); scanf(%d,&i); if(StudentListi.time!=0) /是否上机 printf(姓名: %stt,StudentListi.name); printf(学号: %ldtt,StudentListi.stu_num); printf(上机时刻: %stt,StudentListi.kaishi); printf(上机时间: %dtt,StudentListi.time); printf(状态:计算机正在使用 ); else printf(计算机未使用 ); printf(nn); / 模块三显示所有使用者信息void Show() int i; printf(n); printf(机号t 姓名t学号t 上机时刻 t上机时间 t 计算机状态 n); for(i=1;i=100;i+) if(StudentListi.time!=0) /判断标准,检索到则输出 printf(%dt,StudentListi.seat); printf(%st,StudentListi.name); printf(%ldt,StudentListi.stu_num); printf(%st,StudentListi.kaishi); printf(%dtt,StudentListi.time); printf( 计算机正在使用 n); else printf(%dt,i); printf(无t); printf(无t); printf(无tt); printf(无tt); printf( 计算机未使用 n); printf(nn); / 模块四修改上机信息void xiugai() int i; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - printf(请输入要修改数据的机号:); scanf(%d,&i); if(StudentListi.time!=0) printf(请输入姓名: ); scanf(%s,StudentListi.name); printf(请输入学号: ); scanf(%d,&StudentListi.stu_num); printf(请输入上机时刻: ); scanf(%s,&StudentListi.kaishi); (请输入上机时间: ); scanf(%d,&StudentListi.time); else printf(计算机未使用 ); printf(nn); / 模块五 下机void xiaji() int j,m; char a; printf(您是否要下机 ?n); L1:; printf(请输入输入 y 下机,输入其他返回 n); scanf(%s,&a); if(a=y|a=Y) printf(nt请输入您所使用的计算机的序号(1-100):); scanf(%d,&m); for(j=1;j=100;j+) if(j=m) StudentListj.time=0; printf(nn); else goto L1; printf(nn); / 模块六查询计算机位置void satutation() int i,j,k,m=1; char a205; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - for (i=0;i20;i+) for (j=0;j100) printf(请输入小于等于 100 的数); else for (i=0;i20;i+) for (j=0;j5;j+) if(aij=k) printf (该机号对应的计算机在第%d行,第 %d列,i+1,j+1); printf(nn); / 模块七 计算机信息录入与显示void luru() int i; int a; printf(n您是要重新录入计算机信息,还是要查询计算机信息?tn); printf(1: 重新录入计算机信息, n2: 查询计算机信息 n); scanf(%d,&a); switch(a) case 1:for(i=1;i=100;i+) StudentListi.seat=i; printf(计算机序号: %d,StudentListi.seat); printf(n请输入上机者姓名: n); scanf(%s,StudentListi.name); printf(请输入上机者学号 :n); scanf(%ld,&StudentListi.stu_num); printf(请输入上机时刻: n); scanf(%s,&StudentListi.kaishi); printf(请输入上机时间: n); scanf(%d,&StudentListi.time); printf(输入计算机状态: n); scanf(%s,&StudentListi.zhuangtai); printf(n); FILE *fp; 上机信息 .doc,w); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - for (i=1;i=100;i+) if (fwrite(&StudentListi,sizeof(struct student_info),1,fp)!=1) printf(file write errorn); fclose(fp); printf(ntttt数据已成功写入 nttt请按任意键返回主菜单 !nnnn); getchar();break; 上机信息 .txt,r); printf(nnnt序号t姓名t学号t上机时刻 t 上机时间ttnn); break; default:printf(请输入 1 或 2 选择相应功能 n); luru(); printf(nnnn); / 模块八 退出系统void exiit() char k; printf(您真的要退出本程序吗 ?n); printf(输入 n 或 N将重新进入本程序,输入其他将退出该程序 !n); printf(请输入: n); scanf(%s,&k); switch(k) case n:main() ;break; default: printf(nnnnn=感谢 您的使用 =n 设计者:西安理工大学自动化学院nnnnn ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -