求英雄帮忙检查一下!
本人这学期选了c语言版的数据结构这门课,很不幸地学得很差,这是书上的一道题,题目是:对于输入的任意一个非负十进制整数,打印输出与其相等的八进制数红色的部分是编译时出现错误的地方,
问题总共是两个:
C:\Users\ACER\Desktop\Debug\1.cpp(10) : error C2143: syntax error : missing ';' before '<class-head>'
C:\Users\ACER\Desktop\Debug\1.cpp(10) : fatal error C1004: unexpected end of file found
好痛苦!求指教!
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
#include<stack>
#define STACK_INIT_SIZE 20;
#define STACKINCREMENT 10;
typedef int SElemType
typedef struct
{ SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack S)//构造一个空栈
{
S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!S.base)exit(OVERFLOW)//存储分配失败
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}//InitStack
Status Push(SqStack S,SElemType e)//插入元素e为新的栈顶元素
{
if(S.top-S.base>=S.stacksize)//栈满,追加存储空间
{S.base=(SElemType *) realloc (S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));
if (!S.base) exit (OVERFLOW);//存储分配失败
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}//Push
Status Pop(SqStack S,SElemType b)//若栈不空,则伸出S的栈顶元素,用b返回其值OK,否则返回ERROR
{
if (S.top==S.base)return ERROR;
b=*--S.top;
return OK;
}//Top
Status StackEmpty(SqStack S) //判断栈是否为空
{
if(S.top==S.base)
return TRUE;
else return FALSE;
} //StackEmpty
void conversion()//对于输入的任意一个非负十进制整数,打印输出与其相等的八进制数
{
InitStack(S);
scanf("%d",&N);
while(N)
{Push(S,N % 8);
N=N/8;}
while(!StackEmpty(s))
{Pop(S,e);
printf("%d",e);}
}//conversion
main()
{void conversion;
return 0;
}