C语言编程的时候提示少了个分号,但是没少啊
#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX3#defineprice0.5typede...
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 3
#define price 0.5
typedef struct time
{
int hour;
int min;
}Time;
typedef struct CarInfo
{
char action;
int carNo;
int schedule;
int flag;
}Car;
typedef struct NODE
{
Car *stack[MAX+1];
int top;
}Moni Cheku;
typedef struct car
{
Car *data;
struct car *next;
}QueueNode;
typedef struct Node
{
QueueNode *head;
QueueNode *rear;
}Moni Biandao;
void InitStack(Moni Cheku *);
int InitQueue(Moni Biandao *);
int Arrival(Moni Cheku *,Moni Biandao *);
void Leave(Moni Cheku *,Moni Cheku *,Moni Biandao *);
void List(Moni Cheku,Moni Biandao);
void main()
{
Moni Cheku park,temp;
Car s;
Moni Biandao wait;
InitStack(&park);
InitStack(&temp);
InitQueue(&wait);
printf("\n");
printf("提示!(1)该车库的最大容量为:%d;\n",MAX);
printf(" (2)该车库的收费标准为:%4.2f元/(辆*分钟)\n",price);
printf("请输入车辆的状态A到达D离开E结束:");
scanf("%s",&s.action);
while(s.action!='E')
{
if(s.action=='A')
{
if(park->top<MAX)
{
s.flag=0;
Arrival(&park,&wait);
printf("停在停车场!");
}
else
{
s.flag=1;
printf("停在便道上!");
}
}
if(s.action=='D')
{
if(s.flag==1)
printf("该车在便道上,不用交费直接开走!");
else
{
printf("请输入要离开的车的车牌号:");
scanf("%s",&s.carNo);
while(Arrival(Moni Cheku *park))
{
if(park->carNo=s.carNo)
{
int A1,A2,B1,B2;
printf("其到达时间为: %d:%d\n",p->reach.hour,p->reach.min);
printf("其离开时间为: %d:%d\n",p->leave.hour,p->leave.min);
A1=p->reach.hour;
A2=p->reach.min;
B1=p->leave.hour;
B2=p->leave.min;
printf("该车停留的时间为:%d\n",(B1-A1)*60+(B2-A2));
printf("应交费用为:%4.2f元",((B1-A1)*60+(B2-A2))*price);
Leave(Moni Cheku *park,Moni Cheku *temp)
break;
}
else
Arrival(Moni Cheku *temp);
}}}}
void InitStack(Moni Cheku *s)
{
int i;
s->top=0;
for(i=0;i<=MAX;i++)
s->stack[s->top]=NULL;
}
int InitQueue(Moni Biandao *Q)
{
Q->head=(QueueNode *)malloc(sizeof(QueueNode));
if(Q->head!=NULL)
{
Q->head->next=NULL;
Q->rear=Q->head;
return(1);
}
else return(-1);
{
scanf("%d",&room);
if(room>=1&&room<=Enter->top) break;
else printf("错误!请重选:");
}
while(park->top>room)
{
temp->top++;
temp->stack[temp->top]=park->stack[park->top];
park->stack[park->top]=NULL;
park->top--;
}
p=park->stack[park->top];
park->stack[park->top]=NULL;
park->top--;
while(temp->top>=1)
{
park->top++;
park->stack[park->top]=temp->stack[temp->top];
temp->stack[temp->top]=NULL;
temp->top--;
}
} 展开
#include<stdlib.h>
#include<string.h>
#define MAX 3
#define price 0.5
typedef struct time
{
int hour;
int min;
}Time;
typedef struct CarInfo
{
char action;
int carNo;
int schedule;
int flag;
}Car;
typedef struct NODE
{
Car *stack[MAX+1];
int top;
}Moni Cheku;
typedef struct car
{
Car *data;
struct car *next;
}QueueNode;
typedef struct Node
{
QueueNode *head;
QueueNode *rear;
}Moni Biandao;
void InitStack(Moni Cheku *);
int InitQueue(Moni Biandao *);
int Arrival(Moni Cheku *,Moni Biandao *);
void Leave(Moni Cheku *,Moni Cheku *,Moni Biandao *);
void List(Moni Cheku,Moni Biandao);
void main()
{
Moni Cheku park,temp;
Car s;
Moni Biandao wait;
InitStack(&park);
InitStack(&temp);
InitQueue(&wait);
printf("\n");
printf("提示!(1)该车库的最大容量为:%d;\n",MAX);
printf(" (2)该车库的收费标准为:%4.2f元/(辆*分钟)\n",price);
printf("请输入车辆的状态A到达D离开E结束:");
scanf("%s",&s.action);
while(s.action!='E')
{
if(s.action=='A')
{
if(park->top<MAX)
{
s.flag=0;
Arrival(&park,&wait);
printf("停在停车场!");
}
else
{
s.flag=1;
printf("停在便道上!");
}
}
if(s.action=='D')
{
if(s.flag==1)
printf("该车在便道上,不用交费直接开走!");
else
{
printf("请输入要离开的车的车牌号:");
scanf("%s",&s.carNo);
while(Arrival(Moni Cheku *park))
{
if(park->carNo=s.carNo)
{
int A1,A2,B1,B2;
printf("其到达时间为: %d:%d\n",p->reach.hour,p->reach.min);
printf("其离开时间为: %d:%d\n",p->leave.hour,p->leave.min);
A1=p->reach.hour;
A2=p->reach.min;
B1=p->leave.hour;
B2=p->leave.min;
printf("该车停留的时间为:%d\n",(B1-A1)*60+(B2-A2));
printf("应交费用为:%4.2f元",((B1-A1)*60+(B2-A2))*price);
Leave(Moni Cheku *park,Moni Cheku *temp)
break;
}
else
Arrival(Moni Cheku *temp);
}}}}
void InitStack(Moni Cheku *s)
{
int i;
s->top=0;
for(i=0;i<=MAX;i++)
s->stack[s->top]=NULL;
}
int InitQueue(Moni Biandao *Q)
{
Q->head=(QueueNode *)malloc(sizeof(QueueNode));
if(Q->head!=NULL)
{
Q->head->next=NULL;
Q->rear=Q->head;
return(1);
}
else return(-1);
{
scanf("%d",&room);
if(room>=1&&room<=Enter->top) break;
else printf("错误!请重选:");
}
while(park->top>room)
{
temp->top++;
temp->stack[temp->top]=park->stack[park->top];
park->stack[park->top]=NULL;
park->top--;
}
p=park->stack[park->top];
park->stack[park->top]=NULL;
park->top--;
while(temp->top>=1)
{
park->top++;
park->stack[park->top]=temp->stack[temp->top];
temp->stack[temp->top]=NULL;
temp->top--;
}
} 展开
展开全部
Moni Cheku; 你觉得C++编辑器变量声明可以用空格 隔开?
Moni_Cheku; 该变量名,最好加下划线。。
tips:
编辑器提示的 错误 不一定是在他显示的那一行,也可能是代码前面部分的 符号错误;
仔细断点调试 看看。 还有
这段代码的{},如果没有控制语句或者空间设置的话 可以不加的。。
else return(-1);
{
scanf("%d",&room);
if(room>=1&&room<=Enter->top) break;
else printf("错误!请重选:");
}
Moni_Cheku; 该变量名,最好加下划线。。
tips:
编辑器提示的 错误 不一定是在他显示的那一行,也可能是代码前面部分的 符号错误;
仔细断点调试 看看。 还有
这段代码的{},如果没有控制语句或者空间设置的话 可以不加的。。
else return(-1);
{
scanf("%d",&room);
if(room>=1&&room<=Enter->top) break;
else printf("错误!请重选:");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
提示的原话是什么?
追问
F:\ka\Cpp1.cpp(24) : error C2146: syntax error : missing ';' before identifier 'Cheku'
追答
问题应该是你在类型重定义的时候把两个单词写开了,你需要把它写到一块,比如说MoniCheku。试试。应该是typedef重定义的时候不允许新类型中间有空格的存在。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询