作业帮 > 综合 > 作业

上个函数里的函数赋值第二个函数需要使用

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/07 16:41:44
上个函数里的函数赋值第二个函数需要使用
void Arrive(Cpark *S,Queue *Q) //车辆到达
{
Car x;
int a;
int t1;
int Time(void);
printf("输入车牌号:");
scanf("%s",x.carnum);
t1=Time();
if(S->top==Size-1)
{
printf("车场已满,不能进入,进便道");
a=EnterQ(Q,x);
if(a==1){
printf("OK\n");
}
else
printf("No!\n");
}
else
{
Push(S,x);
}
}
void Left(Cpark *S)
{
int Time(void);
int t2;
double money;
char x[20];
Cpark *p=NULL;
int car1=S->top;
int car2;
printf("请输入要离去的车牌号:");
scanf("%s",x);
while(car1!=-1&&car2!=-1)
{
if(strcmp(S->car[car1].carnum,x)==0)
{
t2=Time();
for(;car1!=S->top;car1++,car2++)
S->car[car1]=S->car[car2];
S->top--;
printf("成功出车场\n");
money=(t2-t1)*price;//费用信息
printf("费用:%.2lf\n",money);
car2=-1;
}
else{
car2=car1;
car1--;
}
}
if(car1==-1)
{
printf("此车没有在停车场!");
}
}
我第一个函数里的t1在第二个函数里需要使用 怎样修改?
把t1定义为全局变量,或者把t1作为函数的返回值传送出去再用形参传个第二个函数!
再问: 您能说的具体一点吗?? 谢谢
再答: 把 int t1;写在所有函数的外面,也就是不要包含在函数体里面!
再问: 嗯 谢谢 还有一点就是 我要在运行Arrive函数还有Left函数的同时要运行t1=Time(),t2=Time(), 然后按照我上面的代码 运行时会出问题 怎么修改
再答: 没太明白你说的意思;
从程序来看t1是车辆到达的时间,应该在确定车辆能进入后开始计时;
t2是车辆离开的时间,t2-t1是停车时间。相对几行代码执行的时间来说,停车的时间肯定是远远大于执行时间的。