You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
a1/机房机位预定系统源代码.cpp

247 lines
5.4 KiB

6 years ago
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#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}};/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ij<EFBFBD><C4B3>ij<EFBFBD>˲<EFBFBD>ѯʱ<D1AF><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>λ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
void Menu();
void Situation();
void Book();
void Cancel();
void SearchWaiting();
void detail(int time);
void prione(int i);
struct waitlist /*<2A>ȴ<EFBFBD><C8B4>б<EFBFBD>*/
{
char number[3];
char telephonenumber[11];
} wait[N];
void printone(int i);
int main()
{
Menu(); /*<2A><>ǰ״̬<D7B4><CCAC><EFBFBD><EFBFBD>*/
}
void Menu() /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
{
int n,w;
do
{
puts("\t\t****************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λԤԼϵͳ************************\n");
puts("\t\t*************************<2A>˵<EFBFBD>***************************\n");
puts("\t\t\t 1.<2E><>ѯijʱ<C4B3><CAB1><EFBFBD>λ<EFBFBD>λ״̬"); /*<2A><>ѯijʱ<C4B3><CAB1><EFBFBD>λ<EFBFBD>λ״̬*/
puts("\t\t\t 2.Ԥ<><D4A4><EFBFBD>ջ<EFBFBD>λ"); /*Ԥ<><D4A4><EFBFBD>ջ<EFBFBD>λ*/
puts("\t\t\t 3.ȡ<><C8A1>Ԥ<EFBFBD><D4A4>"); /*ȡ<><C8A1>Ԥ<EFBFBD><D4A4>*/
puts("\t\t\t 4.<2E><>ѯ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>Ϣ"); /*<2A><>ѯ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>Ϣ*/
puts("\t\t\t 5.<2E>˳<EFBFBD>"); /*<2A>˳<EFBFBD>*/
puts("\t\t********************************************************\n");
printf("ѡ<EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD>(1-5):");
scanf("%d",&n);
if(n<1||n>5)
{w=1;getchar();}
else
w=0;
}while(w==1);
switch(n)
{
case 1:Situation();break;
case 2:Book();break;
case 3:Cancel();break;
case 4:SearchWaiting();break;
case 5:exit(0);break;
}
}
/*ʱ<><CAB1><EFBFBD><EFBFBD>ѯ*/
void Situation()
{
int time;
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (8-20)<29><>Χ<EFBFBD>ڵ<EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
if(time<8||time>20)
{printf("\tʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n");
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (8-20)<29><>Χ<EFBFBD>ڵ<EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
}
detail(time); /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
getchar();
Menu();
}
/*Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
void Book()
{int time,i=0,x,y;
FILE *fp;
char c;
printf("<EFBFBD><EFBFBD>(8-20)ʱ<>Χ<E4B7B6><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪԤ<D2AA><D4A4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\tʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n");
printf("\t<EFBFBD><EFBFBD>(8-20)ʱ<>Χ<E4B7B6><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪԤ<D2AA><D4A4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
}
detail(time); /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
if(sum[T]>0)
{ if((fp=fopen("waitlist.txt","a"))==NULL)
{
printf("\n<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>!\n");
exit(0);
}
printf("\n\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪԤ<EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ绰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!:\n");
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);/*<2A><><EFBFBD>ı<EFBFBD><C4B1>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>嵥Ԫ*/
printf("\t<EFBFBD>ٴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>!\n");
scanf("%d",&x);
/*sum[T]--; / *Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>οջ<CEBF>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>1*/
/*computer[T][x]=1; / *Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>״̬<D7B4><CCAC>Ϊ1*/
printf("\tԤ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!\n");
getchar();
Menu();
}
else
{
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δԤ<EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD>!\n");
for(i=T+1;i<6;i++)
{ time=9+2*i;
detail(time); /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
if(sum[T]>0)
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d,%d\n",2*i+8,2*i+10);break;
}
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?:y/n?");
scanf("%s",&c);
getchar();
if(c=='Y'||c=='y')
{
if((fp=fopen("waitlist.txt","r"))==NULL)
{
printf("\n<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>!\n");
exit(0);
}
else
{ printf("waitlist<EFBFBD><EFBFBD> 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<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>ʽ!:\n");
if((fp=fopen("waitlist.txt","a"))==NULL)
{
printf("\n<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>!\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); /*<2A><><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ķ<EFBFBD>ʽ<EFBFBD>г<EFBFBD><D0B3><EFBFBD>ʱ<EFBFBD>ĵȴ<C4B5><C8B4>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵȴ<C4B5><C8B4><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD>ϵ<EFBFBD><CFB5>ʽ*/
printf("<EFBFBD>ٴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n");
scanf("%d",&y);
sum[T]--;
computer[T][y]=1;
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>ǵĵ绰!\n");
Menu();
}
else Menu();
}
}
/*ȡ<><C8A1>Ԥ<EFBFBD><D4A4>*/
void Cancel()
{
int time,number;
printf("<EFBFBD><EFBFBD>(8-20)ʱ<>Χ<E4B7B6><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n");
printf("\t<EFBFBD><EFBFBD>(8-20)ʱ<>Χ<E4B7B6><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
}
else
{printf("\t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD> :");
scanf("%d",&number);}
detail(time);
/* sum[T]++; / *Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>οջ<CEBF>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>1*/
/*computer[T][number]=0; / *Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>״̬<D7B4><CCAC>Ϊ0*/
printf("\tȡ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!\n");
getchar();
Menu();
}
/*<2A><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>Ϣ*/
void SearchWaiting()
{
int time,i;
FILE *fp;
printf("\t<EFBFBD><EFBFBD>(8-20)֮<><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\tʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n");
printf("\t<EFBFBD><EFBFBD>(8-20)֮<><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:");
scanf("%d",&time);
}
else
;
if((fp=fopen("waitlist.txt","r"))==NULL)
{
printf("\nCannot open file!\n");
exit(0);
}
else
{ printf("waitlist<EFBFBD><EFBFBD> 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);}
Menu();
}
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
void detail(int time) /*<2A>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>ÿ<EFBFBD><C3BF>ʱ<EFBFBD><CAB1><EFBFBD>οջ<CEBF>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>Ϳջ<CDBF>λ<EFBFBD><CEBB>*/
{
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Ŀǰ<EFBFBD><EFBFBD><EFBFBD>õĵ<EFBFBD><EFBFBD><EFBFBD>:%d\n",sum[T]);
for(k=0;k<j;k++)
printf("\t<EFBFBD><EFBFBD><EFBFBD>õĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d\n",v[k]);
}
void prione(int i) /*<2A>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>Ļ*/
{
printf("\t\t%s %s \n",wait[i].number,wait[i].telephonenumber);}