first commit

master
2245069045@qq.com 7 years ago
parent b2b4fae646
commit 909082ce96

@ -0,0 +1,259 @@
#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}};
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.查询某时间段机位状态*\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;i<i;i++)
fwrite(&wait[i],sizeof(struct waitlist),1,fp);
fclose(fp);
printf("\t再次输入你想要的预定的时间!\n");
scanf("%d",&x);
printf("\t预定成功!\n");
getchar();
printf ("按任意键返回主菜单");
scanf ("%s",&k);
Menu();
}
else
{
printf("这是在这个时间段内未预定的电脑!\n");
for(i=T+1;i<6;i++)
{
time=9+2*i;
detail(time);
if(sum[T]>0)
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("\t8-20之间输入您想要搜寻的时间:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\t时间输入错误!\n");
printf("\t8-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<j;k++)
printf("\t空置的电脑是:%d\n",v[k]);
}
void prione(int i)
{
printf("\t\t%s%s \n",wait[i].number,wait[i].telephonenumber);
}
Loading…
Cancel
Save