大家帮我看看我的错误!可能会有点多··有写菜 不好意思·
2009-09-08 20:26
267 查看
#include <stdio.h>
#define TURE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define STACK_INIT_SIZE 5;
#define STACKINCREMENT 2;
typedef int car1;
typedef int car2;
typedef struct
{
car *fcar;
car *lcar;
int stacksize;
}SqStac;//停车场
typedef struct QNode
{
car date;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct
{
QueuePtr front;
Queueptr rear;
}LinkQueue;
typedef struct
{
int id;
int time;
}car1,car2;
int main()
{
int choice1;
char choice2;
float time,money;
SqStack S1;
SqStack S2;
LinkQueue Q;
car1 car1_A,car1_B,car1_C;
InitStack(&S1);
InitStack(&S2);
InitQueue(&Q);
while(choice1==1)
{
printf("欢迎来到XX停车场!/n");
printf("请按键选择:(A 进入停车场 D 离开停车场 E 退出系统)/n");
scanf("选择:%c",&choice2);
printf("/n");
switch(choice2)
case'A':
printf("请输入您的车牌ID和进入停车场时间/n");
scanf("ID:%d/n",&car1_A.id);
scanf("time:%d",&car1_A.time);
if(StackEmpty1(S1))
{
Push1(*S1,car1_A);//?
printf ("你的车牌是:%d/n进入时间是%d/n",car1_A.id,car1_A.time);
printf("是否继续? 请选择:1 继续 0 退出/n");
scanf("%d",choice1);
}
else
{
printf("停车场已满,请停入临时车道/n");
EnQueue(*Q, car1_A);
printf("是否继续? 请选择:1 继续 0退出/n");
scanf("%d",choice1);
}
case'D':
printf ("输入你要开走的车的车牌ID和时间/n");
scanf("ID:%d/n",&car1_B.id);
scanf("时间:",&car1_B.time);
while(!StackEmpty1(S1))
{
pop1(*S1,car_C);
if(car1_B.id==car1_C.id)
{
printf("欢迎下次再来!/n");
printf("你的车牌是%d",car1_B.id);
printf("你停入时间是%d/n 你离开时间是%d/n",car1_A.time,car1_B.time);
time=car1_B.time-car1_A.time;
money=time*2;
printf("你总共用时间%f/n",time);
printf("你需缴纳的停车费为%f",money);
}
else
push2(*S2,car_C);
}
while(!StackEmpty2(S2))
{
pop2(*S2,car_C);
push(*S1,car_C);
}
while(!QueueEmpty(Q)&&!StackFull1(S1))
{
DeQueue(&Q,&car_C);
if(!StackFull1(S1))
{
Push1(&S1,car_C);
}
}
printf("是否继续?1 继续 0退出");
scanf("%d/n",chioce1);
break;
case'E':
break;
}
return 0;
}
int InitStack(SqStack *S1)
{
(*S1).fcar=(car1 *) malloc(STACK_INIT_SIZE * sizeof (car));
if (!(*S1).fcar) exit (OVERFLOW);
(*S1).lcar=(*S1).fcar;
(*S1).stacksize=STACK_INIT_SIZE;
return OK;
}//构建空栈为停车场
int StackEmpty1(SqStack S1)
{
if (S1.fcar==S1.lcar)
return OK;
}
int StackFull1(SqStack S1) /*查看停车厂是否已满*/
{
if(S1.lcar-S1.fcar>=STACK_INIT_SIZE) /*若栈顶与栈底之差大于等于栈的最大存储空间,则已满*/
return OK;
else
return ERROR;
}
int Push(SqStack *S1,car e)
{
if ((*S1).lcar -(*S1).fcar >=(*S1).stacksize )
{
(*S1).fcar =(car *)realloc((*S1).fcar,((*S1).stacksize +STACKINCREMENT)*sizeof (car));
if (!(*S1).fcar )exit (OVERFLOW);
(*S1).lcar =(*S1).fcar+(*S1).stacksize ;
(*S1).stacksize +=STACKINCREMENT;
}
*(*S1).lcar ++=e;
return OK;
}//停入停车场
int Pop(SqStack *S1,car *e)
{
if((*S1).lcar ==(*S1).fcar)
return ERROE;
else
e=*--(*S1).lcar;//先把S.lcar减减,再减的S.lcar指针赋值为E
return OK;
}//出主停车场
/*``````````````````````````停车场````````````````````````````*/
/*````````````````````````````````备用停车道````````````````````````*/
int InitQueue(LinkQueue *Q)
{
(*Q).front=(*Q).rear=(QueuePtr)malloc(sizeof(QNode));
if(!(*Q).front)exit(OVERFLOW);
(*Q).front->next=NULL;
return OK;
}//构建一条临时车道
int EnQueue(LinkQueue *Q, car1 e)
{
QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode));
if(!p)exit(OVERFLOW);
p->date=e;
p->next=NULL;
Q->rear->next=p;
Q->rear=p;
}//??
int DeQueue(LinkQueue *Q,car1 *e)
{
QueuePtr p;
if (Q->front==Q->rear)
return ERROR;
p=Q->front->next;
*e=p->date;
Q->front->next=p->next;//??
if (Q->rear==P)
Q->rear=Q->front;
free(p);
return OK;
}
int QueueEmpty(LinkQueue Q)
{
if (Q.front==Q.rear)
return OK;
else
return ERROR;
}
有个 “执行 cl.exe 时出错”
是不是逻辑有错误?
--------------------Configuration: 停车场 - Win32 Debug--------------------
C:/Documents and Settings/Administrator/桌面/学习资料/第三学期课程设计/完成作业/停车场/停车场.c(37) : error C2061: syntax error : identifier 'Queueptr'
C:/Documents and Settings/Administrator/桌面/学习资料/第三学期课程设计/完成作业/停车场/停车场.c(38) : error C2059: syntax
执行 cl.exe 时出错.
停车场.exe - 1 error(s), 0 warning(s)
#define TURE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define STACK_INIT_SIZE 5;
#define STACKINCREMENT 2;
typedef int car1;
typedef int car2;
typedef struct
{
car *fcar;
car *lcar;
int stacksize;
}SqStac;//停车场
typedef struct QNode
{
car date;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct
{
QueuePtr front;
Queueptr rear;
}LinkQueue;
typedef struct
{
int id;
int time;
}car1,car2;
int main()
{
int choice1;
char choice2;
float time,money;
SqStack S1;
SqStack S2;
LinkQueue Q;
car1 car1_A,car1_B,car1_C;
InitStack(&S1);
InitStack(&S2);
InitQueue(&Q);
while(choice1==1)
{
printf("欢迎来到XX停车场!/n");
printf("请按键选择:(A 进入停车场 D 离开停车场 E 退出系统)/n");
scanf("选择:%c",&choice2);
printf("/n");
switch(choice2)
case'A':
printf("请输入您的车牌ID和进入停车场时间/n");
scanf("ID:%d/n",&car1_A.id);
scanf("time:%d",&car1_A.time);
if(StackEmpty1(S1))
{
Push1(*S1,car1_A);//?
printf ("你的车牌是:%d/n进入时间是%d/n",car1_A.id,car1_A.time);
printf("是否继续? 请选择:1 继续 0 退出/n");
scanf("%d",choice1);
}
else
{
printf("停车场已满,请停入临时车道/n");
EnQueue(*Q, car1_A);
printf("是否继续? 请选择:1 继续 0退出/n");
scanf("%d",choice1);
}
case'D':
printf ("输入你要开走的车的车牌ID和时间/n");
scanf("ID:%d/n",&car1_B.id);
scanf("时间:",&car1_B.time);
while(!StackEmpty1(S1))
{
pop1(*S1,car_C);
if(car1_B.id==car1_C.id)
{
printf("欢迎下次再来!/n");
printf("你的车牌是%d",car1_B.id);
printf("你停入时间是%d/n 你离开时间是%d/n",car1_A.time,car1_B.time);
time=car1_B.time-car1_A.time;
money=time*2;
printf("你总共用时间%f/n",time);
printf("你需缴纳的停车费为%f",money);
}
else
push2(*S2,car_C);
}
while(!StackEmpty2(S2))
{
pop2(*S2,car_C);
push(*S1,car_C);
}
while(!QueueEmpty(Q)&&!StackFull1(S1))
{
DeQueue(&Q,&car_C);
if(!StackFull1(S1))
{
Push1(&S1,car_C);
}
}
printf("是否继续?1 继续 0退出");
scanf("%d/n",chioce1);
break;
case'E':
break;
}
return 0;
}
int InitStack(SqStack *S1)
{
(*S1).fcar=(car1 *) malloc(STACK_INIT_SIZE * sizeof (car));
if (!(*S1).fcar) exit (OVERFLOW);
(*S1).lcar=(*S1).fcar;
(*S1).stacksize=STACK_INIT_SIZE;
return OK;
}//构建空栈为停车场
int StackEmpty1(SqStack S1)
{
if (S1.fcar==S1.lcar)
return OK;
}
int StackFull1(SqStack S1) /*查看停车厂是否已满*/
{
if(S1.lcar-S1.fcar>=STACK_INIT_SIZE) /*若栈顶与栈底之差大于等于栈的最大存储空间,则已满*/
return OK;
else
return ERROR;
}
int Push(SqStack *S1,car e)
{
if ((*S1).lcar -(*S1).fcar >=(*S1).stacksize )
{
(*S1).fcar =(car *)realloc((*S1).fcar,((*S1).stacksize +STACKINCREMENT)*sizeof (car));
if (!(*S1).fcar )exit (OVERFLOW);
(*S1).lcar =(*S1).fcar+(*S1).stacksize ;
(*S1).stacksize +=STACKINCREMENT;
}
*(*S1).lcar ++=e;
return OK;
}//停入停车场
int Pop(SqStack *S1,car *e)
{
if((*S1).lcar ==(*S1).fcar)
return ERROE;
else
e=*--(*S1).lcar;//先把S.lcar减减,再减的S.lcar指针赋值为E
return OK;
}//出主停车场
/*``````````````````````````停车场````````````````````````````*/
/*````````````````````````````````备用停车道````````````````````````*/
int InitQueue(LinkQueue *Q)
{
(*Q).front=(*Q).rear=(QueuePtr)malloc(sizeof(QNode));
if(!(*Q).front)exit(OVERFLOW);
(*Q).front->next=NULL;
return OK;
}//构建一条临时车道
int EnQueue(LinkQueue *Q, car1 e)
{
QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode));
if(!p)exit(OVERFLOW);
p->date=e;
p->next=NULL;
Q->rear->next=p;
Q->rear=p;
}//??
int DeQueue(LinkQueue *Q,car1 *e)
{
QueuePtr p;
if (Q->front==Q->rear)
return ERROR;
p=Q->front->next;
*e=p->date;
Q->front->next=p->next;//??
if (Q->rear==P)
Q->rear=Q->front;
free(p);
return OK;
}
int QueueEmpty(LinkQueue Q)
{
if (Q.front==Q.rear)
return OK;
else
return ERROR;
}
有个 “执行 cl.exe 时出错”
是不是逻辑有错误?
--------------------Configuration: 停车场 - Win32 Debug--------------------
C:/Documents and Settings/Administrator/桌面/学习资料/第三学期课程设计/完成作业/停车场/停车场.c(37) : error C2061: syntax error : identifier 'Queueptr'
C:/Documents and Settings/Administrator/桌面/学习资料/第三学期课程设计/完成作业/停车场/停车场.c(38) : error C2059: syntax
执行 cl.exe 时出错.
停车场.exe - 1 error(s), 0 warning(s)
相关文章推荐
- 错误集合 ··
- c语言程序的一个错误,需要注意下的,大家都可以看看哦
- 一个自己实现的strstr 字符串查找函数,大家看看有什么错误和改进的地方
- 今天给大家说一个我做UI特效的小技巧,先来看看效果吧(录屏有点渣,所以质量有折扣)
- 1007. 素数对猜想 (20):素数筛法 8.21Version2.0留有疑惑···段错误
- 赫赫有名的杰克·韦尔奇作为通用电气的CEO而享誉全球,他的管理特点就浓缩在这些言语之中,大家可以带着这些观点去读读他的自传和《赢》,吐血推荐哈。
- 大家看看一道面试题,我感觉有错误
- 软考复习中,复习资料中有很多错误,写出来给自己和大家看看。
- 应聘时漂亮的回答···要跳槽的求职的都来看看
- 配置安装Apache主服务发生错误:"(OS 5)拒绝访问。 : AH00369: Failed to open the Windows service manager, perh······ "
- SQLServer错误目录(持续更新中···)
- 毕业找工作·送给大家一些漂亮的个人简历模板
- 关于链表的,有一些错误老是解决不了,大家帮忙看看
- 我在网易ASP专栏拷了份ASP源代码下来,不能运行,提示好像是每行都有错误,很不能理解!请大家帮我看看,谢谢!
- 急!!!SSH开发,报出错误,大家帮忙看看吧。。
- 第8章 编译·运行·错误信息
- 比尔·盖茨:大家最好读读这六本书
- 看看比尔·盖茨在关注什么
- 大家帮我看看我在弄spring得aop编程一直出现错误找不到
- httpd.conf最新中文版 大家仔细看看吧! 我个人认为虽然早看过了。偶尔再看一遍.也许还有点启发!