当前位置:文档之家› 计算机机房机房管理系统源程序(C++)

计算机机房机房管理系统源程序(C++)

#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 ");}}。

相关主题