标题:求英雄帮忙检查一下!
只看楼主
hbiz
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-11-4
结帖率:50%
已结贴  问题点数:20 回复次数:5 
求英雄帮忙检查一下!
本人这学期选了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;
}

搜索更多相关主题的帖子: 八进制 before include Desktop unexpected 
2013-11-04 19:39
LiuFuMinH
Rank: 2
等 级:论坛游民
帖 子:12
专家分:45
注 册:2013-10-27
得分:10 
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
#include<stack>
#define STACK_INIT_SIZE 20
#define STACKINCREMENT 10
#define TRUE  1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2

typedef int Status;
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()//对于输入的任意一个非负十进制整数,打印输出与其相等的八进制数
{   int N,e;
    SqStack S;
    InitStack(S);
    scanf("%d",&N);
    while(N)
    {Push(S,N % 8);
    N=N/8;}
    while(!StackEmpty(S))
    {Pop(S,e);
    printf("%d",e);}
}//conversion

int main()
{void conversion();
conversion();
return 0;
}





你这小错误太多了,n多没定义的变量就用了,帮你改过来了,自己对照看看,不过貌似语句虽然没错误了但是运行结果有问题
2013-11-04 21:51
LiuFuMinH
Rank: 2
等 级:论坛游民
帖 子:12
专家分:45
注 册:2013-10-27
得分:0 
你是大二的学生么
2013-11-04 21:52
LiuFuMinH
Rank: 2
等 级:论坛游民
帖 子:12
专家分:45
注 册:2013-10-27
得分:0 
回复 2楼 LiuFuMinH
具体不懂的话可以加我qq,我也是这个学期学的    992975220
2013-11-04 21:54
hbiz
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-11-4
得分:0 
回复 2楼 LiuFuMinH
谢谢了!
2013-11-04 21:59
爱编聪聪
Rank: 2
等 级:论坛游民
帖 子:26
专家分:20
注 册:2013-9-16
得分:10 
你那第一个错误error C2143: syntax error : missing ';' before '<class-head>'
是因为typedef int SElemType后面没加分号
2013-11-04 23:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-423037-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021939 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved