停车场问题求找错
这是题目附件经典的停车场问题
任务书10.rar
(7.04 KB)
以下是我的代码,新学不久,见谅。
#include <stdio.h>
#include <string.h>
typedef struct
{
char a[15];
int cenghao;
int cheweihao;
int shijian;
}point1;
typedef struct
{
char b[15];
}point2;
void jiashi (point1 *q); /*定义一个函数jiashi让之前停的车都加5分钟*/
int main()
{
/****************第一步骤*************************/
FILE *fq;
int i,j,item=0;
double s=0;/*车费s*/
char x[15];/*车牌号x*/
point1 c[13]={{"0",0,0,0},{"渝A11",1,1,20},{"渝A12",1,2,15},{"渝A13",1,3,10},{"渝A14",1,4,5}};
point2 d[3][7];
fq = fopen("car.dat","a");
for(i=1;i<5;i++)
{
fprintf(fq,"%s\t%d\t%d\t%d\n",c[i].a,c[i].cenghao,c[i].cheweihao,c[i].shijian);
strcpy(d[1][i].b,c[i].a);
}
/******************第二步骤**********************/
printf("请输入此刻停入停车场的车牌号\n");
scanf("%s",&x);
for(i=1;i<7;i++)
{
if(d[1][i].b == "\0")
{
strcpy(d[1][i].b,x);
c[i].shijian = 5;
strcpy(c[i].a,d[1][i].b);
c[i].cenghao = 1;
c[i].cheweihao = i;
fprintf(fq,"%s\t%d\t%d\t%d\n",c[i].a,c[i].cenghao,c[i].cheweihao,c[i].shijian);
item = 1;
for(j=1;j<i;j++)
jiashi(&(c[j]));
break;
}
}
if(item ==0)
{
for(i=1;i<7;i++)
{
if(d[2][i].b =="\0")
{
strcpy(d[2][i].b,x);
c[i+6].shijian = 5;
strcpy(c[i+6].a,d[1][i].b);
c[i+6].cenghao = 2;
c[i+6].cheweihao = i;
fprintf(fq,"%s\t%d\t%d\t%d\n",c[i+6].a,c[i+6].cenghao,c[i+6].cheweihao,c[i+6].shijian);
item = 1;
for(j=1;j<i+6;j++)
jiashi(&(c[j]));
break;
}
}
}
if(item ==0)
printf("当前停车场已满\n");
fclose(fq);
fq = fopen("car.dat","w");
/******************第三步骤*******************/
printf("请输入此刻离开停车场的车牌号\n");
scanf("%s",&x);
for(i=1;i<13;i++)
{
if(c[i].a==x)
{
s += c[i].shijian/5*2;
j = 1;
while ( j != i )
{
fprintf(fq,"%s\t%d\t%d\t%d\n",c[j].a,c[j].cenghao,c[j].cheweihao,c[j].shijian);
}
strcpy(d[i/6+1][i%6].b,"\0");/*对应的二维数组清零*/
break;
}
}
/**/
printf("您需要车费总和输出吗\n");
printf("如果需要输出请输入yes\n");
printf("如果不需要输出请输入no\n");
scanf("%s",&x);
if(x=="yes\0")
printf(" sum = %lf\n",s);
for(i=1;i<7;i++)
{
if(d[1][i].b != "\0")
{
printf("%s\t%d\t%d\t%d\n",c[i].a,c[i].cenghao,c[i].cheweihao,c[i].shijian);
}
}
for(i=1;i<7;i++)
{
if(d[2][i].b !="\0")
{
printf("%s\t%d\t%d\t%d\n",c[i+6].a,c[i+6].cenghao,c[i+6].cheweihao,c[i+6].shijian);
}
}
fclose(fq);
return 0;
}
void jiashi(point1 *q)
{
q->shijian += 5;
}
求找错。没有语法性错误,但是结果不对