#define NUL 0
#include
#include
#include
#include
struct time
{int year;
int mon;
int day;
int hour;
int min;
};
struct parking
{ char code_num[20]; /*车牌号*/
int floor; /*层号*/
int place; /*车位号*/
struct time parkingtime1; /*起始时间*/
struct time parkingtime2; /*终止时间*/
time_t start;
time_t end;
double fee; /*费用*/
}parking_message[12]
={{"ABCDE",1,1,0},{"xucao",1,2,0},
{"fafaf",1,3,0},{"zhous",1,4,0},
{"",1,5,0},{"",1,6,0},
{"",2,1,0},{"",2,2,0},
{"",2,3,0},{"",2,4,0},
{"",2,5,0},{"",2,6,0}};
struct tm *local; /*时间结构体*/
void back();void save();
void save() /*保存函数*/
{FILE *fp;
fp=fopen("car_dat","w");
int i;char c;
for(i=0;i<12;i++)
fwrite(&parking_message[i],sizeof(struct parking),1,fp);
fclose(fp);printf("\n");
printf("按任意键返回主菜单.....\n");
scanf("%c",&c);
if((c=getchar())!='\0')
back(); /*每一次保存之后都返回到主菜单*/
}
void park() /*停车函数*/
{ int i;int j;char code_num[20];
for(i=0;;i++)
{if((strcmp(parking_message[i].code_num,"")==0)&&(i<=11)) /*查找空闲停车位*/
{printf("请输入车牌号(五位):");
scanf("%s",code_num);
while(strlen(code_num)!=5) /*确保车牌号正确*/
{printf("您的输入有误,请重新输入车牌号(五位):");
scanf("%s",code_num);}
for(j=0;j<12;j++) /*确保输入的车牌号不和已经停入的车重复*/
{if(strcmp(parking_message[j].code_num,code_num)==0){printf("该车已停入,请重新输入车牌号(五位):");scanf("%s",code_num);}
}
printf("恭喜!您已经成功完成停车操作");
printf("您停车的位置:%d层%d车位,停车愉快!慢停走好!\n",(i+1)<7?1:2,(i+1)<7?(i+1):(i-5));
strcpy(parking_message[i].code_num, code_num); /*将新停的车的信息赋给结构体*/
parking_message[i].start=time(NUL);
local=localtime(&parking_message[i].start); /*起始时间定位*/
parking_message[i].parkingtime1.hour=local->tm_hour;
parking_message[i].parkingtime1.min=local->tm_min;
break;
}
if(i>=12) /*没有空闲车位*/
{printf("抱歉!所有车位已满!欢迎下次光临!\n");break;printf("\n");}
}
save(); /*保存新信息*/
}
void charge() /*取车收费函数*/
{void chargeplace();void fee(int j);char code_num[6];void pingtiao(); /*函数声明*/
int i,a;char d;
printf("请输入车牌号(五位):");
scanf("%s",code_num);
while(strlen(code_num)!=5)
{printf("您的输入有误,请重新输
入车牌号(五位):");
scanf("%s",code_num);}
for(i=0;;i++)
{if((strcmp(parking_message[i].code_num,code_num)==0)&&(i<=11))/*