diff --git a/机房机位预定系统2.cpp b/机房机位预定系统2.cpp new file mode 100644 index 0000000..e13f173 --- /dev/null +++ b/机房机位预定系统2.cpp @@ -0,0 +1,259 @@ +#include +#include +#include +#define N 20 +#define T (time-8)/2 +int sum[6]={0}; +int computer[6][20]={{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1}, +{1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1}, +{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, +{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1}, +{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0}, +{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1}}; +void Menu(); +void Situation(); +void Book(); +void Cancel (); +void SearchWaiting (); +void detail(int time); +void prione(int i); +struct waitlist +{ + char number[3]; + char telephonenumber[11]; +}wait[N]; +void printone(int i); +int main() +{ + Menu(); +} +void Menu() +{ + char a; + system ("cls"); + system ("color f4"); + printf ("\n\n\n\n\n\n\n"); + printf ("\t\t\t λԤϵͳ\n"); + printf ("================================================================================\n"); + printf ("\t\t\t\t**************\n"); + printf ("\t\t\t\t*1.ѯijʱλλ״̬*\n"); + printf ("\t\t\t\t*2.Ԥջλ*\n"); + printf ("\t\t\t\t*3.ȡԤ*\n"); + printf ("\t\t\t\t*4.ѯȴ*\n"); + printf ("\t\t\t\t*5.˳*\n"); + printf ("\t\t\t\t**************\n"); + printf ("================================================================================\n"); + scanf ("%d",&a); + system("cls"); + switch (a) + { + case 5: break; + case 1: + { + Situation(); + break; + } + case 2: + { + Book (); + break; + } + case 3: + { + Cancel (); + break; + } + case 4: + { + SearchWaiting (); + break; + } + } + getchar(); +} +void Situation() +{ + int time,k; + printf("8-12Χڵʱ䣺"); + scanf("%d",&time); + if(time<8||time>20) + { + printf("\tʱ\n"); + printf("ڣ8-20)Χڵʱ:"); + scanf("%d",&time); + } + detail(time); + getchar(); + printf ("˵"); + scanf ("%s",&k); + Menu(); +} +void Book() +{ + int time,i=0,x,y,k; + FILE *fp; + char c; + printf("ڣ8-20ʱ䷶ΧҪʱ䣺"); + scanf("%d,&time"); + if(time<8||time>20) + { + printf("\tʱ\n"); + printf("ڣ8-20)Χڵʱ:"); + scanf("%d",&time); + } + detail(time); + if(sum[T]>0) + { + if((fp=fopen("waitlist.txt","a"))==NULL) + { + printf("\n޷ļ!\n"); + exit(0); + } + printf("\n\tҪԤĻţֻ룡\n"); + scanf("%s %s",wait[i].number,wait[i].telephonenumber); + for(i=0;i0) + printf("\tĿʱ %d,%d\n",2*i+8,2*i+10); + break; + } + printf("\t ҪԤ:y/n"); + scanf("%s",&c); + getchar(); + if(c=='Y'||c=='y') + { + if((fp=fopen("waitlist.txt","r"))==NULL) + { + printf("\n ޷ļ\n"); + exit(1); + } + else + { + printf("waitlist: number telephonenumber\n"); + for(i=0;!feof(fp);i++) + { + fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber); + } + fclose(fp); + } + for(i=0;i<10;i++) + { + prione(i); + } + printf("\n\t ҪԤĻţĵ绰룡:\n"); + if((fp=fopen("waitlist.txt","a"))==NULL) + { + printf("\n ޷ļ\n"); + exit(0); + } + scanf("%s %s",wait[i].number,wait[i].telephonenumber); + for(i=0;i<1;i++) + fwrite(&wait[i],sizeof(struct waitlist),1,fp); + fclose(fp); + printf("ٴԵţ\n"); + scanf("%d",&y); + sum[T]--; + computer[T][y]=1; + printf("\t ˣȴǵĵ绰\n"); + printf ("˵"); + scanf ("%s",&k); + Menu(); + } + else Menu(); +} +} +void Cancel() +{ + int time,number,k; + printf("ڣ8-20ʱ䷶ΧѾԤʱ䣺"); + scanf("%d",&time); + if(time<8||time>20) + { + printf("\t ʱ\n"); + printf("ڣ8-20ʱ䷶ΧѾԤʱ䣺"); + scanf("%d",&time); + } + else + { + printf("\t ԤĻ "); + scanf("%d",&number); + } + detail(time); + printf("\tȡɹ\n"); + getchar(); + printf ("˵"); + scanf ("%s",&k); + Menu(); +} +void SearchWaiting() +{ + int time,i,k; + FILE *fp; + printf("\tڣ8-20֮ҪѰʱ:"); + scanf("%d",&time); + if(time<8||time>20) + { + printf("\tʱ!\n"); + printf("\tڣ8-20֮ҪѰʱ:"); + scanf("%d",&time); + } + else + if((fp=fopen("waitlist.txt","r"))==NULL) + { + printf("\nCannot open file!\n"); + exit(0); + } + else + { + printf("waitlist: number telephonenumber\n"); + for(i=0;feof(fp);i++) + { + fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber); + } + fclose(fp); + } + for(i=0;i<10;i++) + { + prione(i); + } + printf ("˵"); + scanf ("%s",&k); + Menu(); +} +void detail(int time) +{ + int i,j=0,k,s=0; + int v[30]; + for(i=0;i<20;i++) + { + if(computer[T][i]==0) + { + s++; + v[j++]=i; + } + } + sum[T]=s; + printf("\tõĵ:%d\n",sum[T]); + for(k=0;k